Update notification is ephemeral — the status line that announces it gets overwritten by the next UI action #78
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reported from the field: running v1.2 against a repo with v1.3.0 published produced no update prompt.
Cause
The startup check announces itself into the shared status label and nothing else:
There are 21 other
self.status.setText(...)/_update_status(...)call sites inbcc.py. The check runs off-thread and lands whenever the network returns — typically a second or two after the window opens, i.e. right as the user starts clicking. Selecting a server, saving, filtering, or any refresh overwrites the notice. The user gets a message that flashes and disappears, or never appears at all if it lands before the first refresh.This is exactly the bug fixed for the MSIX warning in #35 ("MSIX warning is ephemeral — wiped by the next status-bar update"), which got a persistent banner. The same fix was never applied to the update notice, which has the same lifetime problem and the same requirement: it must persist until acted on.
Suggested fix
Reuse the
QLabel#warnBannermechanism the MSIX fix introduced — a persistent, dismissible banner rather than a status-line write. It should carry the action with it (a link or button straight to the release page), not tell the user to navigate somewhere else.Worth checking whether any other transient-but-important message is written to the status line; this is now the second instance of the pattern, so a small helper for "persistent notice" would stop it recurring a third time.
Tests
The notice survives a subsequent
_update_status()/_refresh_tables()call.