fix(web): deslop, make connect and pairing pages look like the app - #10027
fix(web): deslop, make connect and pairing pages look like the app#10027flamboh wants to merge 6 commits into
Conversation
734039e to
04c5ef1
Compare
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This is a cross-cutting redesign of production pairing and CLI authorization surfaces, including new callback handling and an account sign-out action, rather than only a visual cleanup. Authentication-sensitive files and one-time authorization-code flows are affected, so human review is needed. You can add or adjust custom eligibility rules. Learn more. |
The CLI-connect authorize and callback pages, the three pairing pages, and the server's loopback completion page used a gradient hero banner, tracked caps eyebrows and labels, and glass-blurred cards that matched nothing else in the product. All of them now share one flat card styled like the app's dialogs, with the sidebar's wordmark row and release-channel pill in place of the banner. Copy is trimmed and each connect state says what it knows: which flow the terminal is in, the account being linked, why a link is incomplete, and why sign-in was refused, read from the OAuth error parameters Clerk sends back. The pairing form keeps a reserved line for its error so the buttons no longer jump. Made with Claude Fable 5.1 in Claude Code.
48e56f6 to
9cb3146
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 4 remain after this review. 📝 WalkthroughWalkthroughThe change adds shared Code branding and environment pills, consolidates pairing surfaces, updates CLI authorization states and callback error handling, and redesigns the loopback authorization completion page. ChangesAuthentication branding and flows
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to The connect and pairing surfaces now use shared branding and clearer callback, cancellation, sign-out, and retry states. No concrete current-head merge-blocking risk remains. Sequence Diagram(s)sequenceDiagram
participant CLI
participant Browser
participant ConnectCliCallbackSurface
participant Clerk
CLI->>Browser: Open authorization flow
Browser->>ConnectCliCallbackSurface: Return callback URL
ConnectCliCallbackSurface->>ConnectCliCallbackSurface: Read callback error
ConnectCliCallbackSurface->>Clerk: Sign out on user action
Clerk-->>ConnectCliCallbackSurface: Complete sign-out
ConnectCliCallbackSurface-->>CLI: Display or copy authorization code
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Note
🤖 GPT-6 on behalf of Oliver
ELI5
Connect and pairing pages now match the app and explain what to do next.
Problem
The authorization and pairing pages used decorative banners and cards unlike the rest of the app. Failure messages gave little help, and pairing errors had no accessible association with the input.
Fix
UI Changes
Before
After
Validation: all eight
connectCliAuthtests, web typecheck, and targeted lint and formatting checks pass. The PR retains its original screenshots; this follow-up did not run browser verification. Clerk's production sign-in flow remains unverified locally.Implemented with Claude Fable 5.1 in Claude Code. Reviewed and updated with GPT-6 and GPT-5.6 Luna in Codex.
Note
Redesign CLI auth and pairing pages into shared card layout
AuthSurfaceShellandAuthSurfaceMessageacross connect, pairing, and hosted pairing pages in AuthSurfaceShell.tsx and PairingRouteSurface.tsxT3CodeWordmarkandEnvironmentStagePillcomponents, adopted by the sidebar brand and the server-side loopback authorization HTML in cliAuthHtml.tsreadConnectCliCallbackErrorsurfaces theerrorquery param, andConnectCliCallbackSurfacedistinguishesaccess_deniedcancellations from other failures, adds a sign-out action, and shows a 10-minute terminal wait notearia-describedbyandaria-invalidwith a persistent live error region instead of a conditional error boxMacroscope summarized c1649f9.
Summary by CodeRabbit
New Features
Bug Fixes
Style