# Commit history · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 0c4012055deacd43876b80902caad6dd7d6a2eef

Requested commit: 0c4012055deacd43876b80902caad6dd7d6a2eef

- [fix\(clients\): remove redundant prefix from PR watch status \(\#17635\)](https://git.cafe/pingdotgg/t3code/commit/0c4012055deacd43876b80902caad6dd7d6a2eef?format=markdown) — 0c4012055deacd43876b80902caad6dd7d6a2eef; Exotic

- [feat\(web\): filter PR comments by bots and resolved threads \(\#17645\)](https://git.cafe/pingdotgg/t3code/commit/6cd02e98f7edd78b7bde9ceff26c829476dbeb77?format=markdown) — 6cd02e98f7edd78b7bde9ceff26c829476dbeb77; Julius Marminge

- [refactor\(shared\): host process references live in a HostProcess module \(\#17641\)](https://git.cafe/pingdotgg/t3code/commit/e30852213ed3954037091582057f71918918e19f?format=markdown) — e30852213ed3954037091582057f71918918e19f; Julius Marminge

- [refactor: home directory comes from a HostProcessHomeDirectory reference \(\#17628\)](https://git.cafe/pingdotgg/t3code/commit/58916b6554f45ac518bd8150dd10f1f536e40aac?format=markdown) — 58916b6554f45ac518bd8150dd10f1f536e40aac; Julius Marminge

- [refactor\(source-control\): Forgejo identity and Azure DevOps addressing move into their packages \(\#17624\)](https://git.cafe/pingdotgg/t3code/commit/51347aca3aa73112bc1e288ae45507ce515f42a2?format=markdown) — 51347aca3aa73112bc1e288ae45507ce515f42a2; Julius Marminge

- [refactor\(source-control\): PullRequestService reads GitHub resolvers, not its kind \(\#17619\)](https://git.cafe/pingdotgg/t3code/commit/2ce3e4ae74deb63bda7aaf059949a12aaaefed56?format=markdown) — 2ce3e4ae74deb63bda7aaf059949a12aaaefed56; Julius Marminge

- [refactor\(source-control\): GitManager reads provider resolvers, not host kinds \(\#17617\)](https://git.cafe/pingdotgg/t3code/commit/49f849ecce3667abab7ce9e6aaa42dfd2e3c45d7?format=markdown) — 49f849ecce3667abab7ce9e6aaa42dfd2e3c45d7; Julius Marminge

- [feat\(mobile\): support Duo in the shared iOS app \(\#12648\)](https://git.cafe/pingdotgg/t3code/commit/c85dc642681a944e644cbbbea7257d274822c21a?format=markdown) — c85dc642681a944e644cbbbea7257d274822c21a; Julius Marminge

- [test\(usage\): v4 cache upgrade test waits for the migrated cache write \(\#17553\)](https://git.cafe/pingdotgg/t3code/commit/a0a0e94822a0c675fbe0792ef94ff218101aeb66?format=markdown) — a0a0e94822a0c675fbe0792ef94ff218101aeb66; Igor Makowski

- [fix\(web\): composer context strip pads both edges evenly \(\#17562\)](https://git.cafe/pingdotgg/t3code/commit/6586a01f41bd692f02d565d38f97b52a8067317e?format=markdown) — 6586a01f41bd692f02d565d38f97b52a8067317e; Daniel Alvim

- [refactor\(usage\): usage readers use Effect FileSystem and SqlClient \(\#17615\)](https://git.cafe/pingdotgg/t3code/commit/b1ec4b36876e7f3ad03a1e9e921286ec7d58fe95?format=markdown) — b1ec4b36876e7f3ad03a1e9e921286ec7d58fe95; Julius Marminge

- [refactor\(usage\): Antigravity usage is a reader on its driver \(\#17579\)](https://git.cafe/pingdotgg/t3code/commit/9a0766b0238f2c044a965dcba32c6cb7ea0b63cd?format=markdown) — 9a0766b0238f2c044a965dcba32c6cb7ea0b63cd; Julius Marminge

- [refactor\(usage\): Cursor account usage comes from provider-cursor \(\#17578\)](https://git.cafe/pingdotgg/t3code/commit/5a9c664b3ec8214cc5847d561efa130ba213eb38?format=markdown) — 5a9c664b3ec8214cc5847d561efa130ba213eb38; Julius Marminge

- [refactor\(usage\): OpenCode usage comes from provider-opencode \(\#17577\)](https://git.cafe/pingdotgg/t3code/commit/23957c704b43c25a253baf2644829e88cf45917f?format=markdown) — 23957c704b43c25a253baf2644829e88cf45917f; Julius Marminge

- [refactor\(usage\): transcript readers come from their drivers \(\#17576\)](https://git.cafe/pingdotgg/t3code/commit/e5dca2332fed450c6f1b3c7472666fbe80531c5a?format=markdown) — e5dca2332fed450c6f1b3c7472666fbe80531c5a; Julius Marminge

- [refactor\(source-control\): GitHub lives in @t3tools/source-control-github \(\#17607\)](https://git.cafe/pingdotgg/t3code/commit/507361bc7301982279b9f115bbae8f22268ce9d6?format=markdown) — 507361bc7301982279b9f115bbae8f22268ce9d6; Julius Marminge

- [refactor\(source-control\): Bitbucket lives in @t3tools/source-control-bitbucket \(\#17597\)](https://git.cafe/pingdotgg/t3code/commit/8d1858d9d608d78b67268cdc52bceb4302ae8870?format=markdown) — 8d1858d9d608d78b67268cdc52bceb4302ae8870; Julius Marminge

- [refactor\(source-control\): GitLab lives in @t3tools/source-control-gitlab \(\#17594\)](https://git.cafe/pingdotgg/t3code/commit/eb459b5afaf42621a6cb2e698715fa017e26e5d7?format=markdown) — eb459b5afaf42621a6cb2e698715fa017e26e5d7; Julius Marminge

- [refactor\(source-control\): Azure DevOps lives in @t3tools/source-control-azure-devops \(\#17592\)](https://git.cafe/pingdotgg/t3code/commit/d01febb509a376d93af2d298a7787449792b5fcb?format=markdown) — d01febb509a376d93af2d298a7787449792b5fcb; Julius Marminge

- [refactor\(source-control\): Forgejo lives in @t3tools/source-control-forgejo \(\#17581\)](https://git.cafe/pingdotgg/t3code/commit/f6e45028efb69d208a45aee8c2fa514adde44977?format=markdown) — f6e45028efb69d208a45aee8c2fa514adde44977; Julius Marminge

- [refactor\(source-control\): add @t3tools/source-control-core \(\#17573\)](https://git.cafe/pingdotgg/t3code/commit/28f11ed7a5a2251ebe4689643b64425760ee5fe4?format=markdown) — 28f11ed7a5a2251ebe4689643b64425760ee5fe4; Julius Marminge

- [refactor\(client\): sign relay request URLs built from the HttpApi contract \(\#17602\)](https://git.cafe/pingdotgg/t3code/commit/0e7abea7c98060db537fe81f31ce5ba7c6d376d0?format=markdown) — 0e7abea7c98060db537fe81f31ce5ba7c6d376d0; Julius Marminge

- [fix\(client\): load earlier turns works for MCP threads over T3 Connect \(\#17599\)](https://git.cafe/pingdotgg/t3code/commit/a1db449fe4fecafcb473340771163e791b7fb3d6?format=markdown) — a1db449fe4fecafcb473340771163e791b7fb3d6; Julius Marminge

- [feat\(desktop\): passkeys in the in-app browser on macOS \(\#16952\)](https://git.cafe/pingdotgg/t3code/commit/454b94a13aea918f27bb060d8d054d4cfb791bc2?format=markdown) — 454b94a13aea918f27bb060d8d054d4cfb791bc2; Julius Marminge

- [fix\(server\): restart inactivity after snoozed threads wake \(\#16674\)](https://git.cafe/pingdotgg/t3code/commit/0a4d789128100ed7ccd6d42f454946aea8edfca8?format=markdown) — 0a4d789128100ed7ccd6d42f454946aea8edfca8; maria

- [feat\(web\): add parent thread breadcrumb navigation \(\#16666\)](https://git.cafe/pingdotgg/t3code/commit/5722496b79079ac317a984f3baca8c88f41af070?format=markdown) — 5722496b79079ac317a984f3baca8c88f41af070; maria

- [fix\(mobile\): show waiting thread status \(\#16693\)](https://git.cafe/pingdotgg/t3code/commit/1fd558d9e25493e2a49da625aa35dc80a52b0257?format=markdown) — 1fd558d9e25493e2a49da625aa35dc80a52b0257; maria

- [fix\(web\): keep checkout stable while pr actions load \(\#16625\)](https://git.cafe/pingdotgg/t3code/commit/7856908b8492b7a5c381aa2d5a5c4d4292eb976b?format=markdown) — 7856908b8492b7a5c381aa2d5a5c4d4292eb976b; maria

- [fix\(devices\): recover stalled video without losing simulator input \(\#17566\)](https://git.cafe/pingdotgg/t3code/commit/ecfb7342edde9160b7df4231d4f145c7e4a30530?format=markdown) — ecfb7342edde9160b7df4231d4f145c7e4a30530; Julius Marminge

- [chore\(deps\): upgrade Effect to 4.0.2 \(\#17571\)](https://git.cafe/pingdotgg/t3code/commit/91a6646efd98622dc9cef7061387e20bc389463f?format=markdown) — 91a6646efd98622dc9cef7061387e20bc389463f; Julius Marminge

- [fix\(web\): pr merge actions stay visible while the stack refreshes \(\#17559\)](https://git.cafe/pingdotgg/t3code/commit/aa8c6662e212a4307bd4e585661da99a358e46d4?format=markdown) — aa8c6662e212a4307bd4e585661da99a358e46d4; maria

- [fix\(marketing\): use app wordmark in header \(\#13240\)](https://git.cafe/pingdotgg/t3code/commit/64972461c0606a4eafdd3cd08056155b6a2fea95?format=markdown) — 64972461c0606a4eafdd3cd08056155b6a2fea95; Lakshmi Tanmay

- [refactor\(provider-cursor\): follow the Effect service conventions \(\#17545\)](https://git.cafe/pingdotgg/t3code/commit/33806e73555107b8ac8fb18fd15b9dfb87ec6557?format=markdown) — 33806e73555107b8ac8fb18fd15b9dfb87ec6557; Julius Marminge

- [refactor\(provider-acp\): ACP, ACP Registry and Grok follow the Effect service conventions \(\#17544\)](https://git.cafe/pingdotgg/t3code/commit/f853d514cab475e73468f7cb7bab1aae48dbe549?format=markdown) — f853d514cab475e73468f7cb7bab1aae48dbe549; Julius Marminge

- [refactor\(provider\): bring opencode, muse, pi, core and testing in line with Effect conventions \(\#17542\)](https://git.cafe/pingdotgg/t3code/commit/31b04e2ee929660d80d5931ed53fd17bf1d33ce6?format=markdown) — 31b04e2ee929660d80d5931ed53fd17bf1d33ce6; Julius Marminge

- [refactor\(provider-core\): MCP provider sessions live in a McpProviderSessions service \(\#17446\)](https://git.cafe/pingdotgg/t3code/commit/784b5625f9e228cca8dd67e6e24e402325672544?format=markdown) — 784b5625f9e228cca8dd67e6e24e402325672544; Julius Marminge

- [refactor\(provider-core\): latest-version lookups go through a ProviderLatestVersions service \(\#17434\)](https://git.cafe/pingdotgg/t3code/commit/68ab16f3084236871685bed5032cb05c7c436dbd?format=markdown) — 68ab16f3084236871685bed5032cb05c7c436dbd; Julius Marminge

- [refactor\(provider-core\): follow the Effect service conventions throughout \(\#17427\)](https://git.cafe/pingdotgg/t3code/commit/b66dd402e86899c3fb4341d46c32d0d69df1eefc?format=markdown) — b66dd402e86899c3fb4341d46c32d0d69df1eefc; Julius Marminge

- [refactor\(provider-core\): expose model metadata through a ModelCatalog port \(\#17417\)](https://git.cafe/pingdotgg/t3code/commit/2c1915b3193f16e2493709b480e6622645d0ca4e?format=markdown) — 2c1915b3193f16e2493709b480e6622645d0ca4e; Julius Marminge

- [fix\(web\): chat content keeps pace with sidebar resizing \(\#17383\)](https://git.cafe/pingdotgg/t3code/commit/a6698271a41a4c1f2c42f25ca5d69cd7d1fa9c30?format=markdown) — a6698271a41a4c1f2c42f25ca5d69cd7d1fa9c30; oliver

- [feat\(web\): assign a thread details panel shortcut \(\#16694\)](https://git.cafe/pingdotgg/t3code/commit/b1508672a63c4799fed6d9091001de00175d9316?format=markdown) — b1508672a63c4799fed6d9091001de00175d9316; maria

- [fix\(web\): distinguish project filter from new project \(\#12113\)](https://git.cafe/pingdotgg/t3code/commit/22ccf8a3dfc9094b4ccdb689e128c67bacbbcdf5?format=markdown) — 22ccf8a3dfc9094b4ccdb689e128c67bacbbcdf5; Lakshmi Tanmay

- [fix\(web\): settled and snoozed lines line up with the messages above them \(\#17191\)](https://git.cafe/pingdotgg/t3code/commit/a947f7c099dd279108a4bdfc5e0cced6c5c30b71?format=markdown) — a947f7c099dd279108a4bdfc5e0cced6c5c30b71; Rakshith Bhat

- [fix\(web\): keep chat banners inside the lane beside the docked details card \(\#17094\)](https://git.cafe/pingdotgg/t3code/commit/c5d4d2d04cce7c7fa60ac1c51974c4328cbaa8e5?format=markdown) — c5d4d2d04cce7c7fa60ac1c51974c4328cbaa8e5; maco

- [fix\(web\): Local environment switch stays reachable after turning it off \(\#17359\)](https://git.cafe/pingdotgg/t3code/commit/2cf0ff0643e23d13658114fbf3a7e76753559755?format=markdown) — 2cf0ff0643e23d13658114fbf3a7e76753559755; Scott Norteman

- [fix\(connect\): Cloudflare and other VPN addresses no longer show as Tailscale \(\#17158\)](https://git.cafe/pingdotgg/t3code/commit/ec80933ac8cd02fec5c97b342462ccc9567cdb1e?format=markdown) — ec80933ac8cd02fec5c97b342462ccc9567cdb1e; shivam

- [fix\(server\): relay client updates no longer drop the host off T3 Connect \(\#17366\)](https://git.cafe/pingdotgg/t3code/commit/101f8b2f55df50d4f8d70ed8e6b8e0edf71a2f31?format=markdown) — 101f8b2f55df50d4f8d70ed8e6b8e0edf71a2f31; Theo Browne

- [refactor\(provider-acp-registry\): move the ACP Registry into its own package \(\#17405\)](https://git.cafe/pingdotgg/t3code/commit/43f8a8de17a7ac1baa7a3cf36d681856de2d8add?format=markdown) — 43f8a8de17a7ac1baa7a3cf36d681856de2d8add; Julius Marminge

- [test\(provider-pi\): cover continuation offers through the driver \(\#17407\)](https://git.cafe/pingdotgg/t3code/commit/cb46c62504aca99295a4a8879644625a20685b7f?format=markdown) — cb46c62504aca99295a4a8879644625a20685b7f; Julius Marminge

- [fix\(server\): reconcile Pi native session rewinds \(\#13839\)](https://git.cafe/pingdotgg/t3code/commit/7a2b1c72beed4f560aebb41aa7b26e0792eeb938?format=markdown) — 7a2b1c72beed4f560aebb41aa7b26e0792eeb938; Wout Stiens

- [fix\(server\): keep the Claude MCP token out of process arguments \(\#17408\)](https://git.cafe/pingdotgg/t3code/commit/c908cea52510ed29199c3cc477204da425601301?format=markdown) — c908cea52510ed29199c3cc477204da425601301; Julius Marminge

- [fix\(server\): Pi loads every selected skill without losing prompt text \(\#17194\)](https://git.cafe/pingdotgg/t3code/commit/3b6af0bd1600f034b0466e1b8ff017fbabeba910?format=markdown) — 3b6af0bd1600f034b0466e1b8ff017fbabeba910; Wout Stiens

- [fix\(server\): a logged-out Claude CLI no longer reports as authenticated \(\#15459\)](https://git.cafe/pingdotgg/t3code/commit/563645cf6e104ad930f4c9b209678a77eef07e65?format=markdown) — 563645cf6e104ad930f4c9b209678a77eef07e65; Yordis Prieto

- [fix\(server\): a timed-out browser drag no longer exits the server \(\#17360\)](https://git.cafe/pingdotgg/t3code/commit/8f760371978f05b49e6f6b6aa4b2c523ab14b4fe?format=markdown) — 8f760371978f05b49e6f6b6aa4b2c523ab14b4fe; Scott Norteman

- [fix\(web\): show a row spinner instead of a banner when expanding a folder \(\#17378\)](https://git.cafe/pingdotgg/t3code/commit/5785df19ea748be0755244582cb70d785f95f830?format=markdown) — 5785df19ea748be0755244582cb70d785f95f830; Julius Marminge

- [refactor\(providers\): adapter factories yield their services \(\#17381\)](https://git.cafe/pingdotgg/t3code/commit/b000eac171318bf0130865387ae33523eecd3019?format=markdown) — b000eac171318bf0130865387ae33523eecd3019; Julius Marminge

- [fix\(desktop\): cancel backend pipe reads to avoid slow shutdown \(\#17386\)](https://git.cafe/pingdotgg/t3code/commit/c9fa1367caff4cd6595386814e1f8bb950d3d3ef?format=markdown) — c9fa1367caff4cd6595386814e1f8bb950d3d3ef; Yash Singh

- [fix\(server\): speed up long thread message sync \(\#17387\)](https://git.cafe/pingdotgg/t3code/commit/42c6623d492850c747b7ba06c1d0f1e1559d0ad5?format=markdown) — 42c6623d492850c747b7ba06c1d0f1e1559d0ad5; Yash Singh

- [refactor\(provider-grok\): move Grok into its own provider package \(\#17357\)](https://git.cafe/pingdotgg/t3code/commit/b707eeb052782cfd8b1ff0445f84b2aaf01da38b?format=markdown) — b707eeb052782cfd8b1ff0445f84b2aaf01da38b; Julius Marminge

- [refactor\(provider-acp\): move the shared ACP adapter into its own package \(\#17354\)](https://git.cafe/pingdotgg/t3code/commit/664bd5e524bb58b23ecab0f2e413fc2ecb4caf55?format=markdown) — 664bd5e524bb58b23ecab0f2e413fc2ecb4caf55; Julius Marminge

- [refactor\(provider-cursor\): move Cursor into its own provider package \(\#17349\)](https://git.cafe/pingdotgg/t3code/commit/b5e4f1e0b0c2c06f183ab6a89072bec21c8334c4?format=markdown) — b5e4f1e0b0c2c06f183ab6a89072bec21c8334c4; Julius Marminge

- [refactor\(provider-opencode\): move OpenCode into its own provider package \(\#17345\)](https://git.cafe/pingdotgg/t3code/commit/e62161bc5b53389a462d066836d47d25df0f4134?format=markdown) — e62161bc5b53389a462d066836d47d25df0f4134; Julius Marminge

- [fix\(auth\): show connection permissions and enforce session lifetime \(\#17370\)](https://git.cafe/pingdotgg/t3code/commit/456930a09db29efdd3d4a397fe214e9ede2d6975?format=markdown) — 456930a09db29efdd3d4a397fe214e9ede2d6975; Julius Marminge

- [refactor\(providers\): namespace-import service modules in core, Muse, Pi, and testing \(\#17375\)](https://git.cafe/pingdotgg/t3code/commit/2c7a446e657e705c257db28540819f4c0115b2fc?format=markdown) — 2c7a446e657e705c257db28540819f4c0115b2fc; Julius Marminge

- [fix\(web\): drop sidebar context before cancelling pointer drag \(\#17373\)](https://git.cafe/pingdotgg/t3code/commit/b0ee7dd48f868c5c02884345f723bebaf616b13d?format=markdown) — b0ee7dd48f868c5c02884345f723bebaf616b13d; Yash Singh

- [fix\(web\): add room for thread timeline markers \(\#17372\)](https://git.cafe/pingdotgg/t3code/commit/29980a31409234b676f97bd477c4e46fdb61a929?format=markdown) — 29980a31409234b676f97bd477c4e46fdb61a929; Yash Singh

- [fix\(server\): agent browser tools stop bloating history, fall back sensibly, and respect ownership \(\#16956\)](https://git.cafe/pingdotgg/t3code/commit/dbd83435347d13d5f456271f4f1f5efe294a111d?format=markdown) — dbd83435347d13d5f456271f4f1f5efe294a111d; Julius Marminge

- [feat\(mobile\): fade working threads and match web's status labels \(\#17368\)](https://git.cafe/pingdotgg/t3code/commit/c724c7cb02aaeb0a23ff6e5e224d17c0fdb9a36b?format=markdown) — c724c7cb02aaeb0a23ff6e5e224d17c0fdb9a36b; Julius Marminge

- [fix\(mobile\): restore chat image previews in the v5 stack \(\#17361\)](https://git.cafe/pingdotgg/t3code/commit/393ff4c968073d8419e5bade06000998602af6ad?format=markdown) — 393ff4c968073d8419e5bade06000998602af6ad; Julius Marminge

- [fix\(web\): semantic branch naming hint lines up with its setting \(\#16972\)](https://git.cafe/pingdotgg/t3code/commit/6308db4ff500b89821e22605f964b1701cead8ee?format=markdown) — 6308db4ff500b89821e22605f964b1701cead8ee; Daniel Alvim

- [refactor\(provider-muse\): move Muse Code into its own provider package \(\#17331\)](https://git.cafe/pingdotgg/t3code/commit/5b78b34bba8645a268900f946858ea1470621c41?format=markdown) — 5b78b34bba8645a268900f946858ea1470621c41; Julius Marminge

- [fix\(web\): images, video, HTML and PDF preview in a thread before its first message \(\#17352\)](https://git.cafe/pingdotgg/t3code/commit/e0c80c198cfbb2afe04528cd6a7ec1d2f21606dd?format=markdown) — e0c80c198cfbb2afe04528cd6a7ec1d2f21606dd; Julius Marminge

- [fix\(desktop\): the t3 command warns instead of installing behind another t3 \(\#17351\)](https://git.cafe/pingdotgg/t3code/commit/3bfbc37dbf37095816eda500f3f1e05cb98bb95b?format=markdown) — 3bfbc37dbf37095816eda500f3f1e05cb98bb95b; Julius Marminge

- [fix\(web\): desktop opens remote environments' browser tabs locally \(\#17316\)](https://git.cafe/pingdotgg/t3code/commit/66298aa926e6a4c95ebecbc576a68634315899c0?format=markdown) — 66298aa926e6a4c95ebecbc576a68634315899c0; Julius Marminge

- [fix\(desktop\): browser tab fixes for fullscreen, shortcuts, links, reload and hidden tabs \(\#16961\)](https://git.cafe/pingdotgg/t3code/commit/d9f7c0caed5cc0fe84cec97f2b6f002084542a4e?format=markdown) — d9f7c0caed5cc0fe84cec97f2b6f002084542a4e; Julius Marminge

- [fix\(server\): environment-hosted browser tabs behave like a normal browser \(\#16963\)](https://git.cafe/pingdotgg/t3code/commit/5754121c23f73201d47a96feb97eca7b96334a2a?format=markdown) — 5754121c23f73201d47a96feb97eca7b96334a2a; Julius Marminge

- [fix\(web\): file previews handle downloads, in-page links, and repo paths, and favicons stop leaking internal hosts \(\#16950\)](https://git.cafe/pingdotgg/t3code/commit/741377ce5fb1578916659cbb93fd403b26dbeb62?format=markdown) — 741377ce5fb1578916659cbb93fd403b26dbeb62; Julius Marminge

- [refactor\(provider-core\): share attachment prompts, notifications, and event loggers \(\#17330\)](https://git.cafe/pingdotgg/t3code/commit/e38b6a188fafd499df347331f8c8279ff320c207?format=markdown) — e38b6a188fafd499df347331f8c8279ff320c207; Julius Marminge

- [fix\(muse\): workflow subagents no longer stall on hidden approvals \(\#17329\)](https://git.cafe/pingdotgg/t3code/commit/d81afa0a6f403bd6e5562ffcee2484089a1fdc3f?format=markdown) — d81afa0a6f403bd6e5562ffcee2484089a1fdc3f; Theo Browne

- [fix\(web\): collapsed composer reserves room for wide send actions \(\#17016\)](https://git.cafe/pingdotgg/t3code/commit/48b71f0eb323d08c8fcadfe54adf34becb2984da?format=markdown) — 48b71f0eb323d08c8fcadfe54adf34becb2984da; maria

- [feat\(models\): tell users when a CLI update unlocks a new model \(\#17307\)](https://git.cafe/pingdotgg/t3code/commit/7b57b723d3b7490b50fffbd99fe89c6aa98fae1f?format=markdown) — 7b57b723d3b7490b50fffbd99fe89c6aa98fae1f; Julius Marminge

- [refactor\(provider-pi\): move Pi into its own provider package \(\#17302\)](https://git.cafe/pingdotgg/t3code/commit/9b0df1358f9f9c3277bcb33777c2435b88ee75c4?format=markdown) — 9b0df1358f9f9c3277bcb33777c2435b88ee75c4; Julius Marminge

- [refactor\(settings\): drop the legacy per-driver providers map \(\#17300\)](https://git.cafe/pingdotgg/t3code/commit/2c1160783ea4b4dcc1c1f1ab04639ffc0aaa289d?format=markdown) — 2c1160783ea4b4dcc1c1f1ab04639ffc0aaa289d; Julius Marminge

- [refactor\(provider-core\): add provider-core and provider-testing packages \(\#17299\)](https://git.cafe/pingdotgg/t3code/commit/9eea28bacd27b2ee6d5183e195c397bba8b515a0?format=markdown) — 9eea28bacd27b2ee6d5183e195c397bba8b515a0; Julius Marminge

- [fix\(shared\): bound cloudflared download with 10-minute timeout \(\#14139\)](https://git.cafe/pingdotgg/t3code/commit/580948708b66f2a971199670f76cb6b43119e9a4?format=markdown) — 580948708b66f2a971199670f76cb6b43119e9a4; Kevin Rajan

- [chore\(shared\): bump managed cloudflared to 2026.10.0 \(\#11184\)](https://git.cafe/pingdotgg/t3code/commit/af3d842a001d030ed528396bf59cf02bbf373cd0?format=markdown) — af3d842a001d030ed528396bf59cf02bbf373cd0; Aaron Queen

- [fix\(shared\): release relay install locks on cancellation \(\#10585\)](https://git.cafe/pingdotgg/t3code/commit/c377d1ca17dbce42008fbb05fccd95468b13d329?format=markdown) — c377d1ca17dbce42008fbb05fccd95468b13d329; Aditya Garud

- [fix\(shared\): relay client install waits out a brief Windows file lock \(\#16998\)](https://git.cafe/pingdotgg/t3code/commit/bd565bd1794f49f176ad137555faa46224716138?format=markdown) — bd565bd1794f49f176ad137555faa46224716138; Scott Norteman

- [fix\(connect\): relay client updates itself and skips incompatible cloudflared \(\#17275\)](https://git.cafe/pingdotgg/t3code/commit/2a93885bac5798a79d55069a0b5dc3e53c6176bc?format=markdown) — 2a93885bac5798a79d55069a0b5dc3e53c6176bc; Julius Marminge

- [fix\(server\): recognize authenticated GitHub Enterprise hosts \(\#11059\)](https://git.cafe/pingdotgg/t3code/commit/cdd331b6c3f78bf24b039b09937b837d2d71a4e7?format=markdown) — cdd331b6c3f78bf24b039b09937b837d2d71a4e7; Grzegorz Mandziak

- [test\(desktop\): expect JetBrains IDEs among remote editors \(\#17291\)](https://git.cafe/pingdotgg/t3code/commit/740f591221bd9651f172237d68b7daba9d050dbd?format=markdown) — 740f591221bd9651f172237d68b7daba9d050dbd; Julius Marminge

- [feat\(editors\): open remote projects in JetBrains IDEs over SSH \(\#17271\)](https://git.cafe/pingdotgg/t3code/commit/df616cc5491dcc7dd80d3ade8decd88f7a652220?format=markdown) — df616cc5491dcc7dd80d3ade8decd88f7a652220; Julius Marminge

- [fix\(server\): keep newly discovered models out of legacy groups \(\#14314\)](https://git.cafe/pingdotgg/t3code/commit/fd25c42ae6e56a82be7219950a746572b1c4d0e9?format=markdown) — fd25c42ae6e56a82be7219950a746572b1c4d0e9; Bilal Bakr

- [fix\(mobile\): preserve navigation after native swipe back \(\#17268\)](https://git.cafe/pingdotgg/t3code/commit/805967a878e6804d58c151f29d2a3d0a06828fd1?format=markdown) — 805967a878e6804d58c151f29d2a3d0a06828fd1; Julius Marminge

- [fix\(server\): Pi discovers workspace skills and commands \(\#17190\)](https://git.cafe/pingdotgg/t3code/commit/0b6ec43c54165a87941b7a070849be8979646040?format=markdown) — 0b6ec43c54165a87941b7a070849be8979646040; Wout Stiens

- [fix\(desktop\): generate valid User-Agent that follows RFC 9110 guidelines \(\#17264\)](https://git.cafe/pingdotgg/t3code/commit/a0066d5cb7d18abd786c1c23bf835f898490fd37?format=markdown) — a0066d5cb7d18abd786c1c23bf835f898490fd37; jztmanyl

- [fix\(server\): Pi editor dialogs prefill the answer composer \(\#17206\)](https://git.cafe/pingdotgg/t3code/commit/e8f5850b824572bab76bf810696f875eb648eff9?format=markdown) — e8f5850b824572bab76bf810696f875eb648eff9; Wout Stiens

- [fix\(web\): stack merge dialog closes as soon as you confirm \(\#17116\)](https://git.cafe/pingdotgg/t3code/commit/eb1cf7bd0efba7364d53907036f5b7eefb379c39?format=markdown) — eb1cf7bd0efba7364d53907036f5b7eefb379c39; oliver

- [fix\(server\): Pi discovers optional T3 tools on demand \(\#17220\)](https://git.cafe/pingdotgg/t3code/commit/de72286ee5777319fde054e7a82023916ce6f481?format=markdown) — de72286ee5777319fde054e7a82023916ce6f481; Wout Stiens

- [fix\(server\): Pi extension wakes get an owned continuation turn \(\#17214\)](https://git.cafe/pingdotgg/t3code/commit/f999eb2a8e7d8db74d4f4ab7dd66f86163e1a226?format=markdown) — f999eb2a8e7d8db74d4f4ab7dd66f86163e1a226; Wout Stiens

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