Fix new-thread shortcuts when terminal has focus by juliusmarminge · Pull Request #984 · pingdotgg/t3code

@juliusmarminge

- move chat-wide key handling into `_chat` route-level shortcut handler
- extract reusable `useHandleNewThread` hook and `isTerminalFocused` helper
- update browser WS fixture to support `terminalOpen` RPC shape

@github-actions bot added the vouch:trusted

PR author is trusted by repo permissions or the VOUCHED list.

label

Mar 12, 2026

cursor[bot]

@juliusmarminge

- ensure `chat.new` creates a fresh draft after a promoted draft thread
- enforce terminal cap per split group (4) while allowing additional terminal groups
- refine sidebar row selected/active styling via shared class-name logic and tests

aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request

Mar 13, 2026
Upstream features:
- Selective file staging in commit dialog (pingdotgg#872)
- Compact Codex tool-call icons in chat timeline (pingdotgg#988)
- Replace worktree toggle with Select dropdown (pingdotgg#1001)
- Timestamp format override setting (pingdotgg#855)
- Preferred editor resolver + useLocalStorage helper (pingdotgg#662)
- Extract reusable clipboard hook and media queries (pingdotgg#1006)
- Default thread env mode setting (pingdotgg#892)
- Block image uploads during plan mode (pingdotgg#621)

Upstream bug fixes:
- Prompt editor + Plan mode cursor fixes (pingdotgg#867)
- Composer @file autocomplete cursor/spacing bugs (pingdotgg#936)
- Diff panel unclosable after retainSearchParams (pingdotgg#937)
- Fix agent response duration always 1ms (pingdotgg#866)
- Defer diff worker startup until diff opens (pingdotgg#934)
- Fix new-thread shortcuts when terminal focused (pingdotgg#984)
- PlanSidebar memory leak fix (pingdotgg#949)
- WebSocket error logging (pingdotgg#948)
- Desktop "Check for Updates" dialog (pingdotgg#955)
- macOS logo alignment fix (pingdotgg#960)

Upstream tooling:
- Upgrade oxfmt/oxlint versions (pingdotgg#1010)
- Update @vitejs/plugin-react to 6.0.0 (pingdotgg#1002)
- Upgrade marketing app to Astro 6 (pingdotgg#1005)

Conflict resolutions:
- workspaceEntries.ts: kept our zortos-ported fuzzy search (better
  ranked insertion) over upstream's pingdotgg#256
- appSettings.ts: merged our display settings with upstream's timestamp
  format and env mode settings
- MessagesTimeline.tsx: merged our showCommandOutput gating with
  upstream's compact tool-call icons
- DiffPanel.tsx: fixed duplicate useAppSettings import
- open.test.ts: added missing node:fs/os/path imports for new test