# Commit history · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commits/refs/heads/chatview-followup/env-change-unmount)

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

Visibility: public

Requested revision: refs/heads/chatview-followup/env-change-unmount

- [fix\(web\): an abandoned machine switch still clears its busy state](https://git.cafe/pingdotgg/t3code/commit/0c58cdd89077024ec5a8a60bbae8147ae9be710f?format=markdown) — 0c58cdd89077024ec5a8a60bbae8147ae9be710f; Julius Marminge

- [fix\(web\): a draft closed mid machine switch no longer rewrites that draft](https://git.cafe/pingdotgg/t3code/commit/3f4ca0f13d41168caa3b9298296b88de3cba228e?format=markdown) — 3f4ca0f13d41168caa3b9298296b88de3cba228e; Julius Marminge

- [refactor\(web\): move the right panel's surface switch out of ChatView \(\#20421\)](https://git.cafe/pingdotgg/t3code/commit/f5cb328aac19302a45a3fe9f7e6864a198cdb1ad?format=markdown) — f5cb328aac19302a45a3fe9f7e6864a198cdb1ad; Julius Marminge

- [perf\(web\): ChatView joins the strict React Compiler list \(\#20418\)](https://git.cafe/pingdotgg/t3code/commit/a09394ec39763716b29f121a8bfbe9afb26dcfc0?format=markdown) — a09394ec39763716b29f121a8bfbe9afb26dcfc0; Julius Marminge

- [perf\(web\): the React Compiler compiles MessagesTimeline \(\#20402\)](https://git.cafe/pingdotgg/t3code/commit/d913b61603a3dce6d2765f9cfab83cfc84b45ccd?format=markdown) — d913b61603a3dce6d2765f9cfab83cfc84b45ccd; Julius Marminge

- [refactor\(web\): move project script editing out of ChatView \(\#20401\)](https://git.cafe/pingdotgg/t3code/commit/bf990c625e7548a7b5b0d7886cf8befd9d94e2f4?format=markdown) — bf990c625e7548a7b5b0d7886cf8befd9d94e2f4; Julius Marminge

- [perf\(web\): ChatComposer compiles with no manual memoization \(\#20397\)](https://git.cafe/pingdotgg/t3code/commit/e925fe754e8e4707626d94f74d25f6eb6735a30e?format=markdown) — e925fe754e8e4707626d94f74d25f6eb6735a30e; Julius Marminge

- [perf\(web\): the sidebar compiles with no manual memoization \(\#20396\)](https://git.cafe/pingdotgg/t3code/commit/2de98f035c3aa84768c2d3a547ed91f0d3daa83e?format=markdown) — 2de98f035c3aa84768c2d3a547ed91f0d3daa83e; Julius Marminge

- [refactor\(web\): move ChatView's keyboard shortcuts into a command map \(\#20393\)](https://git.cafe/pingdotgg/t3code/commit/054337764ae8cbb4cb2ba373f2335e8c1e2aefee?format=markdown) — 054337764ae8cbb4cb2ba373f2335e8c1e2aefee; Julius Marminge

- [perf\(client\): provider status pushes keep unchanged providers identical \(\#20392\)](https://git.cafe/pingdotgg/t3code/commit/0c48f62705df3568d6dcb7abee9361c6ecaad855?format=markdown) — 0c48f62705df3568d6dcb7abee9361c6ecaad855; Julius Marminge

- [perf\(web\): stop re-rendering the conversation on streamed tokens, typing and server pushes \(\#20380\)](https://git.cafe/pingdotgg/t3code/commit/0912b24577ad39b8820000456f91f00b752b1012?format=markdown) — 0912b24577ad39b8820000456f91f00b752b1012; Julius Marminge

- [perf\(web\): let the React Compiler compile ChatView \(\#20379\)](https://git.cafe/pingdotgg/t3code/commit/0e95babaf52c0b5625b6a081309f85c0d8b78356?format=markdown) — 0e95babaf52c0b5625b6a081309f85c0d8b78356; Julius Marminge

- [fix\(web\): stop crashing the native React Compiler on ChatView \(\#20340\)](https://git.cafe/pingdotgg/t3code/commit/9ef927496573c059f9f3b06d0faa4cee37e0e993?format=markdown) — 9ef927496573c059f9f3b06d0faa4cee37e0e993; Julius Marminge

- [refactor\(web\): split two self-contained phases out of onSend \(\#20321\)](https://git.cafe/pingdotgg/t3code/commit/cbee9c9847d0a5db09a12d7aa1ea150f7d6ab38f?format=markdown) — cbee9c9847d0a5db09a12d7aa1ea150f7d6ab38f; Julius Marminge

- [refactor\(web\): move worktree setup progress out of ChatView \(\#20316\)](https://git.cafe/pingdotgg/t3code/commit/d3de2c17c0ce086aab482a219c89c1ed5d6f5cb4?format=markdown) — d3de2c17c0ce086aab482a219c89c1ed5d6f5cb4; Julius Marminge

- [refactor\(web\): move right panel surface closing out of ChatView \(\#20315\)](https://git.cafe/pingdotgg/t3code/commit/c07eddfbed54b79db05fdf9698a9f087f87563bb?format=markdown) — c07eddfbed54b79db05fdf9698a9f087f87563bb; Julius Marminge

- [refactor\(web\): move agent-opened browser and device surfacing out of ChatView \(\#20312\)](https://git.cafe/pingdotgg/t3code/commit/a5539a6b0375968ba8f743b8cc364ef75971d089?format=markdown) — a5539a6b0375968ba8f743b8cc364ef75971d089; Julius Marminge

- [refactor\(web\): move proactive right-panel opening out of ChatView \(\#20309\)](https://git.cafe/pingdotgg/t3code/commit/4283e23392f272fe69a4387d9768af9ed69883a4?format=markdown) — 4283e23392f272fe69a4387d9768af9ed69883a4; Julius Marminge

- [refactor\(web\): move the thread's linked pull request out of ChatView \(\#20308\)](https://git.cafe/pingdotgg/t3code/commit/9302235c5e9ba04d4152f6ebab7bd42bef9de1c6?format=markdown) — 9302235c5e9ba04d4152f6ebab7bd42bef9de1c6; Julius Marminge

- [refactor\(web\): move queued-message editing out of ChatView \(\#20304\)](https://git.cafe/pingdotgg/t3code/commit/4a7083f2b7bc020185b6531988064a407d982434?format=markdown) — 4a7083f2b7bc020185b6531988064a407d982434; Julius Marminge

- [refactor\(web\): move the /usage-limits panel state out of ChatView \(\#20296\)](https://git.cafe/pingdotgg/t3code/commit/65de56ef902be5f908a21fc786406541e11257fa?format=markdown) — 65de56ef902be5f908a21fc786406541e11257fa; Julius Marminge

- [refactor\(web\): let the React Compiler compile usePendingThreadRequests \(\#20294\)](https://git.cafe/pingdotgg/t3code/commit/f7916ad07cc1461fd15e41a70ae045188ae0b6ca?format=markdown) — f7916ad07cc1461fd15e41a70ae045188ae0b6ca; Julius Marminge

- [chore\(lint\): fail lint when the React Compiler skips a listed file \(\#20292\)](https://git.cafe/pingdotgg/t3code/commit/48a16040891d90aa87491c9d215e0bdb40cd6573?format=markdown) — 48a16040891d90aa87491c9d215e0bdb40cd6573; Julius Marminge

- [refactor\(web\): open and close thread terminals through one hook \(\#20289\)](https://git.cafe/pingdotgg/t3code/commit/d109aa74ea07c03f813956466b207815ff39411d?format=markdown) — d109aa74ea07c03f813956466b207815ff39411d; Julius Marminge

- [refactor\(web\): move the persistent terminal drawer and panel out of ChatView.tsx \(\#20164\)](https://git.cafe/pingdotgg/t3code/commit/e00cda2cd8c5d982710fed270cb92b80c817d142?format=markdown) — e00cda2cd8c5d982710fed270cb92b80c817d142; Julius Marminge

- [refactor\(web\): move pending approvals and questions out of ChatView \(\#20161\)](https://git.cafe/pingdotgg/t3code/commit/043bc031e485debdba5dcd62e5894a8725ff396b?format=markdown) — 043bc031e485debdba5dcd62e5894a8725ff396b; Julius Marminge

- [fix\(web\): restore mobile app store links in settings \(\#20422\)](https://git.cafe/pingdotgg/t3code/commit/51f7382aff301e774f52ce10de1a49b5ff9c5589?format=markdown) — 51f7382aff301e774f52ce10de1a49b5ff9c5589; Julius Marminge

- [chore\(mobile\): use upstream Enriched Markdown's wrap toggle and list fixes, plus Android long-press fixes \(\#20400\)](https://git.cafe/pingdotgg/t3code/commit/6cecd22789f11fd325933a5d8859d6c09d6e7261?format=markdown) — 6cecd22789f11fd325933a5d8859d6c09d6e7261; Julius Marminge

- [fix\(mobile\): sidebar toggle works on iPad and iPhone Duo \(\#20406\)](https://git.cafe/pingdotgg/t3code/commit/f8ec357f96a919dacc29dde14f0c7e83f18892eb?format=markdown) — f8ec357f96a919dacc29dde14f0c7e83f18892eb; Max Weinbach

- [fix\(server\): Windows terminal kill no longer waits on timeouts \(\#18519\)](https://git.cafe/pingdotgg/t3code/commit/47d98aca3a145507949f0ce2b3ab3fad096c76ca?format=markdown) — 47d98aca3a145507949f0ce2b3ab3fad096c76ca; Max Weinbach

- [refactor\(mobile\): add a device type flag for iPad and iPhone Duo UI \(\#20399\)](https://git.cafe/pingdotgg/t3code/commit/89ce030d0520a8fb3f749d8635b8319c43e0bde8?format=markdown) — 89ce030d0520a8fb3f749d8635b8319c43e0bde8; Max Weinbach

- [Add mweinbach to the VOUCHED team](https://git.cafe/pingdotgg/t3code/commit/55a823413b31764ca3f41cfa4d38b8d38cd189e3?format=markdown) — 55a823413b31764ca3f41cfa4d38b8d38cd189e3; Julius Marminge

- [fix\(android\): fold tracking starts late and hinge retargets keep the edge \(\#20403\)](https://git.cafe/pingdotgg/t3code/commit/86ac54512ad5735cba6273141416afaa51168348?format=markdown) — 86ac54512ad5735cba6273141416afaa51168348; Alex

- [fix\(android\): keep the split view and menus off the fold crease \(\#19988\)](https://git.cafe/pingdotgg/t3code/commit/543af770b4136bd30222861bbb8a00be7802b4c4?format=markdown) — 543af770b4136bd30222861bbb8a00be7802b4c4; Alex

- [fix\(mobile\): Android fingerprint covers Expo native modules again \(\#20384\)](https://git.cafe/pingdotgg/t3code/commit/67bca6c224b3caf61dc7824f6487d754bcad8f8c?format=markdown) — 67bca6c224b3caf61dc7824f6487d754bcad8f8c; Julius Marminge

- [chore\(deps\): update Expo SDK 58 packages and trim patches \(\#20389\)](https://git.cafe/pingdotgg/t3code/commit/ac251a23f22f3aaa08a41773bcfa7efa9c507278?format=markdown) — ac251a23f22f3aaa08a41773bcfa7efa9c507278; Julius Marminge

- [fix\(mobile\): the app builds and launches again after the Expo update \(\#20131\)](https://git.cafe/pingdotgg/t3code/commit/3b99fb2d2114f57c96bf92e4ed1c7ce5eaa67b1e?format=markdown) — 3b99fb2d2114f57c96bf92e4ed1c7ce5eaa67b1e; voida6

- [chore\(deps\): update Clerk SDKs and reconcile native patch \(\#20359\)](https://git.cafe/pingdotgg/t3code/commit/a3e8cf69debae5942798cbe85845de49d6f84066?format=markdown) — a3e8cf69debae5942798cbe85845de49d6f84066; Julius Marminge

- [fix\(orchestration\): queue follow-ups sent while a thread compacts \(\#20184\)](https://git.cafe/pingdotgg/t3code/commit/a54a44c6693460ac5c2a8529bbe6f9d0931c6477?format=markdown) — a54a44c6693460ac5c2a8529bbe6f9d0931c6477; maria

- [feat\(mobile\): use themed native iOS segmented controls \(\#20327\)](https://git.cafe/pingdotgg/t3code/commit/e58a4857130a93cc58b45dd6ebee14cf08df04ec?format=markdown) — e58a4857130a93cc58b45dd6ebee14cf08df04ec; Julius Marminge

- [fix\(codex\): a slow but healthy Codex no longer shows as Unavailable \(\#15945\)](https://git.cafe/pingdotgg/t3code/commit/cfafb4bb54d244e4612f5681aad3832ea64cb0fb?format=markdown) — cfafb4bb54d244e4612f5681aad3832ea64cb0fb; shivam

- [fix\(web\): keep running status banners on one line \(\#20194\)](https://git.cafe/pingdotgg/t3code/commit/e3b35d1b2440b104f0bc2e357377c348121234dd?format=markdown) — e3b35d1b2440b104f0bc2e357377c348121234dd; Yash Singh

- [fix\(shared\): PRs built on the same PR stay in one stack under their parent \(\#20160\)](https://git.cafe/pingdotgg/t3code/commit/a9c9c7cdb15e695ce72c4afc55fde93f994f6134?format=markdown) — a9c9c7cdb15e695ce72c4afc55fde93f994f6134; shivam

- [fix\(mobile\): publish each Android beta only once](https://git.cafe/pingdotgg/t3code/commit/2577baf8b0dc541283fa93d6919b0e354effadf4?format=markdown) — 2577baf8b0dc541283fa93d6919b0e354effadf4; Julius Marminge

- [bye npm \(\#20148\)](https://git.cafe/pingdotgg/t3code/commit/6b450c75b5db816c864d6b5dfbf703c62b1c3063?format=markdown) — 6b450c75b5db816c864d6b5dfbf703c62b1c3063; Julius Marminge

- [fix\(ios\): show a sidebar toggle on the unfolded iPhone Duo in portrait \(\#20133\)](https://git.cafe/pingdotgg/t3code/commit/d35882eac9d6413ea4fe283c85b7002b0619e565?format=markdown) — d35882eac9d6413ea4fe283c85b7002b0619e565; Alex

- [fix\(cli\): t3 triage and prompts work from the desktop app's t3 on Windows \(\#20162\)](https://git.cafe/pingdotgg/t3code/commit/c0de6bd1b14b2d4c25a777589335ec19bde78f99?format=markdown) — c0de6bd1b14b2d4c25a777589335ec19bde78f99; Julius Marminge

- [style\(mobile\): flatten segmented control surfaces \(\#20163\)](https://git.cafe/pingdotgg/t3code/commit/09c5e7ac012db4f641ba00c1a73ab2b99468ba3d?format=markdown) — 09c5e7ac012db4f641ba00c1a73ab2b99468ba3d; Julius Marminge

- [refactor: prune narration and history comments \(\#19559\)](https://git.cafe/pingdotgg/t3code/commit/86534db4d3525a070589a234d660a3e0373a42ea?format=markdown) — 86534db4d3525a070589a234d660a3e0373a42ea; maria

- [fix\(mobile\): extend iPad sidebar background behind header \(\#20149\)](https://git.cafe/pingdotgg/t3code/commit/ba3582222fcd378fab79d49aee6db65c4b4925b3?format=markdown) — ba3582222fcd378fab79d49aee6db65c4b4925b3; Julius Marminge

- [feat\(mobile\): use shared custom segmented controls \(\#20116\)](https://git.cafe/pingdotgg/t3code/commit/802b5d7c0b861bb60072b9e753477d9079cdc96a?format=markdown) — 802b5d7c0b861bb60072b9e753477d9079cdc96a; Julius Marminge

- [perf\(web\): load project icons as one chunk instead of \~1,700 \(\#20147\)](https://git.cafe/pingdotgg/t3code/commit/b47746bb9c1edd5a9a0769426d311f184a02b08c?format=markdown) — b47746bb9c1edd5a9a0769426d311f184a02b08c; Julius Marminge

- [Add new GitHub user 'bompus' to VOUCHED.td](https://git.cafe/pingdotgg/t3code/commit/9b150f791b8d3c8b284c3c701d2c1ef8aa14df45?format=markdown) — 9b150f791b8d3c8b284c3c701d2c1ef8aa14df45; Julius Marminge

- [fix\(mobile\): a table right under a line of text renders as a table \(\#20120\)](https://git.cafe/pingdotgg/t3code/commit/dcdb0348e4091ebdc69c8ebfaa8537aa319b3c9a?format=markdown) — dcdb0348e4091ebdc69c8ebfaa8537aa319b3c9a; shivam

- [perf\(desktop\): picture-in-picture stops re-encoding an unchanged page \(\#20070\)](https://git.cafe/pingdotgg/t3code/commit/3962ae8586333310eeef655c917389b35f7b679d?format=markdown) — 3962ae8586333310eeef655c917389b35f7b679d; Julius Marminge

- [fix\(mobile\): worktree setup clock pauses on hidden thread screens \(\#20066\)](https://git.cafe/pingdotgg/t3code/commit/e74f477eed81012834e518ba172d0a83e33fe55e?format=markdown) — e74f477eed81012834e518ba172d0a83e33fe55e; Julius Marminge

- [perf\(server\): expanding a wide ignored folder no longer classifies every child \(\#20062\)](https://git.cafe/pingdotgg/t3code/commit/ccca13dcf4a70a45954a3a1a6de8306a67ef9a6f?format=markdown) — ccca13dcf4a70a45954a3a1a6de8306a67ef9a6f; Julius Marminge

- [test\(server\): promoting a queued message into a running Claude turn succeeds \(\#20065\)](https://git.cafe/pingdotgg/t3code/commit/f1e0a4d4d0600b2803e311989151c7f89ced3251?format=markdown) — f1e0a4d4d0600b2803e311989151c7f89ced3251; Julius Marminge

- [fix\(provider-grok\): Grok health checks no longer start Grok's updater \(\#18075\)](https://git.cafe/pingdotgg/t3code/commit/2a7bd1673c7bdad4304b7771944e73c29ecd3c01?format=markdown) — 2a7bd1673c7bdad4304b7771944e73c29ecd3c01; Aaron Queen

- [perf\(web\): saving the thread list cache no longer re-encodes every thread \(\#19915\)](https://git.cafe/pingdotgg/t3code/commit/e2b929f10a4c7436b9f0a5a517aec61ae94394f1?format=markdown) — e2b929f10a4c7436b9f0a5a517aec61ae94394f1; Aaron Queen

- [perf\(web\): run the React Compiler natively instead of through Babel \(\#20114\)](https://git.cafe/pingdotgg/t3code/commit/2dd87a4047a18ad7918e7dc1265469d19d101e0c?format=markdown) — 2dd87a4047a18ad7918e7dc1265469d19d101e0c; Julius Marminge

- [feat\(web\): drag a linked pull request into the composer as a context chip \(\#20102\)](https://git.cafe/pingdotgg/t3code/commit/b67ac65b74feae961f5bdb39e65027bebb99f0cf?format=markdown) — b67ac65b74feae961f5bdb39e65027bebb99f0cf; Julius Marminge

- [perf\(web\): virtualize a thread's linked pull requests \(\#20107\)](https://git.cafe/pingdotgg/t3code/commit/d5139979d427d94d71714e9e59bca1b47832c9a7?format=markdown) — d5139979d427d94d71714e9e59bca1b47832c9a7; Julius Marminge

- [fix\(desktop\): agent typing in a preview tab no longer lands in the app \(\#18556\)](https://git.cafe/pingdotgg/t3code/commit/bb4e4e7eca1d0de27efbc9fb9eab69e5463b9374?format=markdown) — bb4e4e7eca1d0de27efbc9fb9eab69e5463b9374; Julius Marminge

- [fix\(server\): resumed Claude subagents keep updating their own thread \(\#20061\)](https://git.cafe/pingdotgg/t3code/commit/1550058056ba660b8581c8eda990c9d40c493a4b?format=markdown) — 1550058056ba660b8581c8eda990c9d40c493a4b; Julius Marminge

- [fix\(mobile\): make test builds optional and preserve APK releases \(\#20092\)](https://git.cafe/pingdotgg/t3code/commit/83d65833006fa88ec73d3475fcf97ada90df4c53?format=markdown) — 83d65833006fa88ec73d3475fcf97ada90df4c53; Julius Marminge

- [fix\(server\): subagents pick up their parent's renamed worktree branch \(\#20079\)](https://git.cafe/pingdotgg/t3code/commit/4e85a93b20c80c005f395c8cc3bc2c79e41ac175?format=markdown) — 4e85a93b20c80c005f395c8cc3bc2c79e41ac175; maria

- [chore\(deps\): update Expo and Clerk SDKs \(\#20067\)](https://git.cafe/pingdotgg/t3code/commit/f459165344bbe3072f2db185cf17afe1a29d840d?format=markdown) — f459165344bbe3072f2db185cf17afe1a29d840d; Julius Marminge

- [fix\(mobile\): code blocks get a wrap button, long ordered lists keep their numbers \(\#20080\)](https://git.cafe/pingdotgg/t3code/commit/d2d59fa7fe429012b07c46604a2e59788d06ffeb?format=markdown) — d2d59fa7fe429012b07c46604a2e59788d06ffeb; Julius Marminge

- [fix: command output streams live while it runs \(\#15094\)](https://git.cafe/pingdotgg/t3code/commit/a5d97921f6a2a310f55c481763248a313ed3dc17?format=markdown) — a5d97921f6a2a310f55c481763248a313ed3dc17; scratchyone

- [fix\(web\): folder breadcrumbs navigate to parent folders \(\#15045\)](https://git.cafe/pingdotgg/t3code/commit/aa35fb3ec6b130465223c0b1ac6c10a537b81797?format=markdown) — aa35fb3ec6b130465223c0b1ac6c10a537b81797; scratchyone

- [chore\(mobile\): remove the legacy v2 preview channel \(\#20084\)](https://git.cafe/pingdotgg/t3code/commit/11b00afc0268d00692b668674f4b43bb4838795b?format=markdown) — 11b00afc0268d00692b668674f4b43bb4838795b; Julius Marminge

- [fix\(web\): device setup lets you through with only a remote device host \(\#20077\)](https://git.cafe/pingdotgg/t3code/commit/d10969557eabfef50bc395b3e2b84f3068649247?format=markdown) — d10969557eabfef50bc395b3e2b84f3068649247; Julius Marminge

- [feat: suggest t3 doctor when the database has space to reclaim \(\#19437\)](https://git.cafe/pingdotgg/t3code/commit/65d390fc52fe7cc4c481dede0e45cca6b7f5d365?format=markdown) — 65d390fc52fe7cc4c481dede0e45cca6b7f5d365; Julius Marminge

- [feat\(server\): t3 doctor reclaims database space \(\#19436\)](https://git.cafe/pingdotgg/t3code/commit/2b6611ca01316c07ea707cb5e159286818230615?format=markdown) — 2b6611ca01316c07ea707cb5e159286818230615; Julius Marminge

- [fix\(server\): compact superseded history in the background \(\#19435\)](https://git.cafe/pingdotgg/t3code/commit/57522538182fe9ffac2b96c4f35f45a10cc70440?format=markdown) — 57522538182fe9ffac2b96c4f35f45a10cc70440; Julius Marminge

- [fix\(server\): report orphaned managed worktrees \(\#19749\)](https://git.cafe/pingdotgg/t3code/commit/fa1184d29eb0ecad789129118c592d3c8303ee97?format=markdown) — fa1184d29eb0ecad789129118c592d3c8303ee97; maria

- [fix\(mobile\): separate TestFlight and store release versions \(\#20060\)](https://git.cafe/pingdotgg/t3code/commit/2f0a4eb2636129db60b805c68d6b9eecda807de6?format=markdown) — 2f0a4eb2636129db60b805c68d6b9eecda807de6; Julius Marminge

- [fix\(server\): clean up worktrees shared by subagents \(\#19748\)](https://git.cafe/pingdotgg/t3code/commit/e733a40295f3c961260f64f8eb850b561a04937b?format=markdown) — e733a40295f3c961260f64f8eb850b561a04937b; maria

- [fix\(dev\): freeze the worktree setup lockfile \(\#19747\)](https://git.cafe/pingdotgg/t3code/commit/b8e829dc8cbeb9c83968e961996a3614dc1a056f?format=markdown) — b8e829dc8cbeb9c83968e961996a3614dc1a056f; maria

- [fix\(web\): settings stay compact with many connected machines \(\#19744\)](https://git.cafe/pingdotgg/t3code/commit/6d73370ef1c54c2a3bdb187cb72cf6f7b88b44c3?format=markdown) — 6d73370ef1c54c2a3bdb187cb72cf6f7b88b44c3; maria

- [ci: cut per-job setup time \(\#20044\)](https://git.cafe/pingdotgg/t3code/commit/727b4e745ca36d5e23e908a2f94e714316832782?format=markdown) — 727b4e745ca36d5e23e908a2f94e714316832782; maria

- [ci: cache pnpm packages on Blacksmith sticky disks \(\#19634\)](https://git.cafe/pingdotgg/t3code/commit/f6ad94d05c9c50e2abf9c425891966b95237d398?format=markdown) — f6ad94d05c9c50e2abf9c425891966b95237d398; maria

- [ci: run typecheck inside the Build job \(\#19633\)](https://git.cafe/pingdotgg/t3code/commit/369764491556dfae6f36054596585b2f2b1dd670?format=markdown) — 369764491556dfae6f36054596585b2f2b1dd670; maria

- [ci: cache Chromium for server test shards \(\#19632\)](https://git.cafe/pingdotgg/t3code/commit/93176616f4365d989943fec39452ba38d3c341ac?format=markdown) — 93176616f4365d989943fec39452ba38d3c341ac; maria

- [ci: skip jobs a pull request cannot affect \(\#19587\)](https://git.cafe/pingdotgg/t3code/commit/2d743c2f168fd818dd0e14fc13f39203220423ad?format=markdown) — 2d743c2f168fd818dd0e14fc13f39203220423ad; maria

- [fix\(client-runtime\): hide pending context handoff on threads with no sent message \(\#20033\)](https://git.cafe/pingdotgg/t3code/commit/6c84239d6de6f48b78ee704a1216d508a62bba5d?format=markdown) — 6c84239d6de6f48b78ee704a1216d508a62bba5d; maria

- [test\(server\): decouple compatibility fixtures from release version \(\#20068\)](https://git.cafe/pingdotgg/t3code/commit/4d01315273cbd4e8b71e80890932afdf50666f35?format=markdown) — 4d01315273cbd4e8b71e80890932afdf50666f35; Julius Marminge

- [chore\(release\): prepare v0.1.0](https://git.cafe/pingdotgg/t3code/commit/9d26a7986c3fafa4e2cfe50f32ad8cf725081ac4?format=markdown) — 9d26a7986c3fafa4e2cfe50f32ad8cf725081ac4; t3-code\[bot\]

- [perf\(server\): skip Windows probes for desktop-prepared environments \(\#19966\)](https://git.cafe/pingdotgg/t3code/commit/eef0e4e1f96d38d312f44baf377f2d1953f86370?format=markdown) — eef0e4e1f96d38d312f44baf377f2d1953f86370; Julius Marminge

- [perf\(server\): skip unchanged device host refreshes \(\#19961\)](https://git.cafe/pingdotgg/t3code/commit/9a067b2dfa4a07d06c4589b746e50f9f398e35ef?format=markdown) — 9a067b2dfa4a07d06c4589b746e50f9f398e35ef; Julius Marminge

- [perf\(server\): check Android SDK locations before PATH \(\#19960\)](https://git.cafe/pingdotgg/t3code/commit/a175e06cdc8cd08e892c04f38615200638cf3a78?format=markdown) — a175e06cdc8cd08e892c04f38615200638cf3a78; Julius Marminge

- [fix\(shell\): normalize Windows PATH keys in copied environments \(\#19965\)](https://git.cafe/pingdotgg/t3code/commit/d8798dd7e9ae0de05a8b152ccfaca8d7bf2a503d?format=markdown) — d8798dd7e9ae0de05a8b152ccfaca8d7bf2a503d; Julius Marminge

- [refactor\(mobile\): organize design system and shared components \(\#20043\)](https://git.cafe/pingdotgg/t3code/commit/86f4a74c5d789f2b4973616775a6adf19525bf4d?format=markdown) — 86f4a74c5d789f2b4973616775a6adf19525bf4d; Julius Marminge

- [refactor\(mobile\): use shared Menu for markdown long presses \(\#20019\)](https://git.cafe/pingdotgg/t3code/commit/9fbc753ec4033435719dd204f0ad7e6618fb962e?format=markdown) — 9fbc753ec4033435719dd204f0ad7e6618fb962e; Julius Marminge

- [refactor\(mobile\): use native iOS sliders \(\#20016\)](https://git.cafe/pingdotgg/t3code/commit/79b304367ed5482949ba088a5dbdaecb7bfc8536?format=markdown) — 79b304367ed5482949ba088a5dbdaecb7bfc8536; Julius Marminge

- [refactor\(mobile\): unify navigation and floating toolbar APIs \(\#20002\)](https://git.cafe/pingdotgg/t3code/commit/fbbd4596e4298283398c046c8938a87c2db610a3?format=markdown) — fbbd4596e4298283398c046c8938a87c2db610a3; Julius Marminge

- [refactor\(mobile\): adopt shared loading indicators across screens \(\#20001\)](https://git.cafe/pingdotgg/t3code/commit/f3280793fa50765a6181609d746e756179d839f1?format=markdown) — f3280793fa50765a6181609d746e756179d839f1; Julius Marminge

- [refactor\(mobile\): finish shared alert adoption \(\#20000\)](https://git.cafe/pingdotgg/t3code/commit/3b43e3f1f09e0d0cb51d1f9df2629af8c7ae0662?format=markdown) — 3b43e3f1f09e0d0cb51d1f9df2629af8c7ae0662; Julius Marminge

- [refactor\(mobile\): adopt shared alerts in thread and PR screens \(\#19999\)](https://git.cafe/pingdotgg/t3code/commit/e3438b8090937b8a82a6564c05d9e2bc7c7c83bb?format=markdown) — e3438b8090937b8a82a6564c05d9e2bc7c7c83bb; Julius Marminge

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