ci(smoke): wait for the keychain strip before judging #105 step 2 #47

Merged
jared merged 1 commits from ci/smoke-keychain-race into main 2026-10-26 03:19:04 -04:00
Owner

Problem: the #105 check stopped at the first sighting of "tokens mirrored, still in localStorage". Step 2 mirrors, reads back and then strips, all within one boot, so a step-2 build was reported as "before step 2" (n/a) when the check polled during that gap.

  • It also left residue: cleanup ran while the app was still migrating, which could leave a fake signed-in session on the runner. The next run then booted to #/home/ and failed "boots to the login screen" (run 2907).

Fix: wait up to 30 s for tokensIn === 'keychain', and only report n/a if the tokens are still mirrored-only after that.

Verified on the published nightly (Tauri 2.12.5, from #46):

  • Run 2907: the #105 check now passes. Tokens moved to Credential Manager, localStorage keeps a token-free stub, and the app is still signed in after a restart. The login-screen check failed on the residue from the old run.
  • Run 2908: clean, every check passes.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

**Problem:** the #105 check stopped at the first sighting of "tokens mirrored, still in localStorage". Step 2 mirrors, reads back and then strips, all within one boot, so a step-2 build was reported as "before step 2" (n/a) when the check polled during that gap. - **It also left residue:** cleanup ran while the app was still migrating, which could leave a fake signed-in session on the runner. The next run then booted to `#/home/` and failed "boots to the login screen" (run 2907). **Fix:** wait up to 30 s for `tokensIn === 'keychain'`, and only report n/a if the tokens are still mirrored-only after that. **Verified on the published nightly** (Tauri 2.12.5, from #46): - **Run 2907:** the #105 check now **passes**. Tokens moved to Credential Manager, localStorage keeps a token-free stub, and the app is still signed in after a restart. The login-screen check failed on the residue from the old run. - **Run 2908:** clean, every check passes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-26 03:18:55 -04:00
Step 2 mirrors the tokens, reads them back, then strips them from
localStorage in the same boot. The check stopped at the first "mirrored"
sighting, so a step-2 build could be reported as "before step 2" (n/a).
Wait up to 30 s for tokensIn === keychain; only call it n/a if it is still
mirrored-only after that.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared merged commit 1fbc1dcb8f into main 2026-10-26 03:19:04 -04:00
Sign in to join this conversation.