Skip to content

Desktop updater always prompts to install latest version even when already up-to-date #37977

Closed as not planned

Description

@dimasb69

Description

The desktop app always shows an "update available" notification on every launch, even when already running the latest version. This happens regardless of whether the update was applied via:

  • Installing the .deb package manually
  • Clicking "Install and Restart" from the in-app update notification

After updating, the notification immediately reappears on the next launch.

After installing an update (or when already on the latest version), the updater should report "You're up to date" and not show the notification again.

Actual Behavior

The updater perpetually reports an update is available, creating an infinite update loop.

Technical Analysis

I reviewed the updater code and identified a likely issue in packages/desktop/src/main/updater-controller.ts.

The check() function (line ~55) compares:

if (!result?.isUpdateAvailable || !version || version === input.currentVersion) {
  await input.persistence.clear()
  return transition({ status: "up-to-date" })
}

electron-updater (v6.8.9) appears to report isUpdateAvailable: true even when the installed version already matches the latest release. Possible causes:

  1. Version string mismatch between what the .deb package reports via app.getVersion() and what the GitHub Releases API returns for the latest channel
  2. Channel configuration issue - autoUpdater.channel = "latest" combined with allowDowngrade = true may cause unexpected comparison behavior
  3. electron-updater caching - update metadata may not be properly invalidated after installing an update

Environment

  • OS: Linux (Debian/Ubuntu-based)
  • Package: .deb
  • OpenCode Desktop version: [YOUR_VERSION_HERE]
  • Electron version: 42.3.3 (from package.json)
  • electron-updater version: 6.8.9 (from package.json)

Additional Context

  • The start() method in updater-controller.ts does clear persistence if ready.version === currentVersion, but the issue occurs before that — checkForUpdates() already returns isUpdateAvailable: true
  • The auto-check interval is set to 10 minutes (index.ts), which means the notification can reappear even mid-session
  • This may also affect .rpm and .AppImage packages on Linux, and potentially Windows/macOS builds as well

Plugins

Opencode Desktop

OpenCode version

1.18.4

Steps to reproduce

  1. Launch OpenCode Desktop
  2. Observe the "update available" notification/dialog
  3. Click "Install and Restart" OR install the latest .deb package and relaunch
  4. The same "update available" notification appears again

Screenshot and/or share link

Image

Operating System

Ubuntu 24.04.4 LTS

Terminal

OpenCode Desktop!

Activity

  1. github-actions commented on Jul 20, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of an existing issue. Please check:

    The root cause may differ (RPM vs .deb, Fedora vs Ubuntu), but the observed behavior is identical. It may be worth checking whether the fix or workaround from that issue applies here as well.

  2. github-actions commented on Sep 19, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions