Skip to content

馃悰 Stabilize device login and poll terminal authorization - #377

Merged
Robdel12 merged 1 commit into
mainfrom
rd/device-login-lifecycle
Oct 20, 2026
Merged

Robdel12 merged 1 commit into
mainfrom
rd/device-login-lifecycle

Conversation

@Robdel12

@Robdel12 Robdel12 commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Dashboard sign-in can create a new device code on every render, preventing users from completing authorization. Start each flow from an explicit action, keep its code stable while pending, and ignore responses from dismissed attempts. Guard duplicate initiation and status checks, and make denial, expiry and retry behavior explicit.

Share device-response normalization and typed error handling across terminal login and the dashboard server. Preserve supported field aliases, throttling status and retry timing, keep credentials in Node, and authenticate server-side sign-out revocation.

Terminal login now checks automatically for up to two minutes. Interactive terminals show the next check and accept Enter for an early check; server cooldowns remain enforced. Closed stdin works for agents, stuck browser launchers fall back to the displayed URL, and successful login no longer shows a misleading access-token expiry countdown.

The complete Node suite passed with 2,002 tests and six existing skips. All 53 reporter browser workflows passed with five existing mobile skips; lint, formatting, build and published type checks passed. Real browser authorization, saved sessions, refresh, denial/retry, sign-out revocation and terminal countdown/Enter behavior were also verified. Regression coverage uses real CLI subprocesses, HTTP and disk persistence, controlled time, and browser race scenarios.

GitHub checks also passed on Node 22 and 24, including builds/types, reporter and TUI workflows, and every SDK E2E job. The inspected TUI visual differences are runner hostname and actual Node version. Nonblocking visual review requests remain for six new Vitest baselines and unchanged Ember/Ruby fixtures; those private build images require authenticated review.

Related to #376.

@vizzly-testing

Copy link
Copy Markdown

Vizzly - Visual Test Results

CLI Reporter - Waiting for build

No builds received yet for this pull request.

CLI TUI - 3 changes need review
Result Count Review
Meaningful diffs 3 Required - inspect changed screenshots
Meaningful diffs needing review (3)

vizzly-invalid-command 路 1202脳578 路 0.2% diff

vizzly-invalid-command

vizzly-doctor 路 1202脳578 路 0.2% diff

vizzly-doctor

vizzly-tdd-help 路 1202脳578 路 0.2% diff

vizzly-tdd-help

Review changes


rd/device-login-lifecycle 路 1195416d

@Robdel12
Robdel12 merged commit 2f79a4f into main Oct 20, 2026
26 of 30 checks passed
@Robdel12
Robdel12 deleted the rd/device-login-lifecycle branch October 20, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant