Skip to content

feat(web): choose what the thread details card shows - #26904

Merged
t3dotgg merged 7 commits into
mainfrom
t3/thread-detail-panel-customization
Oct 29, 2026
Merged

t3dotgg merged 7 commits into
mainfrom
t3/thread-detail-panel-customization

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Oct 29, 2026

Copy link
Copy Markdown
Member

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.

Default Right-click menu Workspace rows hidden
Default card Right-click menu Workspace hidden
Nothing to show Settings row Settings menu
Empty state Settings row Settings menu

How it works

  • One sparse client setting, threadDetailsItems, stores only choices that differ from the default. New rows appear for everyone, and unknown ids survive a downgrade.
  • A flat list of 10 rows. A hidden row unmounts, so its queries and subscriptions stop.
  • Usage moves out of Labs into the list (off by default). People who turned on the old Labs toggle keep it.
  • The card now re-measures when the set of rows changes. Before, hiding rows while the card was compact left it stuck compact.
  • When no row has anything to show, the card shows Choose what to show so you can always get back.
  • Hidden rows keep their shortcuts. The open-in-editor fallback now also covers remote editor links, which was already missing when the card was closed or compact.
  • Mobile has no matching card, so it is not changed.

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:changed passes.

Council review

Rounds: 3

Delegate Round 1 Round 2 Round 3
Claude Opus 5.5 8/10 9.4/10 9.5/10
Muse Wonder Full 8.8/10 9.3/10 9.5/10
Codex GPT-6.1 Sol 8.5/10 9.2/10 9.5/10

Created with Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Oct 29, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 1f6aee2

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 35829de. Prior analysis still applies.

You can add or adjust custom eligibility rules. Learn more.

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB +6 B (+0.1%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.3 KiB +6 B (+0.5%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 21.6 KiB 21.6 KiB 0 B (0.0%) 24.4 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.1 KiB 5.0 KiB −6 B (−0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.3 KiB 1.3 KiB −6 B (−0.5%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.9 KiB 21.9 KiB 0 B (0.0%) 24.4 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 4432fbe · PR result: 35829de · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 1f6aee2 and 35829de.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 58e60bf and 1f6aee2.

Files selected for processing: 21
  • apps/desktop/src/settings/DesktopClientSettings.test.ts
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/chat/OpenInPicker.browser.test.tsx
  • apps/web/src/components/chat/OpenInPickerShortcut.ts
  • apps/web/src/components/chat/ThreadAutomationsPanel.tsx
  • apps/web/src/components/chat/ThreadDetailsCard.browser.test.tsx
  • apps/web/src/components/chat/ThreadDetailsCard.tsx
  • apps/web/src/components/chat/ThreadDetailsItemsMenu.tsx
  • apps/web/src/components/chat/ThreadDetailsPanel.tsx
  • apps/web/src/components/chat/ThreadDetailsSection.tsx
  • apps/web/src/components/chat/ThreadDetailsUsage.tsx
  • apps/web/src/components/chat/threadDetailsItems.test.ts
  • apps/web/src/components/chat/threadDetailsItems.ts
  • apps/web/src/components/settings/AppearanceSettingsPanel.tsx
  • apps/web/src/components/settings/LabsSettingsPanel.tsx
  • apps/web/src/components/settings/ThreadDetailsItemsRow.tsx
  • apps/web/src/components/settings/settingsSearch.ts
  • docs/user/thread-sidebar.md
  • docs/user/usage.md
  • packages/contracts/src/settings.ts
Files with no reviewable changes: 1
  • apps/web/src/components/settings/LabsSettingsPanel.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 3 remain after this review.

Walkthrough

The pull request adds per-item visibility controls for thread details, moves Usage configuration to Appearance settings, and supports opening remote editors through the favorite-editor shortcut. It also changes the placement of the automation loading-error message.

Changes: Thread details visibility

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: Normal

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
Loading
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
Loading

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: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning 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 issu… 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 exemp…
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: allowing users to choose which rows appear in the thread details card.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full 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.

t3dotgg and others added 7 commits October 29, 2026 03:21
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>
@t3dotgg
t3dotgg force-pushed the t3/thread-detail-panel-customization branch from 1f6aee2 to 35829de Compare October 29, 2026 10:22
@t3dotgg
t3dotgg merged commit d7935f1 into main Oct 29, 2026
33 checks passed
@t3dotgg
t3dotgg deleted the t3/thread-detail-panel-customization branch October 29, 2026 10:28
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 29, 2026
**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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant