Skip to content

fix(update): activate new versions without interrupting sign-in - #391

Merged
Ed1s0nZ merged 2 commits into
AIPentest:mainfrom
Sycun:codex/seamless-one-click-update
Nov 12, 2026
Merged

Ed1s0nZ merged 2 commits into
AIPentest:mainfrom
Sycun:codex/seamless-one-click-update

Conversation

@Sycun

@Sycun Sycun commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Clicking One-Click Update starts the build immediately. On macOS and Linux, an installation running from its installed binary switches to the replacement in place after a successful build. The browser waits for the new process to respond, then reloads the update page automatically.

The old process passes token digests and their original expiration times to the replacement through a private file descriptor. The new process resolves permissions from the current RBAC store. Expired and revoked sessions cannot be restored. The first upgrade from an older build that cannot pass sessions may still require one sign-in.

Validation

  • macOS production backport: one browser click rebuilt and activated the replacement. The browser reloaded automatically, the session validation endpoint returned HTTP 200, and there was no second login.
  • PR branch: Go race tests for update, app, config, handlers, server, workflow and authentication sessions, plus go build ./... and all 333 frontend tests.
  • The broader security race run also exposed a race in TestNonInteractiveStdinReadBlocksWithoutRedirect. It reproduces on upstream main. The new CI step runs the authentication session tests.

(cherry picked from commit 9ed4e19f5ea600e185771368c540025df80b11bf)
(cherry picked from commit 5d98f5d8057f788dea8299dceffb540cf67271cc)
@Ed1s0nZ
Ed1s0nZ merged commit 13abffb into AIPentest:main Nov 12, 2026
9 checks passed
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.

2 participants