-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Control UI keeps expired pairing QR cards scannable #98039
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Summary
The Control UI can continue to render an old
/pair qrassistant card as a scannable QR after its setup/bootstrap token has expired. Users who scan that stale card in the mobile app are sent into the onboarding/auth flow only to receiveSetup code expired.Real environment observed
2026.6.11-beta.2/pair qr, then scan the displayed QR from the iOS mobile appSetup code expired/The setup QR or bootstrap token is no longer valid.User-visible symptom
A stale QR remains visually valid in the Control UI chat history. The user has no visible indication that the card should not be scanned anymore, so the mobile app appears broken even though the Gateway is correctly rejecting an expired bootstrap token.
Source-level repro on current main
openclaw_pairing_qrblock withimage_url,alt, and anexpiresAtMstimestamp in the past.image_urlinto the renderable image list.Expected behavior
Expired pairing QR cards should not render as scannable QR images. The Control UI should make the stale state obvious and tell the user to run
/pair qragain for a fresh setup code.Actual behavior
The expired card still displays the QR image. Scanning it reaches the mobile app authentication step and fails with
Setup code expired.Scope / non-goals
Proposed fix
Use the existing
expiresAtMsfield onopenclaw_pairing_qrcontent blocks in the Control UI renderer: suppress expired QR images and render a small expired-state notice telling the user to run/pair qragain.