Description
When the desktop app starts without network connectivity, the auto-update check fails and shows an error banner at the top of the window. This banner cannot be dismissed — it only has a "Retry" button, with no close/dismiss option. The banner persists across all tabs and sessions until a network connection is available.
Steps to Reproduce
- Disconnect from the network (or block GitHub access)
- Launch Reasonix desktop app
- The update check fails:
update: fetch manifest: Get "https://github.com/esengine/reasonix/releases/latest/download/latest.json": EOF
- Error banner appears with no way to close it
Expected Behavior
The error banner should have a dismiss/close button, like the "update available" banner already does. Network failures are transient and shouldn't force a persistent UI element on the user.
Actual Behavior
Only a "Retry" button is shown. The user is forced to either retry indefinitely or stare at the error.
Suggested Fix
In desktop/frontend/src/components/UpdateBanner.tsx, the error case should include a dismiss button similar to the available case:
case "error":
return (
<div className="banner banner--error">
<span className="banner__msg">{t("updater.failed", { msg: status.message })}</span>
<span className="banner__spacer" />
<button className="btn btn--small" onClick={() => void check()}>
{t("updater.retry")}
</button>
<button className="btn btn--small" onClick={() => setStatus({ kind: "idle" })}>
{t("updater.dismiss")}
</button>
</div>
);
Description
When the desktop app starts without network connectivity, the auto-update check fails and shows an error banner at the top of the window. This banner cannot be dismissed — it only has a "Retry" button, with no close/dismiss option. The banner persists across all tabs and sessions until a network connection is available.
Steps to Reproduce
update: fetch manifest: Get "https://github.com/esengine/reasonix/releases/latest/download/latest.json": EOFExpected Behavior
The error banner should have a dismiss/close button, like the "update available" banner already does. Network failures are transient and shouldn't force a persistent UI element on the user.
Actual Behavior
Only a "Retry" button is shown. The user is forced to either retry indefinitely or stare at the error.
Suggested Fix
In
desktop/frontend/src/components/UpdateBanner.tsx, theerrorcase should include a dismiss button similar to theavailablecase: