Repository navigation
Conversation
This was referenced Oct 13, 2026
iuyo5678
force-pushed
the
feat/local-pairing-05-extension-auth
branch
from
October 13, 2026 13:38
2670f22 to
32dff12
Compare
iuyo5678
added this pull request to stack #433
October 13, 2026 13:52
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The extension now verifies the local daemon before sending its business handshake. Credentials and rotation candidates live in extension-owned IndexedDB with strict, compare-and-write transactions. A separate verifier activates new links without disturbing the current connection; interrupted commits recover using the saved candidate and a fresh transcript.
Adds authentication gating and bounded retries to the transport, sender-validated popup operations, migration eligibility for upgrades before 0.4.0, explicit skip controls, and permanent migration retirement after the first successful pairing. Extension version is 0.4.0; 0.4.1 is the planned compatibility exit. Switching to local retains remote authorization, and remote renewals cannot reselect an inactive remote connection.
Validation: extension unit/component suite passed (2,607 tests, 235 environment-specific skips); added remote-renewal race regression passed; typecheck, lint and production build passed. Real Rust daemon tests passed for activation, reconnect, rotation, business handshake and revocation. A separately built main-branch 0.3.2 binary passed the migration-only legacy fallback test. The Chrome/Edge cross-platform release matrix still requires real-device validation.
Recovery detail: a verifier keeps a persisted candidate after an ambiguous commit reply, because deleting it could lose the only valid replacement key. Definite pre-commit rejection discards the staged credential.
Concurrent activation is covered by regressions: if the main connection advances the credential while verification opens, the verifier checks the updated key against a fresh server proof. The browser video fixture pairs the production extension before reconnecting its business transport.
Stack: 5/9. Base: #427.
Stack order: #424 → #425 → #426 → #427 → #428 → #429 → #430 → #431 → #432. Each PR targets the preceding branch; PR8 and PR9 retain their release prerequisites.