Repository navigation
fix(web): sign-out clears the connection catalog used by the UI - #20423
burnmandont wants to merge 3 commits into
Conversation
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — This focused fix moves the existing atom registry boundary so sign-out cleanup removes account-owned Relay connections from the same catalog rendered by the UI, with a dedicated regression test. Because it changes managed authentication/sign-out lifecycle behavior in production, human review is warranted. You can add or adjust custom eligibility rules. Learn more. |
|
Taking over this one as maintainer for batch ssh-relay-remote-06. I will preserve the contributor commits, verify the auth/provider boundary against current main, and add independent tests and adversarial review. Thanks @burnmandont for identifying the mismatched connection-catalog registry. |
|
Thanks @burnmandont for identifying the sign-out catalog mismatch. #24974 ( |
Signing out of T3 Connect could clear a second connection runtime while the routed UI kept displaying account-owned Relay environments. The app registry provider now wraps the optional managed-auth shell and routed app together, so cleanup updates the catalog the UI reads. Independently authenticated direct routes remain available.
Maintainer takeover of @burnmandont’s original contribution, preserving the contributor commits and merging current main. The one-off bootstrap test was consolidated into the existing managed-auth suite: 3 tests across 2 files (186 lines) → 3 tests in 1 file (156 lines). The regression boots the production provider tree, signs out, and observes Relay removal while retaining a direct entry. It fails against main’s provider placement. The focused auth and real registry suites pass together: 48 tests; scoped web typecheck, touched lint, formatting and whitespace checks pass. Auth suite output. Independent full-diff Claude Opus 5.5 and Codex GPT-6 Sol reviews found no blockers in one round.
Verified in headless Linux Chromium against isolated worktree data: actual web bootstrap, auth cleanup, runtime catalog and Connections settings. A test-only Clerk provider simulates sign-out; Relay and direct entries are synthetic and intentionally offline. Both captures show the signed-out state at 1280×800 with identical data and scroll. The browser uses an injected fallback font because the container lacks the app font. Baseline production sources are from main
1451e7cb23; after is current headf6d7d750b3. No fixture or evidence assets are committed.Before — signed out, Relay entry remains
After — signed out, Relay removed and independent direct entry retained
Sign-out recording on the rebuilt head
Live OAuth, account switching with real accounts, relay/tunnel connectivity, Electron desktop, macOS, Windows, iOS and Android were not verified. Browser and Electron shell selection and cloudless startup were reviewed; mobile already owns its separate outer registry boundary. Macroscope requires human approval for the managed-auth lifecycle change. This PR remains unmerged.
Implementation: Codex GPT-6.1 Sol; tests: Codex GPT-6 Astra (high); review: Claude Opus 5.5 and Codex GPT-6 Sol, through T3 Code delegated tasks. Integrated and verified in T3 Code using the Codex harness.