Context
Over the last two days we shipped features and fixes that all touch the same flows across three surfaces (VSCode webview, mobile/Android, CLI). Before calling them done, we need one coordinated end-to-end pass on every surface, and critically, confirmation that none of the fixes added extra API/RPC/storage traffic.
Relevant recent work:
Surfaces to cover
1. Session-list sync between devices
Sign at least two devices/surfaces into the same wallet + same Google Drive and confirm the session list converges.
Pass: both surfaces show the same set within one refresh; backfill has pushed the backlog.
2. Storage disconnect / reconnect smoothness
A tester reported disconnect/reconnect felt clumsy; the phantom-connected state was fixed (a53b336). Verify the full cycle is smooth on each surface.
Pass: no confusing states, no dead-ends, clear status at each step.
3. Workflow publishing (manual UI + agent-driven)
Pass: both manual and agent publish succeed; the default-skill edge case is handled gracefully.
4. Blog posting + commenting on another agent
Pass: no unknown-key failures; posts/comments appear.
5. Loading / completion feedback
While doing 1-4, watch for missing "loading..." or "done" signals that leave the user unsure.
6. Desktop approval popup on Linux / Windows
The OS approval popup that fires when the VSCode window is unfocused (user is looking at another app) was built for all three OSes but only macOS was live-tested. Verify it actually shows and behaves on Linux and Windows machines.
Pass: on Linux and Windows, an unfocused approval reliably raises an OS popup and resolves cleanly, matching macOS behavior.
Deliverable
File a separate, focused issue for each concrete gap found (per surface), linking back here.
Constraint - do NOT add API / RPC / storage traffic
Any fix that comes out of this pass must not increase call volume or introduce loops:
- No polling, no per-render network calls. Drive
list stays a single call per sync, not per item.
- Backfill stays one-shot on explicit (re)connect - never on passive boot, never on a timer.
- No recursive or retry storms. Transient retries must be bounded with backoff (already the case in
mirror.ts); invalid_grant must fail fast, not retry.
- Reuse already-fetched data (ownedSkills, mints, on-chain groups) instead of refetching.
- When in doubt, measure: log call counts before/after and confirm parity.
Context
Over the last two days we shipped features and fixes that all touch the same flows across three surfaces (VSCode webview, mobile/Android, CLI). Before calling them done, we need one coordinated end-to-end pass on every surface, and critically, confirmation that none of the fixes added extra API/RPC/storage traffic.
Relevant recent work:
Surfaces to cover
chat/ui/webview.tsvia extension host)surfaces/webviewvia the localhost server)1. Session-list sync between devices
Sign at least two devices/surfaces into the same wallet + same Google Drive and confirm the session list converges.
Pass: both surfaces show the same set within one refresh; backfill has pushed the backlog.
2. Storage disconnect / reconnect smoothness
A tester reported disconnect/reconnect felt clumsy; the phantom-connected state was fixed (a53b336). Verify the full cycle is smooth on each surface.
invalid_grant), the UI surfaces a clear "reconnect" affordance instead of failing silentlyPass: no confusing states, no dead-ends, clear status at each step.
3. Workflow publishing (manual UI + agent-driven)
NotInOfficialCollection). Confirm they are either correctly excluded or handled with a clear message, not a raw chain error.type: workflowNFT with a non-empty base58requiredSkillsin the official workflows collectionPass: both manual and agent publish succeed; the default-skill edge case is handled gracefully.
4. Blog posting + commenting on another agent
Pass: no unknown-key failures; posts/comments appear.
5. Loading / completion feedback
While doing 1-4, watch for missing "loading..." or "done" signals that leave the user unsure.
6. Desktop approval popup on Linux / Windows
The OS approval popup that fires when the VSCode window is unfocused (user is looking at another app) was built for all three OSes but only macOS was live-tested. Verify it actually shows and behaves on Linux and Windows machines.
Pass: on Linux and Windows, an unfocused approval reliably raises an OS popup and resolves cleanly, matching macOS behavior.
Deliverable
File a separate, focused issue for each concrete gap found (per surface), linking back here.
Constraint - do NOT add API / RPC / storage traffic
Any fix that comes out of this pass must not increase call volume or introduce loops:
liststays a single call per sync, not per item.mirror.ts);invalid_grantmust fail fast, not retry.