refactor(web): reuse worklog rows for setup and created threads - #12347
juliusmarminge merged 3 commits into
Conversation
Thread transfer impact
This comment will update automatically after the next completed run. |
| <InlineButton | ||
| aria-label={`Open ${item.title ?? "created thread"}`} | ||
| onClick={() => props.onOpenThread(item.targetThreadId)} | ||
| className="rounded-sm text-primary hover:underline" |
There was a problem hiding this comment.
Shared primitives over custom controls: this call site overrides InlineButton's radius and base color. Add an InlineButton variant for this link treatment and select it here instead.
Suggested fix: define the treatment in components/ui/button.tsx; this requires a cross-file change, so no inline diff is provided.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
Fixed in #12375, now merged into the V2 branch after current-head Macroscope approval and green CI. InlineButton owns the radius/color/underline treatment through variant="link"; V2LifecycleRow selects that variant without custom styling. This preserves the existing appearance and behavior. The original PR merged concurrently before the fix was ready, so the correction landed as this focused follow-up.
This comment has been minimized.
This comment has been minimized.
ApprovabilityA prior Macroscope approval was dismissed. Re-evaluating 2b01904… No code changes detected at |
Dismissing prior approval to re-evaluate 2b01904
2b01904 to
ceb289f
Compare
aff86c9
into
t3code/codex-turn-mapping
Retained in the V2 UI stack. It uses the shared V2 WorkLog API and migrates V2LifecycleRow, which is absent from main.
Worktree setup stages, their collapsed summaries, and created-thread events duplicated the worklog's spacing and icon alignment. That let them miss the shared nonselectable, single-line header defaults.
Render them through
WorkLogRowand reuse the existing button components for opening created threads. The setup shimmer now overlays only its label instead of repeating the row geometry and spinner. The fixed four-line output tail, detail disclosure, elapsed timing, and visibility-aware animation remain intact.Based on #2829, pinned initially to
ebfd663e99ed4211cbdc6e155a4ed0cc61ab592a. This is an independent UI-composition stack; it excludes concurrent queue recovery and OOM work.Validation: 180 focused timeline/setup tests passed, including a new live-to-settled setup disclosure test. Web typecheck and changed-file lint passed. React Doctor found only existing warnings in the changed web files.
Applies to web and desktop's shared renderer. No server, contracts, persisted data, or migration changes; compatible with existing V2 preview state. Browser verification and before/after captures were explicitly excluded from this code-only pass. Kept as a draft pending visual review.
Model: GPT-6. Harness: Codex.