# Commit history · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commits/70e5e384dab96a1d1e4a253ee5a9415ed5d8ce30)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 70e5e384dab96a1d1e4a253ee5a9415ed5d8ce30

Requested commit: 70e5e384dab96a1d1e4a253ee5a9415ed5d8ce30

- [fix\(server\): sync pull request draft status changes \(\#22832\)](https://git.cafe/pingdotgg/t3code/commit/70e5e384dab96a1d1e4a253ee5a9415ed5d8ce30?format=markdown) — 70e5e384dab96a1d1e4a253ee5a9415ed5d8ce30; Yash Singh

- [fix\(server\): JetBrains IDEs open file links at the right column \(\#22826\)](https://git.cafe/pingdotgg/t3code/commit/1befc717f0b277c86a066e46598e60465e7f23c2?format=markdown) — 1befc717f0b277c86a066e46598e60465e7f23c2; Lev Poznyakov

- [fix\(web\): copy to machine clones the fork, not its upstream \(\#22492\)](https://git.cafe/pingdotgg/t3code/commit/0f74ff8e3a4189331fa762ff5d5da0626ecc5a61?format=markdown) — 0f74ff8e3a4189331fa762ff5d5da0626ecc5a61; AKolenda

- [fix\(opencode\): cancelled todos no longer keep the todo list running \(\#22938\)](https://git.cafe/pingdotgg/t3code/commit/2333f168845f853f9ef358d1c4e6cf75189f4e8b?format=markdown) — 2333f168845f853f9ef358d1c4e6cf75189f4e8b; MarcoDotIO

- [fix\(shared\): Azure DevOps repositories with a space in the name list their pull requests \(\#22782\)](https://git.cafe/pingdotgg/t3code/commit/855db968a7517914019d77e3c364fe2002f345d9?format=markdown) — 855db968a7517914019d77e3c364fe2002f345d9; Pavel Kroupa

- [fix\(web\): imported VS Code themes keep destructive buttons red \(\#21924\)](https://git.cafe/pingdotgg/t3code/commit/7845898c871bb0776eb8beda08a7b6907beca090?format=markdown) — 7845898c871bb0776eb8beda08a7b6907beca090; Louis Gollut

- [fix\(client\): usage limits skip disabled connections \(\#22936\)](https://git.cafe/pingdotgg/t3code/commit/1a44c40901a8a639d18947fcccf9707b9b9222d8?format=markdown) — 1a44c40901a8a639d18947fcccf9707b9b9222d8; M4NU5

- [fix\(shared\): recognize relative folder links with trailing slash \(\#22188\)](https://git.cafe/pingdotgg/t3code/commit/6de7da548d15d86e86f7550a9f1b402e924249dd?format=markdown) — 6de7da548d15d86e86f7550a9f1b402e924249dd; maco

- [fix\(web\): \.\./ file links outside the workspace open as host files \(\#22853\)](https://git.cafe/pingdotgg/t3code/commit/edce5f0e53e8f0a80ed0c6b553edfe7b6467bc14?format=markdown) — edce5f0e53e8f0a80ed0c6b553edfe7b6467bc14; Theo Browne

- [fix\(web\): right panel launcher letters open their surface instead of typing into the composer \(\#22898\)](https://git.cafe/pingdotgg/t3code/commit/86fa9e0a0c4e3cdadff15d25583978ec80a80834?format=markdown) — 86fa9e0a0c4e3cdadff15d25583978ec80a80834; Theo Browne

- [fix\(web\): quote comment box stays on screen for long code lines \(\#22149\)](https://git.cafe/pingdotgg/t3code/commit/159f2b8cc33a46c2dfed7d394ec8eb54bad03c03?format=markdown) — 159f2b8cc33a46c2dfed7d394ec8eb54bad03c03; Etan Heyman

- [fix\(web\): a Usage toggle shortcut now goes back instead of staying on Usage \(\#22905\)](https://git.cafe/pingdotgg/t3code/commit/bee9ce829bb72503e3eaebeeb7397ba96b9762d0?format=markdown) — bee9ce829bb72503e3eaebeeb7397ba96b9762d0; Theo Browne

- [fix\(web\): thread details PR merge uses the last selected merge method \(\#22399\)](https://git.cafe/pingdotgg/t3code/commit/a35066d9f21616056bc438c894573900ebe87352?format=markdown) — a35066d9f21616056bc438c894573900ebe87352; Tristan Knight

- [fix\(composer\): typing a price no longer opens the skill menu \(\#21519\)](https://git.cafe/pingdotgg/t3code/commit/1ee0241730ef5d2592347280118a2c77e8fb797c?format=markdown) — 1ee0241730ef5d2592347280118a2c77e8fb797c; MarcoDotIO

- [fix\(server\): pushes the remote refuses say why instead of a generic failure \(\#22904\)](https://git.cafe/pingdotgg/t3code/commit/fb7f08782b964b4137eef597052c99efc9039043?format=markdown) — fb7f08782b964b4137eef597052c99efc9039043; Theo Browne

- [fix\(server\): Forgejo and GitCafe pull requests link to their threads again \(\#22937\)](https://git.cafe/pingdotgg/t3code/commit/22b89ef061a65c89488761a09e05e3dffc9e6316?format=markdown) — 22b89ef061a65c89488761a09e05e3dffc9e6316; MarcoDotIO

- [fix\(server\): scheduled tasks no longer jump to the top when toggled \(\#22899\)](https://git.cafe/pingdotgg/t3code/commit/1b22228e52382a18c3b0721ad5154c74996b35ad?format=markdown) — 1b22228e52382a18c3b0721ad5154c74996b35ad; Theo Browne

- [fix\(web\): the branch toolbar and thread details panel stay cached while a reply streams \(\#23103\)](https://git.cafe/pingdotgg/t3code/commit/968dd51704441138559a3fe9c348719f2b11e0c6?format=markdown) — 968dd51704441138559a3fe9c348719f2b11e0c6; Julius Marminge

- [refactor\(web\): ChatView's timeline banners render in ChatBannerLane \(\#23101\)](https://git.cafe/pingdotgg/t3code/commit/a642ab2bd5d3dcc98217d60073ea0feb234c1aa1?format=markdown) — a642ab2bd5d3dcc98217d60073ea0feb234c1aa1; Julius Marminge

- [refactor\(web\): chat shortcuts live with the hooks that own their actions \(\#23097\)](https://git.cafe/pingdotgg/t3code/commit/764fff2efcb7123a0518c6b9b768f2f984d08b23?format=markdown) — 764fff2efcb7123a0518c6b9b768f2f984d08b23; Julius Marminge

- [refactor\(web\): ComposerControlsBar renders without a memo\(\) wrapper \(\#23093\)](https://git.cafe/pingdotgg/t3code/commit/b34f74cde0db0a272b5796a59e298e887a6c7b99?format=markdown) — b34f74cde0db0a272b5796a59e298e887a6c7b99; Julius Marminge

- [refactor\(web\): the composer send reads its own settings and draft instead of taking them from ChatView \(\#23095\)](https://git.cafe/pingdotgg/t3code/commit/beec3c8b30cecbd61383339cde42374282d1dee3?format=markdown) — beec3c8b30cecbd61383339cde42374282d1dee3; Julius Marminge

- [refactor\(web\): multiple-model sends live in their own hook \(\#23094\)](https://git.cafe/pingdotgg/t3code/commit/ac23b74df83d95f98419f3ade6103054a54daec1?format=markdown) — ac23b74df83d95f98419f3ade6103054a54daec1; Julius Marminge

- [refactor\(web\): proposed-plan follow-ups and implement-in-new-thread live in their own hooks \(\#23091\)](https://git.cafe/pingdotgg/t3code/commit/36d1e2fec5881a19811c35c8a804c46c4ca2cea7?format=markdown) — 36d1e2fec5881a19811c35c8a804c46c4ca2cea7; Julius Marminge

- [refactor\(web\): resuming an interrupted run lives in its own hook \(\#23087\)](https://git.cafe/pingdotgg/t3code/commit/5b715cc13cc5bcb3f82951be42888452c0f18557?format=markdown) — 5b715cc13cc5bcb3f82951be42888452c0f18557; Julius Marminge

- [fix\(composer\): mentions of files like \`posts\.$postId.tsx\` or \`\[id\]\.tsx\` stay chips \(\#22922\)](https://git.cafe/pingdotgg/t3code/commit/5c3721e20aa3c19d7ab414c40734752f9c053c90?format=markdown) — 5c3721e20aa3c19d7ab414c40734752f9c053c90; Theo Browne

- [fix\(web\): finished provider updates no longer leave a hidden spinner in the sidebar \(\#22912\)](https://git.cafe/pingdotgg/t3code/commit/38d993f3836c02aa17194ed05087be5f2b0f1010?format=markdown) — 38d993f3836c02aa17194ed05087be5f2b0f1010; Theo Browne

- [fix\(web\): PR Code tab keeps its files after a refresh with an unchanged diff \(\#22917\)](https://git.cafe/pingdotgg/t3code/commit/b9c1293c0aad6196c393550867d73d07f55e9621?format=markdown) — b9c1293c0aad6196c393550867d73d07f55e9621; Theo Browne

- [fix\(mobile\): opening a pull request no longer crashes with "Maximum update depth exceeded" \(\#22600\)](https://git.cafe/pingdotgg/t3code/commit/d0c5d7c4ed90c9018e41853cde4f10043c72b12a?format=markdown) — d0c5d7c4ed90c9018e41853cde4f10043c72b12a; tatsuaki watanabe

- [fix\(server\): t3_thread_read clamps oversized page sizes instead of failing \(\#22901\)](https://git.cafe/pingdotgg/t3code/commit/ee11fbd971b2f94d7ba2ec411a36581671f8494a?format=markdown) — ee11fbd971b2f94d7ba2ec411a36581671f8494a; Theo Browne

- [fix\(scripts\): mobile lint fails instead of passing when ktlint or detekt is missing \(\#22896\)](https://git.cafe/pingdotgg/t3code/commit/aef8b6fcf0f6cc5cc901618b3723dd60317e7ac4?format=markdown) — aef8b6fcf0f6cc5cc901618b3723dd60317e7ac4; Theo Browne

- [fix\(server\): server tests resolve the macOS temp dir symlink \(\#21442\)](https://git.cafe/pingdotgg/t3code/commit/2a27e153559bc400cf5d1799eee68083c129b3ad?format=markdown) — 2a27e153559bc400cf5d1799eee68083c129b3ad; tatsuaki watanabe

- [test\(telemetry\): keep fixture PIDs from colliding with the test worker \(\#21446\)](https://git.cafe/pingdotgg/t3code/commit/da46db6ea3008f9575657a025d0b57e12d3c9272?format=markdown) — da46db6ea3008f9575657a025d0b57e12d3c9272; Victor Vogel

- [fix\(server\): failed provider updates say why \(\#22506\)](https://git.cafe/pingdotgg/t3code/commit/f08781009f741891a263772ec959e38f69fefccf?format=markdown) — f08781009f741891a263772ec959e38f69fefccf; Koushik_xd

- [docs\(composer\): queued messages follow the Follow-up behavior setting \(\#22857\)](https://git.cafe/pingdotgg/t3code/commit/8541f863747815c515410777d902a2814faf75e9?format=markdown) — 8541f863747815c515410777d902a2814faf75e9; Theo Browne

- [fix\(tailscale\): a timed-out tailscale probe no longer outlives its call \(\#22900\)](https://git.cafe/pingdotgg/t3code/commit/0d876e004aed0b5d6b5fe3bd65d7375d6c29b146?format=markdown) — 0d876e004aed0b5d6b5fe3bd65d7375d6c29b146; Theo Browne

- [fix\(server\): HTML preview reports a browser start error instead of an internal error \(\#22895\)](https://git.cafe/pingdotgg/t3code/commit/60dc0a044c1d0e2fe305eeb2b3cb6311f4fd2d8b?format=markdown) — 60dc0a044c1d0e2fe305eeb2b3cb6311f4fd2d8b; Theo Browne

- [docs\(user\): the outside agents guide says which addresses agents can sign in over \(\#22377\)](https://git.cafe/pingdotgg/t3code/commit/9c6523d5bec7642ccb2fcec50157dd984e2d6176?format=markdown) — 9c6523d5bec7642ccb2fcec50157dd984e2d6176; Gourav Kumar Dhiman

- [fix\(mobile\): chat feed no longer re-derives on every render \(\#22913\)](https://git.cafe/pingdotgg/t3code/commit/71b867080b1dc5853b53417efe15b2443f33f904?format=markdown) — 71b867080b1dc5853b53417efe15b2443f33f904; Theo Browne

- [fix\(server\): a desktop backend whose launcher died shuts down cleanly instead of crashing \(\#22471\)](https://git.cafe/pingdotgg/t3code/commit/2936b90883b2e23b00e1c2a5361ea545c3ac8dff?format=markdown) — 2936b90883b2e23b00e1c2a5361ea545c3ac8dff; Dara Adedeji

- [fix\(pi\): declare properties on MCP tool schemas that omit them \(\#21822\)](https://git.cafe/pingdotgg/t3code/commit/9892aca206279640b17a5453578f9f2b3178800d?format=markdown) — 9892aca206279640b17a5453578f9f2b3178800d; Taissa

- [fix\(server\): Codex no longer offers a one-click update for installs it can't detect \(\#22504\)](https://git.cafe/pingdotgg/t3code/commit/c25ba721ae403aacce6974bb1fb044cc65bb1e79?format=markdown) — c25ba721ae403aacce6974bb1fb044cc65bb1e79; Koushik_xd

- [fix\(cursor\): a closed-stream write in the Cursor SDK no longer stops the server \(\#22897\)](https://git.cafe/pingdotgg/t3code/commit/f54dfc09915d5fd7ee6476cdf446cd978abc197c?format=markdown) — f54dfc09915d5fd7ee6476cdf446cd978abc197c; Theo Browne

- [refactor\(web\): ChatView's paste-to-focus, titlebar controls, and timeline overlays move out \(\#23072\)](https://git.cafe/pingdotgg/t3code/commit/322d08dbd46eecf4446d33d85f9fd7ff08d60f1b?format=markdown) — 322d08dbd46eecf4446d33d85f9fd7ff08d60f1b; Julius Marminge

- [refactor\(web\): ChatView's thread derivations are tested functions in ChatView.logic \(\#23071\)](https://git.cafe/pingdotgg/t3code/commit/9952a7aa518275c4c42f7cf57b28409122a22537?format=markdown) — 9952a7aa518275c4c42f7cf57b28409122a22537; Julius Marminge

- [refactor\(web\): ChatView's pull request checkout lives in usePullRequestDraftThread \(\#23070\)](https://git.cafe/pingdotgg/t3code/commit/114f77fd056346babc1fa9571d947147bed3f72b?format=markdown) — 114f77fd056346babc1fa9571d947147bed3f72b; Julius Marminge

- [refactor\(web\): ChatView's model, mode, and workspace choices live in useComposerSelection \(\#23069\)](https://git.cafe/pingdotgg/t3code/commit/976a601b87342646913ee9f77226762a9f7ad82a?format=markdown) — 976a601b87342646913ee9f77226762a9f7ad82a; Julius Marminge

- [refactor\(web\): ChatView's project clone banner lives in useProjectCloneBanner \(\#23068\)](https://git.cafe/pingdotgg/t3code/commit/7be791c675347ac75eb32e89cf28370db2b08341?format=markdown) — 7be791c675347ac75eb32e89cf28370db2b08341; Julius Marminge

- [refactor\(web\): ChatView's attachment preview handoff lives in useAttachmentPreviewHandoff \(\#23067\)](https://git.cafe/pingdotgg/t3code/commit/5b8298c23848ffe20f2185a48d6d064eb18e1c77?format=markdown) — 5b8298c23848ffe20f2185a48d6d064eb18e1c77; Julius Marminge

- [refactor\(web\): ChatView's revert, rollback, and fork live in useTimelineRewind \(\#23066\)](https://git.cafe/pingdotgg/t3code/commit/9f087f782c2357f3c08b79266e23e3b2299626c1?format=markdown) — 9f087f782c2357f3c08b79266e23e3b2299626c1; Julius Marminge

- [refactor\(web\): ChatView's snooze, settle, and checkout actions live in useThreadLifecycle \(\#23065\)](https://git.cafe/pingdotgg/t3code/commit/92105d49946474a048f2fccadb3d2c1300d7d27b?format=markdown) — 92105d49946474a048f2fccadb3d2c1300d7d27b; Julius Marminge

- [refactor\(web\): ChatView's right panel actions live in useRightPanelActions \(\#23064\)](https://git.cafe/pingdotgg/t3code/commit/ebe828cd9ddee677d8c9adb3f5c33a772d285978?format=markdown) — ebe828cd9ddee677d8c9adb3f5c33a772d285978; Julius Marminge

- [refactor\(web\): ChatView's terminal actions live in useChatTerminalActions \(\#23063\)](https://git.cafe/pingdotgg/t3code/commit/379a391fcb9951afae0bcf1afe61236f095fc867?format=markdown) — 379a391fcb9951afae0bcf1afe61236f095fc867; Julius Marminge

- [refactor\(web\): ChatView's send paths live in useComposerSend \(\#23062\)](https://git.cafe/pingdotgg/t3code/commit/f136d5a75515c7eee9d2ce0c50a20ca140fec32c?format=markdown) — f136d5a75515c7eee9d2ce0c50a20ca140fec32c; Julius Marminge

- [refactor\(web\): composer key handling lives in useComposerCommandKey \(\#23060\)](https://git.cafe/pingdotgg/t3code/commit/e78f58046876271109bf6985e8f46769d8e7505d?format=markdown) — e78f58046876271109bf6985e8f46769d8e7505d; Julius Marminge

- [refactor\(web\): the composer's footer controls render in ComposerControlsBar \(\#23058\)](https://git.cafe/pingdotgg/t3code/commit/1444b3f99442630c92abfb5157840d500487d145?format=markdown) — 1444b3f99442630c92abfb5157840d500487d145; Julius Marminge

- [refactor\(web\): composer file intake lives in useComposerAttachmentIntake \(\#23049\)](https://git.cafe/pingdotgg/t3code/commit/98c494ec69a47871d8544e45df23d61928326692?format=markdown) — 98c494ec69a47871d8544e45df23d61928326692; Julius Marminge

- [refactor\(web\): composer context imports live in useComposerContextImport \(\#23048\)](https://git.cafe/pingdotgg/t3code/commit/fa3700214ec1701c9b28d1ab5debcc1d66bbb2c9?format=markdown) — fa3700214ec1701c9b28d1ab5debcc1d66bbb2c9; Julius Marminge

- [refactor\(web\): the prompt stash lives in useComposerStash \(\#23046\)](https://git.cafe/pingdotgg/t3code/commit/0755f98401fec0f3400d4c4ef2294aa92ace39d1?format=markdown) — 0755f98401fec0f3400d4c4ef2294aa92ace39d1; Julius Marminge

- [refactor\(web\): the composer's layout and provider hooks live in their own files \(\#23042\)](https://git.cafe/pingdotgg/t3code/commit/22fd2aca1fcfc4d9d45fa7352796dc6a8d8b95a6?format=markdown) — 22fd2aca1fcfc4d9d45fa7352796dc6a8d8b95a6; Julius Marminge

- [perf\(web\): typing no longer re-renders the traits picker or attach button \(\#23040\)](https://git.cafe/pingdotgg/t3code/commit/c19d9977d483f8c661c9ad6bede0f1d8da517d31?format=markdown) — c19d9977d483f8c661c9ad6bede0f1d8da517d31; Julius Marminge

- [feat\(claude\): idle compaction has a global default and per-instance overrides \(\#23037\)](https://git.cafe/pingdotgg/t3code/commit/d13fc846700e5bb7d63e1bfaabb1e55733912b21?format=markdown) — d13fc846700e5bb7d63e1bfaabb1e55733912b21; Julius Marminge

- [feat\(server,web,mobile\): approvals in full access say why Claude asked \(\#22546\)](https://git.cafe/pingdotgg/t3code/commit/e74924538705d774e2e1c56616485351d33d38db?format=markdown) — e74924538705d774e2e1c56616485351d33d38db; Julius Marminge

- [feat: show automation messages as compact timeline rows \(\#22638\)](https://git.cafe/pingdotgg/t3code/commit/d27c6067a9162150f654e38f455a7a936ef79178?format=markdown) — d27c6067a9162150f654e38f455a7a936ef79178; Julius Marminge

- [fix\(desktop\): use Clerk's upstream fix for abandoned browser sign-ins \(\#23038\)](https://git.cafe/pingdotgg/t3code/commit/41967084e3979818e0bf8fa7cea31ffb6feb7369?format=markdown) — 41967084e3979818e0bf8fa7cea31ffb6feb7369; Robert Soriano

- [refactor\(web\): the add environment dialog owns its form state \(\#22686\)](https://git.cafe/pingdotgg/t3code/commit/0bdf33a34dc520d3ab1364cd116686b3492184bd?format=markdown) — 0bdf33a34dc520d3ab1364cd116686b3492184bd; Julius Marminge

- [perf\(web\): a streaming thread re-renders only its own sidebar row \(\#22730\)](https://git.cafe/pingdotgg/t3code/commit/5a0d1594e8656a382eff73f65a963506f1f35c1a?format=markdown) — 5a0d1594e8656a382eff73f65a963506f1f35c1a; Julius Marminge

- [fix\(server\): removing a worktree on Windows no longer deletes what its junctions point to \(\#21099\)](https://git.cafe/pingdotgg/t3code/commit/fa42465ff6484cad4301e65c40dbf68668fd05a5?format=markdown) — fa42465ff6484cad4301e65c40dbf68668fd05a5; Dara Adedeji

- [docs\(agents\): proof for a bug fix depends on the bug \(\#23008\)](https://git.cafe/pingdotgg/t3code/commit/9179178fdff5ac750c29ef8d6234d5e75538c124?format=markdown) — 9179178fdff5ac750c29ef8d6234d5e75538c124; Julius Marminge

- [fix\(server\): agents get a short, current model list instead of a 55k-character catalog dump \(\#22889\)](https://git.cafe/pingdotgg/t3code/commit/680152e27b2a961686389ca69a1557cbb2c55f08?format=markdown) — 680152e27b2a961686389ca69a1557cbb2c55f08; Theo Browne

- [fix\(desktop\): an abandoned browser sign-in no longer blocks T3 Connect for 3 minutes \(\#22903\)](https://git.cafe/pingdotgg/t3code/commit/810e8f62f0eff2f3b6ae4602f781d9bb80607913?format=markdown) — 810e8f62f0eff2f3b6ae4602f781d9bb80607913; Theo Browne

- [fix\(server\): answered questions say "already answered" instead of "not found" \(\#22850\)](https://git.cafe/pingdotgg/t3code/commit/e822ba78ea23612f57093235f84813f385cf6431?format=markdown) — e822ba78ea23612f57093235f84813f385cf6431; Theo Browne

- [fix\(server\): the background service picks up JAVA_HOME from the login shell \(\#22856\)](https://git.cafe/pingdotgg/t3code/commit/a7c22f12b7f62dbc859749c73ec6f9c031af71d7?format=markdown) — a7c22f12b7f62dbc859749c73ec6f9c031af71d7; Theo Browne

- [fix\(shared\): accept a pasted ChatGPT callback URL that is missing http:// \(\#21750\)](https://git.cafe/pingdotgg/t3code/commit/35e5d6229ba2c121b61e56cd982c6e2fb3112ef0?format=markdown) — 35e5d6229ba2c121b61e56cd982c6e2fb3112ef0; project516

- [fix\(opencode\): out-of-funds failures show OpenCode's message instead of a usage limit \(\#22596\)](https://git.cafe/pingdotgg/t3code/commit/2f021ee7d3fd0130ceebeac00ef2d161a916f6d4?format=markdown) — 2f021ee7d3fd0130ceebeac00ef2d161a916f6d4; fixfon

- [fix\(mcp\): point a bare thread uuid at its mcp: thread in thread_not_found \(\#22452\)](https://git.cafe/pingdotgg/t3code/commit/b260a7cf69d061a3950220c320b85f8ac043a00c?format=markdown) — b260a7cf69d061a3950220c320b85f8ac043a00c; fixfon

- [fix\(server\): commit prompts no longer repeat CLAUDE.md when it matches AGENTS.md \(\#22848\)](https://git.cafe/pingdotgg/t3code/commit/1d9060b9afa0a1305cbe652cd5aadfc59dab59bc?format=markdown) — 1d9060b9afa0a1305cbe652cd5aadfc59dab59bc; Theo Browne

- [fix\(server\): keep Antigravity question options and no-custom-answer flag in V2 \(\#22019\)](https://git.cafe/pingdotgg/t3code/commit/2d408943287b7f9e7cdc8ba6379a617569b21afd?format=markdown) — 2d408943287b7f9e7cdc8ba6379a617569b21afd; fixfon

- [fix\(gitlab\): merge request diffs page 30 files at a time so GitLab 15.7 to 17.10 answer \(\#21909\)](https://git.cafe/pingdotgg/t3code/commit/588150e39d375b1316ab8093a3f604dc31edc6ae?format=markdown) — 588150e39d375b1316ab8093a3f604dc31edc6ae; Igor Makowski

- [fix\(codex\): keep every path of a multi-file patch \(\#22541\)](https://git.cafe/pingdotgg/t3code/commit/aacd1ee33779c986831c74aee274cb4694dcd900?format=markdown) — aacd1ee33779c986831c74aee274cb4694dcd900; Victor Vogel

- [fix\(server\): avoid expensive diff minimization in status refreshes \(\#21872\)](https://git.cafe/pingdotgg/t3code/commit/370b9ae793bbf2bd7062001bc0b00653dcd61d03?format=markdown) — 370b9ae793bbf2bd7062001bc0b00653dcd61d03; Lakshmi Tanmay

- [fix\(server\): t3 pair in a worktree no longer falls back to the live install \(\#22855\)](https://git.cafe/pingdotgg/t3code/commit/448b8a918694e84137f850c6526d75aacfb2292d?format=markdown) — 448b8a918694e84137f850c6526d75aacfb2292d; Theo Browne

- [fix\(server\): delegated Claude children follow your subagent cache TTL setting \(\#22841\)](https://git.cafe/pingdotgg/t3code/commit/066c8fc0cd04c97988ff8892e440189545ac6994?format=markdown) — 066c8fc0cd04c97988ff8892e440189545ac6994; Theo Browne

- [fix\(queue\): send selected held messages when a thread is stopped \(\#22790\)](https://git.cafe/pingdotgg/t3code/commit/96f09c6558b098f05ad0c027afa3846209c03d4f?format=markdown) — 96f09c6558b098f05ad0c027afa3846209c03d4f; Yash Singh

- [fix\(release\): keep Vercel warnings out of deployment URLs \(\#22817\)](https://git.cafe/pingdotgg/t3code/commit/1688f965682d331da16a8c39f049592361f69c8d?format=markdown) — 1688f965682d331da16a8c39f049592361f69c8d; Theo Browne

- [fix\(release\): include pnpm hook in Vercel uploads \(\#22813\)](https://git.cafe/pingdotgg/t3code/commit/688ee52f0e8fcc6c0789f82d8145441b6663e7eb?format=markdown) — 688ee52f0e8fcc6c0789f82d8145441b6663e7eb; Theo Browne

- [fix\(web\): images on their own line no longer sit beside their label \(\#22787\)](https://git.cafe/pingdotgg/t3code/commit/e27a03e94d43b504cfc3933282af913763312afd?format=markdown) — e27a03e94d43b504cfc3933282af913763312afd; Theo Browne

- [fix\(web\): steers split a finished turn's work instead of stacking under it \(\#22783\)](https://git.cafe/pingdotgg/t3code/commit/a8bb769d65b3374314da545920c9f7ee027e2b4c?format=markdown) — a8bb769d65b3374314da545920c9f7ee027e2b4c; Theo Browne

- [fix\(server\): stalled clones say "Stalled" instead of a frozen speed \(\#22780\)](https://git.cafe/pingdotgg/t3code/commit/8fe4206decd202f951a270741cd3d1c8b32dd455?format=markdown) — 8fe4206decd202f951a270741cd3d1c8b32dd455; Theo Browne

- [perf\(dev\): faster first load for shared dev servers \(\#22776\)](https://git.cafe/pingdotgg/t3code/commit/1dfb57287174230e5c386e452f54bb0cce2fc32f?format=markdown) — 1dfb57287174230e5c386e452f54bb0cce2fc32f; Theo Browne

- [fix\(scripts\): check:changed no longer skips knip after a removed import \(\#22784\)](https://git.cafe/pingdotgg/t3code/commit/1f4eae7253149dcc4f5547aca1880ff36b2dc7b0?format=markdown) — 1f4eae7253149dcc4f5547aca1880ff36b2dc7b0; Theo Browne

- [feat\(scripts\): one command checks what the branch changed \(\#22767\)](https://git.cafe/pingdotgg/t3code/commit/74541bab17270c35f4418d4e543d85628632ed8f?format=markdown) — 74541bab17270c35f4418d4e543d85628632ed8f; Theo Browne

- [fix\(web\): ⌘Z undoes a settle even when the composer has focus \(\#22607\)](https://git.cafe/pingdotgg/t3code/commit/21da3061aa006fc852ea4bd84c31ec084a3afa26?format=markdown) — 21da3061aa006fc852ea4bd84c31ec084a3afa26; Theo Browne

- [docs\(agents\): read vendored \.repos with git show when sparse-excluded \(\#22764\)](https://git.cafe/pingdotgg/t3code/commit/6490a9e8748aef55d04d3f4f61b77fba90b4cf1b?format=markdown) — 6490a9e8748aef55d04d3f4f61b77fba90b4cf1b; Theo Browne

- [perf\(server\): skip the macOS xcrun git shim \(\#22759\)](https://git.cafe/pingdotgg/t3code/commit/efdda5e52128c873da07f97c2ffb8ae4b55db8a3?format=markdown) — efdda5e52128c873da07f97c2ffb8ae4b55db8a3; Theo Browne

- [refactor\(web\): saved and T3 Connect environment rows live in their own file \(\#22685\)](https://git.cafe/pingdotgg/t3code/commit/848e352b48f982e0f1fe134aa9712d75ba7da3b9?format=markdown) — 848e352b48f982e0f1fe134aa9712d75ba7da3b9; Julius Marminge

- [refactor\(web\): authorized clients and endpoint rows live in their own file \(\#22684\)](https://git.cafe/pingdotgg/t3code/commit/263eef215de4df504235609e1daaacd637fa42c7?format=markdown) — 263eef215de4df504235609e1daaacd637fa42c7; Julius Marminge

- [refactor\(web\): the connections page's pure helpers live in ConnectionsSettings.logic \(\#22683\)](https://git.cafe/pingdotgg/t3code/commit/9dc28a125a845cd98a7984c72169c4cc34694119?format=markdown) — 9dc28a125a845cd98a7984c72169c4cc34694119; Julius Marminge

- [refactor\(web\): the background activity setting and its dialog live in their own file \(\#22669\)](https://git.cafe/pingdotgg/t3code/commit/381514e7af09293b35d11e21c21e5d7fe65ccb84?format=markdown) — 381514e7af09293b35d11e21c21e5d7fe65ccb84; Julius Marminge

- [refactor\(web\): the appearance settings page lives in its own file \(\#22668\)](https://git.cafe/pingdotgg/t3code/commit/501f5c5757c6e5b60e59b9756c125e37154909d0?format=markdown) — 501f5c5757c6e5b60e59b9756c125e37154909d0; Julius Marminge

More commits follow; continue with `GET /api/repos/pingdotgg/t3code/commits?after=IjU2OGNiYjQyZTM4OWY0NTMyNjkzNDU3YzE5NTY5MDRlMDc4NDEzZTEi`.
