Repository navigation
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
One finding: the new copy icon picks up the ghost button's muted icon color instead of the alert's error tone, so it renders gray next to the red dismiss icon in the same banner.
Posted via Macroscope — UI Consistency
2180bdf to
64d53b2
Compare
ApprovabilityVerdict: Approved 64d53b2 Self-contained UI feature adding copy functionality to thread error banners. Uses existing hooks, includes comprehensive tests, and has no runtime behavior changes beyond the new copy button. You can customize Macroscope's approvability policy. Learn more. |
Dismissing prior approval to re-evaluate 64d53b2
|
Note This comment is posted by Julius' dot The before/after images show the copy control, but no recording demonstrates copying the complete diagnostic or the timed success and failure feedback. Please attach a short client recording of those interactions under the verification rule, then request reconsideration. |
Problem
Persistent thread errors can contain long, multiline diagnostics, but the banner only exposed a visually clamped version. Users had no direct way to copy the complete diagnostic when reporting or debugging provider failures.
What changed
Impact
Web and desktop users can copy provider-neutral thread diagnostics directly from the banner. No provider, contract, server, remote-mode, or mobile behavior changes.
Validation
vp test run apps/web/src/components/chat/ThreadErrorBanner.test.tsx apps/web/src/hooks/useCopyToClipboard.test.ts— 16 tests passedtsgo --noEmit -p apps/web/tsconfig.jsonvp lintfor the changed web filesgit diff --check origin/main...HEADEvidence
Before
Persistent thread error with dismissal only.
After
Persistent thread error with copy and dismissal controls.
Generated by GPT-5.6 Sol via the Codex harness in T3 Code.
Note
Add copy-to-clipboard button to thread error banners
ThreadErrorCopyButtonto ThreadErrorBanner.tsx that copies the full diagnostic text to the clipboard, showing a check icon on success and an anchored toast on failure.useCopyToClipboardby tracking operation IDs to ignore stale async completions and prevent state updates after unmount.Macroscope summarized 5004dbf.
Note
Low Risk
UI-only clipboard and banner changes with no auth, API, or server impact; broader hook hardening is localized to copy feedback.
Overview
Thread error banners now include a copy control next to dismiss so users can grab the full multiline diagnostic (not just the line-clamped preview). Success shows brief copied feedback on the button; clipboard failures surface an anchored toast via
showThreadErrorCopyFailure.useCopyToClipboardis tightened with per-attempt operation IDs so stale writes, repeat failures, and unmount no longer flipisCopiedor fire callbacks incorrectly.ChatViewpasseskey={threadErrorBannerKey}onThreadErrorBannerso copy UI resets when the thread or error text changes. Session-scoped dismissal behavior is unchanged.User docs add
thread-errors.mdand link it from install next steps.Reviewed by Cursor Bugbot for commit 5004dbf. Bugbot is set up for automated code reviews on this repo. Configure here.