Skip to content

feat(claude): reauthenticate failed V2 threads - #9179

Closed
flamboh wants to merge 362 commits into
pingdotgg:t3code/codex-turn-mappingfrom
flamboh:t3code/claude-reauthenticate-chat
Closed

flamboh wants to merge 362 commits into
pingdotgg:t3code/codex-turn-mappingfrom
flamboh:t3code/claude-reauthenticate-chat

fix(claude): keep login input open and bound process cleanup

04bf9cc
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - UI Consistency succeeded Sep 6, 2026 in 3m 20s

UI Consistency: No issues found

No UI consistency violations found in the in-scope changed files.

Reviewed:

  • apps/web/src/components/chat/ClaudeReauthenticationDialog.tsx — composes Dialog, DialogPopup/Header/Panel/Footer, Button, Input, Alert/AlertDescription, and Spinner from components/ui; no rebuilt controls, no primitive geometry/color overrides (only w-full, max-w-md, size-*), no inline styles or new global CSS. The success surface now renders through Alert variant="success", addressing the earlier finding.
  • apps/web/src/components/chat/ThreadErrorBanner.tsx — the new onAction slot renders AlertAction + Button, consistent with the existing banner composition.
  • apps/web/src/components/ChatView.tsx — changed lines are state/handler wiring and prop passing; no styling introduced.

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/ui-consistency.md
More information about how Check Run Agents work can be found in our Help Center.

Scope: apps/web/src/**/*.tsx and apps/web/src/**/*.css, excluding *.test.tsx. Server, mobile, contracts, and client-runtime changes were used only as context.

Notes considered but not flagged:

  • The authorization-URL card (rounded-xl border border-border/70 bg-muted/24 p-3) is a one-off informational surface with no matching primitive in components/ui.
  • The <label className="grid gap-1.5"><span …> field pattern diverges from the Label primitive, but both patterns are already established in sibling dialogs (AddProviderInstanceDialog.tsx uses the same raw form), so this is not a violation introduced here.

🔍 Agent activity — 4 tool calls

💭 I'm looking at ChatView.tsx and the ClaudeReauthenticationDialog/ThreadErrorBanner components, checking whether the previously flagged issues from be84a95 are resolved in the current head at 04bf9cc. The success alert now correctly uses the "success" variant, confirming that finding has been addressed. I check the "Open Claude sign-in" button behavior again—it's still rendered during failure phase and only disabled on isSubmitting, matching the earlier flagged issue, but since that was already commented on and marked resolved, I won't duplicate it since it's more of a UX concern than a styling violation anyway. Now I'm scanning for style-rule violations on the changed lines across these three files: ThreadErrorBanner looks fine using AlertAction and Button properly, the dialog's custom div for the URL info card seems acceptable since it's not reconstructing a form control, but I want to check if there's a proper Label primitive available instead of the raw label/span markup being used.

1. browse_code — apps/web/src/components/ui/*

2. browse_code — apps/web/src/components/chat/ClaudeReauthenticationDialog.tsx

💭 There's a Label primitive being used in the dialog with a grid layout and small styled text for the field label. I should check label.tsx to see if this pattern is worth flagging.

3. browse_code — apps/web/src/components/ui/label.tsx

💭 I'm noticing the dialog builds labels manually with a grid wrapper and custom text-xs sizing instead of using the Label primitive, which is a minor inconsistency worth flagging. I want to check how other dialogs in the repo construct labeled inputs to see if this deviates from convention.

4. browse_code — In apps/web/src/components, show examples of dialogs with a labeled text Input field — do they use the Label primitive from components/ui/label or raw / with Tailwind classes? Give 3 concrete file snippets.

💭 Both patterns coexist without a clear violation, so I wouldn't flag this. Checking the rest of ChatView's changed lines, ThreadErrorBanner is in scope but just uses primitives like AlertAction and Button correctly, and other className overrides like "w-full" and "size-3" look fine too. The URL card's custom div styling has no matching primitive to use instead, so that's acceptable as a one-off. Given the success alert now uses the Alert primitive and the earlier button issue was behavior-related and already resolved, everything looks clear.


Agent Credits: 141 credits

Token usage: 18 uncached input · 431,011 cache-read input · 157,417 cache-write input · 5,643 output
Agent Credits may also include non-token charges from external tools such as web research.