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
- Thread details: upstream made the card's items configurable (pingdotgg#26904); Cody's side chat section sits after Lineage and always shows in full density. - Side chat question answers adapted to upstream moving the answer helpers into client-runtime (pingdotgg#26167, new argument order). Next/Submit now go through planSideChatAdvance, which also takes upstream's fix that an unanswered question doesn't advance (pingdotgg#23626). New regression test: apps/web/src/cody/sideChatAnswers.test.ts. - Desktop updates: Cody's auto-install IPC kept beside upstream's track-switch setUpdateChannel(channel, minimumVersion) (pingdotgg#26288). Cody's update channel test now checks upstream's desktopUpdateChannelOf, which replaced resolveDefaultDesktopUpdateChannel. - Force stop RPC (pingdotgg#27252) and Cody side chat RPCs both kept in ws.ts and the guarded scope list. - Server browser: Cody's Windows work-account sign-in setup kept beside upstream's agent scope launcher (pingdotgg#27239). - agentContextBudget.json: upstream's new MCP tool size, Cody's Claude and Codex sizes (final-answer block), re-measured. - docs/user/usage.md: upstream's thread details Usage paragraph plus Cody's OpenCode Copilot limits text. - Sidebar logo link reads "Cody home" instead of upstream's "T3 Code home" (pingdotgg#24209). - Server tests: side chat mocks gain upstream's new ScratchThreadPromotion service and thread management methods. - personal-fork skill: sync notes for this run. - Upstream's pre-commit now runs knip on files and exports: Cody's script entry points are listed in knip.jsonc, and constants only used in their own file are no longer exported. A Cody test comment drops a PR number for the new comment lint.
* feat(antigravity): Claude and GPT models, thinking levels, and diff edits (pingdotgg#26876) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): choose what the thread details card shows (pingdotgg#26904) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(updates): switch your whole fleet between Stable and Nightly in one step (pingdotgg#26288) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(antigravity): file reads no longer show unrelated errors (pingdotgg#26910) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(release): release notes and the update popover open with a short note (pingdotgg#26893) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): t3 starts on a fresh Ubuntu server without libatomic (pingdotgg#26912) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): update everything no longer waits on npm for service hosts (pingdotgg#26917) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): pin the npm wait floor for update everything (pingdotgg#26921) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(antigravity): served reads stop spinning and duplicate model names are labeled (pingdotgg#26928) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): queue Copilot follow-ups without killing background agents (pingdotgg#26715) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): Antigravity effort no longer shows a speedometer in the composer (pingdotgg#26929) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): Linux CLI archives build on runners without package docs (pingdotgg#26932) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): reconnecting notice no longer shifts the new thread composer (pingdotgg#26958) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(marketing): homepage looks like the app (pingdotgg#26960) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(release): prepare v0.1.5 * fix(cli): restore Windows desktop launcher console input (pingdotgg#24870) Co-authored-by: Nathan Shan <nathanielcrush51@gmail.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> * feat(settings): add and list 1Password secret providers behind T3CODE_FEATURE_SECRETS (pingdotgg#25709) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): use monospace in the Android terminal preview (pingdotgg#23401) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): edit from here uses a pencil icon (pingdotgg#21878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): clear Cache Storage when deleting browser profile data (pingdotgg#22002) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): respect reduced motion in thread loading controls (pingdotgg#22100) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(provider-acp): redact API keys with underscores in ACP stderr logs (pingdotgg#24015) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(provider-core): redact compound credential keys in provider errors (pingdotgg#23313) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): show rounded diff counts as 1m instead of 1000k (pingdotgg#23723) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): a timed-out login-shell probe no longer skips the server's PATH repair (pingdotgg#21771) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): keep the previous preview browser version on a shared home (pingdotgg#23771) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(settings): servers check secret provider writes and keep unknown configs to themselves (pingdotgg#27044) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keep a closed split terminal's tab in view (pingdotgg#22106) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): the ~ breadcrumb opens the home folder (pingdotgg#22412) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(gitlab): accept merge request URLs from self-hosted hosts (pingdotgg#23848) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): commits no longer land on a branch switched in mid-action (pingdotgg#24473) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): image attachments report their size when the T3 home is behind a symlink (pingdotgg#24245) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(ssh): skip directories in config includes (pingdotgg#25187) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(server): Authorized clients names Edge, Firefox and Opera on phones correctly (pingdotgg#23340) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): fork rows show a readable label instead of a thread ID (pingdotgg#22064) Co-authored-by: Jeremiah Jordan <zanson@zanson.org> Co-authored-by: GPT-6.1-Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(markdown): formulas ending in a comma render (pingdotgg#22883) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(scripts): dev runner expands ~ in --home-dir and T3CODE_HOME (pingdotgg#25560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): keep development protocol requests on the configured server (pingdotgg#22010) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): apply terminal toolbar modifiers to arrow keys (pingdotgg#22161) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): clean old logs and artifacts under a symlinked T3 home (pingdotgg#24097) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): preserve URL arguments in Android device actions (pingdotgg#25205) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(server): keep terminal history after cancelled sequences (pingdotgg#25193) Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com> * fix(auth): accept a typed pairing code regardless of letter case (pingdotgg#22089) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): find in thread opens from the thread title menu, so phones can reach it (pingdotgg#22352) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): resolve executable commands when checking CLI shadowing (pingdotgg#22046) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): SQLite temp files no longer block the event loop (pingdotgg#24194) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): a branch named like a tag no longer reads as heads/<name> (pingdotgg#24258) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): cap generated worktree folder names (pingdotgg#25212) Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> * perf(server): checkpoint capture scans the index listing by record instead of by byte (pingdotgg#21329) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): PR discovery sweeps skip hidden subagent threads (pingdotgg#26983) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): stop parsing CLI flags after -- (pingdotgg#25204) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(server): remove abandoned v1 database copies on startup (pingdotgg#25301) Co-authored-by: Matěj Suchánek <16311043+immakermatty@users.noreply.github.com> * fix(web): Enter no longer skips an unanswered question (pingdotgg#23626) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): keep wide characters in terminal links (pingdotgg#24013) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): session stops no longer trigger storage sweeps unless a deleted worktree waits (pingdotgg#26038) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(provider-core): subagent threads no longer inherit the parent's pin (pingdotgg#21271) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(device): report failed Android permission changes (pingdotgg#22358) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): thread lists load beyond SQLite variable limit (pingdotgg#25696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): allow large git status metadata (pingdotgg#25207) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * perf(mobile): flatten large file trees without copying descendants (pingdotgg#21276) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): show theme conflicts even when another import fails (pingdotgg#23223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(usage): reject cyclic model mappings before saving (pingdotgg#23963) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(settings): offer Use existing CLI in managed Codex settings (pingdotgg#23160) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(git): honor project provider settings (pingdotgg#23672) Co-authored-by: Tejas Parmar <parmartejas@vanojay.in> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): force-close stalled Linux MIME cache helpers (pingdotgg#25210) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(cli): auth pairing create rejects a --base-url without http(s):// (pingdotgg#23343) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): signed asset and upload URLs stay out of HTTP traces (pingdotgg#24556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): clone errors no longer show a token from the URL's query (pingdotgg#24698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(claude): pass every --add-dir launch directory to Claude (pingdotgg#23281) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(composer): retry expired catalogs after failed discovery (pingdotgg#23174) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(auth): preserve pairing codes after scope rejection (pingdotgg#25222) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(mobile): discard unchanged queued edits after starting (pingdotgg#25232) Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> * fix(server): t3 project commands wait for a busy server's reply (pingdotgg#24090) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): wait for fresh diff pages in review guides (pingdotgg#23225) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): Antigravity stops retrying session startup while signed out (pingdotgg#24939) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): create tasks on a permitted connected environment (pingdotgg#23244) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): recognize this thread's main checkout (pingdotgg#23764) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): keep usage hubs that share a host (pingdotgg#23767) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(github): read text and mixed-case pull request templates (pingdotgg#25025) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(web): keep HTML prototype selection rings visible (pingdotgg#23745) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(mobile): list pull request repositories once per environment (pingdotgg#25219) Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> * fix(shared): Open in Zed prefers zeditor over the ZFS zed on Linux (pingdotgg#23416) Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): native Codex subagents no longer show the parent's reasoning effort (pingdotgg#24467) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): mark unread works after an automatic compaction (pingdotgg#25286) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): show MCP App forms from failed tool results (pingdotgg#25225) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> * fix(server): restore Linux session display for editor launches (pingdotgg#25228) Co-authored-by: Inaya Yousfi <193243337+inayayousfi@users.noreply.github.com> * fix(usage): keep host identity across container recreation (pingdotgg#25220) Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com> * fix(opencode): authenticate with the resolved server password (pingdotgg#25230) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * feat(web): allow resizing the file explorer (pingdotgg#25737) Co-authored-by: Rishabh Bothra <37180068+07rjain@users.noreply.github.com> * fix(server): update shared Codex installs from their owning home (pingdotgg#25235) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> * fix(cli): keep published runtimes in place during installation (pingdotgg#24092) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): right panel launcher letters work on non-Latin keyboard layouts (pingdotgg#21508) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): report a deleted or replaced ownership lock (pingdotgg#21886) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): mark unread no longer brings back a dismissed wake (pingdotgg#24080) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): stop refreshes in hidden PR Guide panes (pingdotgg#25486) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): installing the t3 command no longer reports its own launcher as another t3 (pingdotgg#22375) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * test(mobile): load the branch occupancy test without native sources (pingdotgg#27063) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(settings): project edits keep overrides the client does not know (pingdotgg#24472) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(client): retry the permissions check after a reconnect (pingdotgg#27008) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): tab bar spans the screen on iOS before 26 (pingdotgg#27089) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): thread recovery reads are 10x faster (pingdotgg#27099) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): source control discovery no longer stalls up to 10s on Bitbucket (pingdotgg#27102) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf: huge checkpoints ship up to 75x smaller to clients (pingdotgg#27110) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): sidebar shell loads 3x faster and startup thread counts 80x faster (pingdotgg#27106) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): preparing a run is 15x faster and uses 200x less memory (pingdotgg#27105) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): traces name what grew the heap, for ~0.3µs per span (pingdotgg#27104) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(gitcafe): PR sync makes 2x fewer GitCafe requests for unchanged PRs (pingdotgg#27100) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(shared): SQLite reads stop queueing behind each other, up to 5x faster under load (pingdotgg#27097) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): git status runs in parallel and repo detection spawns 3x fewer git processes (pingdotgg#27103) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): dead connection routes are probed 30x less often (pingdotgg#27101) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): idle servers run 100x fewer background queries and 4.8M fewer spans a day (pingdotgg#27098) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(devices): support Android EAS Simulator sessions (pingdotgg#26797) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): image-only messages show the image, not the placeholder prompt (pingdotgg#26769) * ci(mobile): production deploys use a Release Manager Expo token (pingdotgg#27285) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(mobile): maintainers can deploy EAS previews for reviewed fork commits (pingdotgg#27292) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): agents yield CPU, tasks, and reclaim to the server under pressure (pingdotgg#27176) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): `t3 service protect` keeps the server alive when agents fill memory (pingdotgg#27239) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): held queues release agent and scheduled messages once the thread completes a run (pingdotgg#27221) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): restart continuations retry failed starts and respect a parent's stop (pingdotgg#27222) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Stop during a restart no longer leaves the thread stuck (pingdotgg#27141) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(scripts): bound check:changed concurrency and step time (pingdotgg#27227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): durations under 10s drop a trailing .0 (pingdotgg#27316) * feat(web): switch the composer between rich text and Markdown source from a button or mod+/ (pingdotgg#26777) * fix(server): t3_thread_organize rejects unknown arguments instead of archiving the caller (pingdotgg#26718) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): composer Markdown source button shows the pilcrow again (pingdotgg#27375) * revert(web): remove the composer rich text toggle button and mod+/ shortcut (pingdotgg#27390) * fix(server): HTML preview browsers quit when done instead of waiting to be killed (pingdotgg#27224) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(terminal): retain and pace slow fallback process queries (pingdotgg#24640) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): show readable provider runtime failure banners (pingdotgg#24614) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: AdEx-Partners-DE <stark.burns@adexpartners.com> * fix(gitlab): share merge request reads across detail and checks (pingdotgg#24392) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): count Claude advisor calls under the advisor model (pingdotgg#24139) * fix(web): name the sidebar logo link T3 Code home (pingdotgg#24209) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): fail Claude turns waiting for unsupported mod input (pingdotgg#24320) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Stop always completes, and an agent that ignores it can be force stopped (pingdotgg#27252) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: guest links can load earlier turns (pingdotgg#27354) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): repair main after merge burst Rename leftover fakeProvider to fakePullRequestProvider, replace the removed encodeScanCache in the advisor usage test, and drop an issue number from a ClaudeAdapterV2 comment that lint rejects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): let slow worktree checkouts finish (pingdotgg#23802) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(settings): point provider environment variables at a secret provider (pingdotgg#27115) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> * feat(desktop): back/forward buttons and trackpad swipe navigation (pingdotgg#27430) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): review local commits in the Diff pane (pingdotgg#19941) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(relay): show the account's real tunnel cap in T3 Connect settings (pingdotgg#27442) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): streaming replies no longer re-render every visible timeline row (pingdotgg#27420) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): streaming replies re-render only their last Markdown block (pingdotgg#27417) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): the git actions panel no longer re-renders on every streamed update (pingdotgg#27418) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): streamed assistant text re-renders only its own row (pingdotgg#27419) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): `t3 service protect` can ask for your sudo password (pingdotgg#27465) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Theo Browne <me@theo.li> Co-authored-by: t3-code-bot[bot] <269035359+t3-code-bot[bot]@users.noreply.github.com> Co-authored-by: Nathan Shan <nathanielcrush51@gmail.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Victor Vogel <satsdev@only21mil.xyz> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com> Co-authored-by: Onkar Pradip Jadhav <118719336+Onkarj012@users.noreply.github.com> Co-authored-by: MarcoDotIO <Marcus.Arnett10@gmail.com> Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> Co-authored-by: Jeremiah Jordan <jeremiah@apache.org> Co-authored-by: Jeremiah Jordan <zanson@zanson.org> Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de> Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com> Co-authored-by: Mantas Kantautas <mantas.kantautas@gmail.com> Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Co-authored-by: Joseph Vidal <135430578+josephv123@users.noreply.github.com> Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> Co-authored-by: Matěj Suchánek <16311043+immakermatty@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: luke <97411838+luke2x@users.noreply.github.com> Co-authored-by: parmartejas <110296251+parmartejass@users.noreply.github.com> Co-authored-by: Tejas Parmar <parmartejas@vanojay.in> Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> Co-authored-by: Stevan Borus <steva.borus@gmail.com> Co-authored-by: Pujitha Paladugu <pujitha.rathna@gmail.com> Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Koushik_xd <122906171+koushikxd@users.noreply.github.com> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: Inaya Yousfi <193243337+inayayousfi@users.noreply.github.com> Co-authored-by: Rishabh Bothra <37180068+07rjain@users.noreply.github.com> Co-authored-by: Marcel Jiron · MarMarLabs <marmar9615@icloud.com> Co-authored-by: Scott Norteman <snorteman@gmail.com> Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gourav Kumar Dhiman <gkrdhiman@gmail.com> Co-authored-by: Nathan Schroeder <49214985+SchroederNathan@users.noreply.github.com> Co-authored-by: AdEx-Partners-DE <stark.burns@adexpartners.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com>
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