Skip to content

Desktop updater: keep checking after a declined update, surface errors, fix install-on-quit leak#1305

Merged
RhysSullivan merged 1 commit into
mainfrom
rs/updater-fixes
Jul 4, 2026
Merged

Desktop updater: keep checking after a declined update, surface errors, fix install-on-quit leak#1305
RhysSullivan merged 1 commit into
mainfrom
rs/updater-fixes

Conversation

@RhysSullivan

@RhysSullivan RhysSullivan commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes five updater state-machine issues:

  • A declined staged update no longer stops the 4 hour auto-check, including the incident where v1.5.27 was staged, "Later" was clicked, and the v1.5.28 notification was suppressed until restart.
  • Manual "Check for Updates" now checks upstream before re-prompting a staged version.
  • Updater errors transition active available/downloading status to a renderer-visible error state.
  • Fatal startup recovery restores autoInstallOnAppQuit=false after reset data and retry.
  • quitAndInstall stops the supervised monitor before restart.

Re-prompt policy

  • Automatic boot and interval checks keep running while a version is staged.
  • Automatic prompts are suppressed for the same declined version.
  • If a newer version stages, the automatic prompt fires again.
  • Manual checks re-check upstream first, then re-prompt the staged version only if no newer version is taking over.

Unit coverage

  • Declined v1.5.27, then v1.5.28 arrives and auto prompts.
  • Declined v1.5.27, then interval checks continue without a same-version prompt.
  • Manual check with a staged version re-checks and re-prompts when no newer version wins.
  • Download error moves active status to error and leaves idle idle.
  • Fatal recovery plan restores autoInstallOnAppQuit on reset and retry.

Verification

  • bun run --cwd apps/desktop test -- src/main/updater-state.test.ts
  • bun run typecheck
  • bun run lint
  • bun run format:check

Behavioral updater verification is deferred. These flows need real GitHub releases; this PR does not launch the Electron app on the host.

Stack

  1. e2e: repro stale launchd registration slow-boot #1297
  2. Desktop boot: show window immediately, self-heal stale launchd state, fix boot-path latency #1303
  3. Desktop updater: keep checking after a declined update, surface errors, fix install-on-quit leak #1305 👈 current

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing 9f93d69 Commit Preview URL

Branch Preview URL
Jul 04 2026, 05:40 AM

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud 9f93d69 Jul 04 2026, 05:41 AM

@pkg-pr-new

pkg-pr-new Bot commented Jul 4, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1305

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1305

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1305

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1305

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1305

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1305

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1305

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1305

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1305

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1305

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1305

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1305

executor

npm i https://pkg.pr.new/executor@1305

commit: b33281c

@RhysSullivan RhysSullivan force-pushed the rs/desktop-boot-fixes branch from 22ac04e to 4121d9a Compare July 4, 2026 05:33
@RhysSullivan RhysSullivan marked this pull request as ready for review July 4, 2026 05:34
@RhysSullivan RhysSullivan force-pushed the rs/desktop-boot-fixes branch from 4121d9a to 12e7d75 Compare July 4, 2026 05:34
@RhysSullivan RhysSullivan changed the base branch from rs/desktop-boot-fixes to main July 4, 2026 05:34
@RhysSullivan RhysSullivan merged commit 13c1d21 into main Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant