Repository navigation
feat(web): choose what the thread details card shows - #26904
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Adds customizable thread-details rows while preserving existing visibility defaults and Usage preferences. Changes are reversible client preferences, and remote editor shortcuts reuse the existing picker’s opening mechanism. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
| Layer / File(s) | Summary |
|---|---|
Visibility settings and defaults packages/contracts/src/settings.ts, apps/web/src/components/chat/threadDetailsItems.ts, apps/web/src/components/chat/threadDetailsItems.test.ts, apps/desktop/src/settings/DesktopClientSettings.test.ts |
The settings contract adds sparse per-item visibility overrides. Helpers resolve, update, and reset choices. Tests cover override behavior, and the desktop settings fixture includes the new setting. |
Panel content and card interactions apps/web/src/components/chat/ThreadDetailsPanel.tsx, apps/web/src/components/chat/ThreadDetailsItemsMenu.tsx, apps/web/src/components/chat/ThreadDetailsCard.tsx, apps/web/src/components/chat/ThreadDetailsCard.browser.test.tsx, apps/web/src/components/chat/ThreadDetailsSection.tsx, apps/web/src/components/chat/ThreadDetailsUsage.tsx, apps/web/src/components/ChatView.tsx, apps/web/src/components/GitActionsControl.tsx |
The panel filters content by visibility and availability, and adds context-menu controls. Card measurement responds to content changes. ChatView always supplies usage data, and Git action rows accept visibility controls. |
Appearance settings and guidance apps/web/src/components/settings/ThreadDetailsItemsRow.tsx, apps/web/src/components/settings/AppearanceSettingsPanel.tsx, apps/web/src/components/settings/LabsSettingsPanel.tsx, apps/web/src/components/settings/settingsSearch.ts, docs/user/thread-sidebar.md, docs/user/usage.md |
Appearance settings expose the thread-detail controls. Labs settings and search no longer list the former Usage toggle. User guidance describes the new controls. |
Remote editor shortcut
| Layer / File(s) | Summary |
|---|---|
Remote shortcut handling apps/web/src/components/chat/OpenInPickerShortcut.ts, apps/web/src/components/chat/OpenInPicker.browser.test.tsx |
The favorite-editor shortcut builds and opens a remote editor URL in remote-links mode. The browser test covers an SSH alias and verifies that the shell command is not called. |
Automation loading error order
| Layer / File(s) | Summary |
|---|---|
Automation error placement apps/web/src/components/chat/ThreadAutomationsPanel.tsx |
The loading-error message now renders after the task list. Its condition and content remain unchanged. |
Priority:
Estimated code review effort: 3 (Moderate) | ~25 minutes
Change: Feature
Sequence Diagram(s)
sequenceDiagram
actor User
participant ThreadDetailsPanel
participant ThreadDetailsItemsMenuItems
participant ClientSettings
User->>ThreadDetailsPanel: Open item menu
ThreadDetailsPanel->>ThreadDetailsItemsMenuItems: Render visibility controls
User->>ThreadDetailsItemsMenuItems: Change an item
ThreadDetailsItemsMenuItems->>ClientSettings: Update threadDetailsItems
ClientSettings->>ThreadDetailsPanel: Provide updated visibility settings
sequenceDiagram
actor User
participant OpenInPickerShortcut
participant buildRemoteOpenUrl
participant openRemoteEditorUrl
User->>OpenInPickerShortcut: Press favorite-editor shortcut
OpenInPickerShortcut->>buildRemoteOpenUrl: Build URL from editor, host, and working directory
buildRemoteOpenUrl-->>OpenInPickerShortcut: Return URL
OpenInPickerShortcut->>openRemoteEditorUrl: Open URL
Suggested reviewers: 5knnbdwm, juliusmarminge
Merge Risk: 
Minimal · previous review 1f6ae
-
The visibility choices persist as intended, and the card adjusts when its content changes. No issue identified here needs to be resolved before merging.
Pre-merge checks: 
3 · 
1
-
Failed checks: 1 warning Passed checks: 3 passedFull details: Description check
-
Explanation
The description clearly explains the problem, implemented behavior, scope, screenshots, and verification. However, it does not follow the required section structure and does not provide a triaged issue or explicit maintainer approval for this broader behavior change.
Resolution
Add the required Problem, Change, Scope and approval, and Verification sections. In Scope and approval, link the triaged issue or discussion with explicit maintainer approval, or explain why this focused configuration qualifies for an exemption. Keep the existing screenshots and focused verification results in the Verification section.
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
Right-click the card, or open Settings > Appearance > Thread details, to show or hide each row. Hidden rows unmount, so their queries stop. The card re-measures when the visible set changes, so hiding rows while it is compact brings it back to full density. Usage moves out of Labs into the same list; people who turned on the old Labs toggle keep it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Right-clicks in dialogs, fields, and links the card opens keep their own menus. - Section flags follow rows that will render, so no empty section hides the empty state. - Hiding Git actions unmounts its dialogs and their queries. - The setting stores only choices that differ from the default. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also renames the Environment item to match the row, and restores Usage search terms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…icker Hiding the Open in editor row unmounts the button the shortcut presses. The fallback now opens remote editor links too, not only local runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Dividers follow only sections with content, so a collapsed first section leaves no stray line. - Right-clicking selected text in the card keeps the browser menu. - An automations load error no longer also shows the empty-state row. - Only the publish dialog, which runs a query, unmounts with Git actions. - The Settings button reads its count to screen readers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…inks Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1f6aee2 to
35829de
Compare
**v0.1.5** · 25 changes from 5 contributors ## Highlights Turn a No project thread into a project. Use Claude and GPT models and thinking controls with Antigravity. Customize thread details, including usage limits. Switch all your installations between Stable and Nightly in one step. ## Fixes - New threads avoid providers that just hit usage limits (#26234) - Guest links no longer expose file diffs (#26538) - Claude edits open as diffs, not raw JSON (#26529) - Fixed a desktop security vulnerability in Brotli decompression (#26348) - Undo notices no longer cover threads (#26874) - Antigravity file reads no longer show unrelated errors (#26910) - T3 starts on fresh Ubuntu servers without libatomic (#26912) - Update everything no longer unnecessarily waits for npm (#26917) - Antigravity file reads no longer keep spinning (#26928) - Copilot follow-ups no longer kill background agents (#26715) <details> <summary>Full changelog</summary> ## What's Changed * fix(server,cursor,opencode): refresh provider usage when a turn hits its usage limit by @maria-rcks in pingdotgg/t3code#26234 * fix(web): keep tool groups collapsed after a usage-limit pause by @shivamhwp in pingdotgg/t3code#24937 * fix(mobile): photo-library PNGs no longer fail after resizing by @shivamhwp in pingdotgg/t3code#26522 * fix(server): guest links no longer return file diffs by @nexxeln in pingdotgg/t3code#26538 * fix(claude): Open diff shows Claude edits as a diff instead of raw JSON by @nexxeln in pingdotgg/t3code#26529 * chore: vouch nexxeln by @t3dotgg in pingdotgg/t3code#26812 * feat(web): Labs toggle keeps 5h, weekly, and context limits in view by @t3dotgg in pingdotgg/t3code#26859 * fix(desktop): bump Electron to 44.10.0 for the Node.js Brotli fix (CVE-2026-111497) by @nabettu in pingdotgg/t3code#26348 * chore: make agent mistakes fail early by @t3dotgg in pingdotgg/t3code#26167 * feat(marketing): hero shows four agents running at once by @t3dotgg in pingdotgg/t3code#26875 * fix(web): undo notice moves to the sidebar footer so it never covers a thread by @t3dotgg in pingdotgg/t3code#26874 * feat: turn a No project thread into a project by @t3dotgg in pingdotgg/t3code#26767 * feat(antigravity): Claude and GPT models, thinking levels, and diff edits by @t3dotgg in pingdotgg/t3code#26876 * feat(web): choose what the thread details card shows by @t3dotgg in pingdotgg/t3code#26904 * feat(updates): switch your whole fleet between Stable and Nightly in one step by @t3dotgg in pingdotgg/t3code#26288 * fix(antigravity): file reads no longer show unrelated errors by @t3dotgg in pingdotgg/t3code#26910 * feat(release): release notes and the update popover open with a short note by @t3dotgg in pingdotgg/t3code#26893 * fix(cli): t3 starts on a fresh Ubuntu server without libatomic by @t3dotgg in pingdotgg/t3code#26912 * fix(web): update everything no longer waits on npm for service hosts by @t3dotgg in pingdotgg/t3code#26917 * test(web): pin the npm wait floor for update everything by @t3dotgg in pingdotgg/t3code#26921 * fix(antigravity): served reads stop spinning and duplicate model names are labeled by @t3dotgg in pingdotgg/t3code#26928 * fix(server): queue Copilot follow-ups without killing background agents by @shivamhwp in pingdotgg/t3code#26715 * fix(web): Antigravity effort no longer shows a speedometer in the composer by @t3dotgg in pingdotgg/t3code#26929 * fix(release): Linux CLI archives build on runners without package docs by @t3dotgg in pingdotgg/t3code#26932 **Full Changelog**: pingdotgg/t3code@v0.1.4...v0.1.5 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.5
The thread details card always shows the same rows. People who never use some of them (scripts, Open in editor, lineage) cannot get them out of the way, and Usage was stuck in Labs.
Now you choose what the card shows. Right-click the card, or open Settings → Appearance → Thread details, and tick the rows you want. Changes apply at once. Reset to default brings back the standard rows.
How it works
threadDetailsItems, stores only choices that differ from the default. New rows appear for everyone, and unknown ids survive a downgrade.Out of scope on purpose: ordering, drag and drop, per-project layouts, and plugins. Earlier attempts (#13163, #13833) grew in that direction.
Proof: tested in the web app with the Browser panel (inline card, narrow popover, non-git project, fresh draft, Settings). New tests fail without their fixes: the card density test, the remote editor shortcut test, and the setting resolution test.
vp run check:changedpasses.Council review
Rounds: 3
Created with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code