Skip to content

Update error banner has no dismiss button — stuck on screen when offline #3699

@Lemon1013

Description

@Lemon1013

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

  1. Disconnect from the network (or block GitHub access)
  2. Launch Reasonix desktop app
  3. The update check fails: update: fetch manifest: Get "https://github.com/esengine/reasonix/releases/latest/download/latest.json": EOF
  4. 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>
  );

Metadata

Metadata

Assignees

No one assigned

    Labels

    desktopWails desktop app (desktop/**)updaterAuto-update / installer / release packaging

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions