# Commit history · pingdotgg/t3code

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

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

Visibility: public

Requested revision: e0366ad0e41ccf8a22d8faa665c96fd469d891ce

Requested commit: e0366ad0e41ccf8a22d8faa665c96fd469d891ce

- [perf\(web\): reasoning rows skip the tool-failure text scan \(\#21146\)](https://git.cafe/pingdotgg/t3code/commit/e0366ad0e41ccf8a22d8faa665c96fd469d891ce?format=markdown) — e0366ad0e41ccf8a22d8faa665c96fd469d891ce; Julius Marminge

- [perf\(web\): switching threads no longer re-renders the outgoing thread's rows \(\#21123\)](https://git.cafe/pingdotgg/t3code/commit/91ec4bec2d3f6a9ace351f42e5bdf9f0a009d55a?format=markdown) — 91ec4bec2d3f6a9ace351f42e5bdf9f0a009d55a; Julius Marminge

- [fix\(server\): opening a large database no longer blocks startup for minutes \(\#21122\)](https://git.cafe/pingdotgg/t3code/commit/eb1d80c66765072dd7fd9f96c365820cbae3d48b?format=markdown) — eb1d80c66765072dd7fd9f96c365820cbae3d48b; Theo Browne

- [perf\(web\): switching threads no longer re-renders the chat view for an unchanged preview list \(\#21130\)](https://git.cafe/pingdotgg/t3code/commit/9ba614301c10d77cb5e51189a537029688c6baf0?format=markdown) — 9ba614301c10d77cb5e51189a537029688c6baf0; Julius Marminge

- [test\(web\): ChatMarkdown thread find waits for highlights to settle \(\#21121\)](https://git.cafe/pingdotgg/t3code/commit/d0918f1659f4c19172796c8d1910ca6e4bc18b51?format=markdown) — d0918f1659f4c19172796c8d1910ca6e4bc18b51; Julius Marminge

- [test\(web\): the right panel Escape test advances fake frames until focus returns \(\#21118\)](https://git.cafe/pingdotgg/t3code/commit/c52453717acfd6125c22f7330c04073cf6f1a978?format=markdown) — c52453717acfd6125c22f7330c04073cf6f1a978; Julius Marminge

- [feat\(mobile\): link, unlink and watch a thread's pull requests from its sheet \(\#20394\)](https://git.cafe/pingdotgg/t3code/commit/8fbc22ca955ff165b53be1770196453fea1a7d30?format=markdown) — 8fbc22ca955ff165b53be1770196453fea1a7d30; oliver

- [refactor\(web\): the command palette caches its derived lookups without "use memo" \(\#21116\)](https://git.cafe/pingdotgg/t3code/commit/2e16cf2822b73494fa1c4ffae55014a8e028e04c?format=markdown) — 2e16cf2822b73494fa1c4ffae55014a8e028e04c; Julius Marminge

- [fix\(web\): Working threads can be dragged into chat as references again \(\#19697\)](https://git.cafe/pingdotgg/t3code/commit/8f026485df097cca71f80218a514f4d2e13bbf43?format=markdown) — 8f026485df097cca71f80218a514f4d2e13bbf43; Theo Browne

- [test\(mobile\): measure renders on a device \(\#21001\)](https://git.cafe/pingdotgg/t3code/commit/ea97e8ba3146639c59e96615e3e5a207f9ffba60?format=markdown) — ea97e8ba3146639c59e96615e3e5a207f9ffba60; Julius Marminge

- [fix\(android\): foldable sidebar and layout fixes \(\#21071\)](https://git.cafe/pingdotgg/t3code/commit/6a6ebb278dc70dd859439a3c28960a7d23a1e645?format=markdown) — 6a6ebb278dc70dd859439a3c28960a7d23a1e645; Theo Browne

- [perf\(mobile\): device preview compiles with the React Compiler \(\#20971\)](https://git.cafe/pingdotgg/t3code/commit/3a4d118a518a025e44f11248fc4d2c87eb86aa00?format=markdown) — 3a4d118a518a025e44f11248fc4d2c87eb86aa00; Julius Marminge

- [perf\(mobile\): Connect onboarding compiles with the React Compiler \(\#20970\)](https://git.cafe/pingdotgg/t3code/commit/fe77d643ef8a9abacfa76aeaeb6183a89ac4e1ce?format=markdown) — fe77d643ef8a9abacfa76aeaeb6183a89ac4e1ce; Julius Marminge

- [perf\(mobile\): usage screens compile with the React Compiler \(\#20969\)](https://git.cafe/pingdotgg/t3code/commit/c3a65564f54fbfb3ce7b8029f4553334fb9d7776?format=markdown) — c3a65564f54fbfb3ce7b8029f4553334fb9d7776; Julius Marminge

- [perf\(mobile\): Metro runs the React Compiler, with a coverage ratchet \(\#20967\)](https://git.cafe/pingdotgg/t3code/commit/9b30776b3ea56d92ea4e6ee194b073647dc39000?format=markdown) — 9b30776b3ea56d92ea4e6ee194b073647dc39000; Julius Marminge

- [fix\(web\): table expand button only shows when a cell is cut off \(\#19782\)](https://git.cafe/pingdotgg/t3code/commit/16918b57d6754d6f145e9b6367c825aa31a740da?format=markdown) — 16918b57d6754d6f145e9b6367c825aa31a740da; shivam

- [test\(web\): the right panel Escape test waits for focus to return \(\#21030\)](https://git.cafe/pingdotgg/t3code/commit/96ff44e124711e772111d0a88056985bf8536cf2?format=markdown) — 96ff44e124711e772111d0a88056985bf8536cf2; Julius Marminge

- [fix\(web\): time-based labels update under the React Compiler \(\#21026\)](https://git.cafe/pingdotgg/t3code/commit/e712d9781535ac10cea4ead2d2ccc33b7bb04f2b?format=markdown) — e712d9781535ac10cea4ead2d2ccc33b7bb04f2b; Julius Marminge

- [fix\(web\): a snoozed thread wakes in the open chat view \(\#21019\)](https://git.cafe/pingdotgg/t3code/commit/07cb90286656393e395192d82f5c9980b604ef31?format=markdown) — 07cb90286656393e395192d82f5c9980b604ef31; Julius Marminge

- [feat\(server\): t3 doctor can delete the database from before 0.1.0 \(\#20948\)](https://git.cafe/pingdotgg/t3code/commit/13aa882c22d584de5388dfce3b3ca413387ba059?format=markdown) — 13aa882c22d584de5388dfce3b3ca413387ba059; Julius Marminge

- [fix\(server\): drop V1 projections nothing reads after the V2 upgrade \(\#20947\)](https://git.cafe/pingdotgg/t3code/commit/7e0418a641e3009be070cd4506d6b8aa68d6d486?format=markdown) — 7e0418a641e3009be070cd4506d6b8aa68d6d486; Julius Marminge

- [fix\(release\): release tests install Chromium for the web browser tests \(\#20934\)](https://git.cafe/pingdotgg/t3code/commit/25159b67e321e3745d46c908b638beba5045ea02?format=markdown) — 25159b67e321e3745d46c908b638beba5045ea02; Julius Marminge

- [test\(web\): every React test runs in a real browser \(\#20944\)](https://git.cafe/pingdotgg/t3code/commit/d5b7095a097101ace362fa88003fff4c6f44200b?format=markdown) — d5b7095a097101ace362fa88003fff4c6f44200b; Julius Marminge

- [perf\(web\): the open thread's chat chrome no longer re-renders on every streaming tick \(\#20860\)](https://git.cafe/pingdotgg/t3code/commit/4b1024dafe4766ea7c59546936c21ce0fab8acb3?format=markdown) — 4b1024dafe4766ea7c59546936c21ce0fab8acb3; Julius Marminge

- [test\(web\): provider, usage and relationship tests run in a real browser \(\#20914\)](https://git.cafe/pingdotgg/t3code/commit/133f57a8321767d51610c50a16edb8b7181ededf?format=markdown) — 133f57a8321767d51610c50a16edb8b7181ededf; Julius Marminge

- [test\(web\): chat markdown and timeline tests run in a real browser \(\#20905\)](https://git.cafe/pingdotgg/t3code/commit/da7c4f234db35096af2c16d5e24c60dbe9495583?format=markdown) — da7c4f234db35096af2c16d5e24c60dbe9495583; Julius Marminge

- [test\(web\): pr-and-diff tests run in a real browser \(\#20901\)](https://git.cafe/pingdotgg/t3code/commit/c20eab44e1d9e97a96df21699434032e9da16cbd?format=markdown) — c20eab44e1d9e97a96df21699434032e9da16cbd; Julius Marminge

- [test\(web\): onboarding and usage tests run in a real browser \(\#20902\)](https://git.cafe/pingdotgg/t3code/commit/07680cf7ceaf0920a23217104196f6c982fb37c4?format=markdown) — 07680cf7ceaf0920a23217104196f6c982fb37c4; Julius Marminge

- [perf\(web\): a provider status push no longer re-renders every provider card and model row \(\#20851\)](https://git.cafe/pingdotgg/t3code/commit/db5919d87daffd2d2db16e72602a586feb002adb?format=markdown) — db5919d87daffd2d2db16e72602a586feb002adb; Julius Marminge

- [perf\(client\): provider status pushes no longer re-render environment presentation consumers \(\#20821\)](https://git.cafe/pingdotgg/t3code/commit/4a5dade3b4915cdfd25729d2c24d5751a282ef7e?format=markdown) — 4a5dade3b4915cdfd25729d2c24d5751a282ef7e; Julius Marminge

- [perf\(client\): equal query refetches no longer re-render PR rows \(\#20850\)](https://git.cafe/pingdotgg/t3code/commit/4d679a63244e0f6a2118df6a6488ed1295a87797?format=markdown) — 4d679a63244e0f6a2118df6a6488ed1295a87797; Julius Marminge

- [perf\(web\): another thread streaming no longer re-renders the app root and thread panels \(\#20823\)](https://git.cafe/pingdotgg/t3code/commit/edb21555667dc926bec3f8b2fac41db817b16ae9?format=markdown) — edb21555667dc926bec3f8b2fac41db817b16ae9; Julius Marminge

- [perf\(web\): opening an image preview no longer re-renders the chat view \(\#20845\)](https://git.cafe/pingdotgg/t3code/commit/2fae0f9841448e6edb93d0ebe4cbaf2d546bb38c?format=markdown) — 2fae0f9841448e6edb93d0ebe4cbaf2d546bb38c; Julius Marminge

- [test\(web\): the open-in picker test waits for the menu to close \(\#20892\)](https://git.cafe/pingdotgg/t3code/commit/efef7cbb19941fb6cdb245cfdeba3525b1a77d7b?format=markdown) — efef7cbb19941fb6cdb245cfdeba3525b1a77d7b; Julius Marminge

- [fix\(web\): a project action's error belongs to the request that opened it \(\#20891\)](https://git.cafe/pingdotgg/t3code/commit/87ce906e4fba8e7a76426f6bda0553061affb7ab?format=markdown) — 87ce906e4fba8e7a76426f6bda0553061affb7ab; Julius Marminge

- [perf\(web\): typing in form dialogs no longer re-renders the dialog chrome \(\#20842\)](https://git.cafe/pingdotgg/t3code/commit/812b7006f8a12c5c8e55ea65a9cfcebfd328872f?format=markdown) — 812b7006f8a12c5c8e55ea65a9cfcebfd328872f; Julius Marminge

- [perf\(web\): opening chat and usage dialogs no longer re-renders the whole page \(\#20859\)](https://git.cafe/pingdotgg/t3code/commit/d56c479345312605bda6ce479b58aa97cd2acd11?format=markdown) — d56c479345312605bda6ce479b58aa97cd2acd11; Julius Marminge

- [perf\(web\): right panel tabs no longer all re-render on unrelated chat updates \(\#20853\)](https://git.cafe/pingdotgg/t3code/commit/f96aebeb4bbdaf2b3d05177bd115dad4b8b41a8b?format=markdown) — f96aebeb4bbdaf2b3d05177bd115dad4b8b41a8b; Julius Marminge

- [perf\(web\): a client setting write only re-renders readers whose value changed \(\#20848\)](https://git.cafe/pingdotgg/t3code/commit/5c8528fd8a428e88a02b2c920a05fc459608d508?format=markdown) — 5c8528fd8a428e88a02b2c920a05fc459608d508; Julius Marminge

- [perf\(client\): a reconnect snapshot keeps unchanged skills and providers identical \(\#20855\)](https://git.cafe/pingdotgg/t3code/commit/bc5f754baabf62b5488cfb4007d3ab33b6957c03?format=markdown) — bc5f754baabf62b5488cfb4007d3ab33b6957c03; Julius Marminge

- [perf\(web\): provider status pushes no longer re-render every timeline row \(\#20854\)](https://git.cafe/pingdotgg/t3code/commit/ecb938da581938e2a4470e2e52092477e9bcfa2f?format=markdown) — ecb938da581938e2a4470e2e52092477e9bcfa2f; Julius Marminge

- [perf\(web\): markdown replies no longer re-render on reconnects and config pushes \(\#20852\)](https://git.cafe/pingdotgg/t3code/commit/1d00edb23ad6bfade33beba927947d09f1beeca4?format=markdown) — 1d00edb23ad6bfade33beba927947d09f1beeca4; Julius Marminge

- [fix\(web\): chat view no longer renders twice per update \(\#20847\)](https://git.cafe/pingdotgg/t3code/commit/52d593c1a1f33171f6d846e2cf9711fc8188272c?format=markdown) — 52d593c1a1f33171f6d846e2cf9711fc8188272c; Julius Marminge

- [test\(web\): browser tests from different checkouts no longer fight over one port \(\#20875\)](https://git.cafe/pingdotgg/t3code/commit/89b42bfeb4f79408af72fc7bb7a4482e22bb9493?format=markdown) — 89b42bfeb4f79408af72fc7bb7a4482e22bb9493; Julius Marminge

- [test\(web\): chat tests run in a real browser \(\#20870\)](https://git.cafe/pingdotgg/t3code/commit/b827ca48d728484cd2090d6da6f6477e5ca35386?format=markdown) — b827ca48d728484cd2090d6da6f6477e5ca35386; Julius Marminge

- [test\(web\): misc-a tests run in a real browser \(\#20868\)](https://git.cafe/pingdotgg/t3code/commit/ecd95d5eb5c0b897b9d55819756c3dc2e789b29e?format=markdown) — ecd95d5eb5c0b897b9d55819756c3dc2e789b29e; Julius Marminge

- [test\(web\): settings tests run in a real browser \(\#20872\)](https://git.cafe/pingdotgg/t3code/commit/476a010fdc0bbe8ad7bfd856661d0515b913c5cc?format=markdown) — 476a010fdc0bbe8ad7bfd856661d0515b913c5cc; Julius Marminge

- [test\(web\): misc-b tests run in a real browser \(\#20869\)](https://git.cafe/pingdotgg/t3code/commit/a75a6d76435fb2552c84e641ff0a696c17979151?format=markdown) — a75a6d76435fb2552c84e641ff0a696c17979151; Julius Marminge

- [test\(web\): hook-harness tests run in a real browser \(\#20866\)](https://git.cafe/pingdotgg/t3code/commit/e4fb9f2ccfbb362e45e92e49a1939b87872dedc5?format=markdown) — e4fb9f2ccfbb362e45e92e49a1939b87872dedc5; Julius Marminge

- [test\(web\): jsdom-leftovers tests run in a real browser \(\#20862\)](https://git.cafe/pingdotgg/t3code/commit/759f68fdf5b2c34caf3b1d194795e5557a46cc18?format=markdown) — 759f68fdf5b2c34caf3b1d194795e5557a46cc18; Julius Marminge

- [perf\(web\): a minute tick no longer re-renders every sidebar thread row \(\#20814\)](https://git.cafe/pingdotgg/t3code/commit/130f4a2457172eb62bfd53ae9f5fa16cae8be5d5?format=markdown) — 130f4a2457172eb62bfd53ae9f5fa16cae8be5d5; Julius Marminge

- [perf\(web\): router updates no longer re-render thread route consumers \(\#20837\)](https://git.cafe/pingdotgg/t3code/commit/489d08a0549428d3baefd10e610003c10d60e5ef?format=markdown) — 489d08a0549428d3baefd10e610003c10d60e5ef; Julius Marminge

- [perf\(web\): unchanged model picker rows skip re-rendering while searching \(\#20838\)](https://git.cafe/pingdotgg/t3code/commit/74ca17b43704051a39c21c22343a9656f91fbddb?format=markdown) — 74ca17b43704051a39c21c22343a9656f91fbddb; Julius Marminge

- [perf\(web\): searching keybindings only renders rows entering or leaving the filter \(\#20840\)](https://git.cafe/pingdotgg/t3code/commit/734e8876713b0238deb8339ac92982c5bedb02ca?format=markdown) — 734e8876713b0238deb8339ac92982c5bedb02ca; Julius Marminge

- [perf\(web\): typing in the ACP registry search no longer re-renders every result row \(\#20817\)](https://git.cafe/pingdotgg/t3code/commit/1994d6396fda6ce6edff03c57b0757edf5e03b28?format=markdown) — 1994d6396fda6ce6edff03c57b0757edf5e03b28; Julius Marminge

- [perf\(web\): toggling a client setting no longer re-renders every settings row \(\#20830\)](https://git.cafe/pingdotgg/t3code/commit/da0792efb1974df29b0949abb0b7e6479210a9c1?format=markdown) — da0792efb1974df29b0949abb0b7e6479210a9c1; Julius Marminge

- [perf\(web\): relative "checked" labels re-render only when their text changes \(\#20819\)](https://git.cafe/pingdotgg/t3code/commit/2171c50726d82bab6c12f1398fa5b46b82668f45?format=markdown) — 2171c50726d82bab6c12f1398fa5b46b82668f45; Julius Marminge

- [chore\(web\): lint rejects "use memo" directives \(\#20843\)](https://git.cafe/pingdotgg/t3code/commit/2fbd4318fc5b610c3e7fcfcbd5bbd80b73521d8f?format=markdown) — 2fbd4318fc5b610c3e7fcfcbd5bbd80b73521d8f; Julius Marminge

- [refactor\(web\): the command palette provider lookup keeps its caching without "use memo" \(\#20827\)](https://git.cafe/pingdotgg/t3code/commit/e6ced718a3bb35c58986b12fb9f84624974104c2?format=markdown) — e6ced718a3bb35c58986b12fb9f84624974104c2; Julius Marminge

- [refactor\(web\): the hosted browser webview keeps its caching without "use memo" \(\#20824\)](https://git.cafe/pingdotgg/t3code/commit/f03378f70ac37f56276210e193769c970a759047?format=markdown) — f03378f70ac37f56276210e193769c970a759047; Julius Marminge

- [refactor\(web\): the usage page keeps its caching without "use memo" \(\#20807\)](https://git.cafe/pingdotgg/t3code/commit/8c67f77af6b4ca8a34a48f0ea87c684f99e8fa83?format=markdown) — 8c67f77af6b4ca8a34a48f0ea87c684f99e8fa83; Julius Marminge

- [refactor\(web\): chat composer keeps its caching without "use memo" \(\#20834\)](https://git.cafe/pingdotgg/t3code/commit/f9baf517e0df8557b77f7782b193152967ea029c?format=markdown) — f9baf517e0df8557b77f7782b193152967ea029c; Julius Marminge

- [refactor\(web\): the guide excerpt keeps its caching without "use memo" \(\#20798\)](https://git.cafe/pingdotgg/t3code/commit/efdaa4b3536aab52efe6dbb4a2a1f53628b46400?format=markdown) — efdaa4b3536aab52efe6dbb4a2a1f53628b46400; Julius Marminge

- [refactor\(web\): the branch selector keeps its caching without "use memo" \(\#20822\)](https://git.cafe/pingdotgg/t3code/commit/767da3b06dfcd816fdb496c6ad5aeb38741ac507?format=markdown) — 767da3b06dfcd816fdb496c6ad5aeb38741ac507; Julius Marminge

- [refactor\(web\): find reveal refs stay cached without "use memo" \(\#20818\)](https://git.cafe/pingdotgg/t3code/commit/8eddd16067aabcc1d7f09b05d28814132bd27162?format=markdown) — 8eddd16067aabcc1d7f09b05d28814132bd27162; Julius Marminge

- [refactor\(web\): pull request code tab keeps its caching without "use memo" \(\#20816\)](https://git.cafe/pingdotgg/t3code/commit/78f8d38ebb8c7cabddc2a0c9f114d5aa27c95ab3?format=markdown) — 78f8d38ebb8c7cabddc2a0c9f114d5aa27c95ab3; Julius Marminge

- [refactor\(web\): the model picker keeps its caching without "use memo" \(\#20815\)](https://git.cafe/pingdotgg/t3code/commit/44ecfd65b6b1ed4d9163f886e7118fe4258454de?format=markdown) — 44ecfd65b6b1ed4d9163f886e7118fe4258454de; Julius Marminge

- [refactor\(web\): the terminal drawer keeps its caching without "use memo" \(\#20799\)](https://git.cafe/pingdotgg/t3code/commit/c60afa29f154a663c620f31138639d1295644f0a?format=markdown) — c60afa29f154a663c620f31138639d1295644f0a; Julius Marminge

- [refactor\(web\): the pull requests page keeps its caching without "use memo" \(\#20820\)](https://git.cafe/pingdotgg/t3code/commit/805b98e790762e06fe06cd34803e7d502997d138?format=markdown) — 805b98e790762e06fe06cd34803e7d502997d138; Julius Marminge

- [refactor\(web\): turn diff summaries keep their caching without "use memo" \(\#20794\)](https://git.cafe/pingdotgg/t3code/commit/1c33a198c45c88c5fef33b53d27581ac0341a547?format=markdown) — 1c33a198c45c88c5fef33b53d27581ac0341a547; Julius Marminge

- [refactor\(web\): the legacy sidebar keeps its caching without "use memo" \(\#20793\)](https://git.cafe/pingdotgg/t3code/commit/2c722ba396b0b7c8ef66a5eae4e30a6bfd17234a?format=markdown) — 2c722ba396b0b7c8ef66a5eae4e30a6bfd17234a; Julius Marminge

- [refactor\(web\): pull request detail keeps its caching without "use memo" \(\#20811\)](https://git.cafe/pingdotgg/t3code/commit/55ca0bb65ee5b668f309e6f57f9ee7e936173df0?format=markdown) — 55ca0bb65ee5b668f309e6f57f9ee7e936173df0; Julius Marminge

- [refactor\(web\): the usage chart keeps its caching without "use memo" \(\#20792\)](https://git.cafe/pingdotgg/t3code/commit/b30f0df44acf8e41bc45e75451057138db1635bd?format=markdown) — b30f0df44acf8e41bc45e75451057138db1635bd; Julius Marminge

- [fix\(android\): a composer focused through an app switch stays above the keyboard \(\#20803\)](https://git.cafe/pingdotgg/t3code/commit/b987b5785f614171a11af69cfd2b9643ff1fe952?format=markdown) — b987b5785f614171a11af69cfd2b9643ff1fe952; Julius Marminge

- [fix\(android\): menu icons take taps \(\#20802\)](https://git.cafe/pingdotgg/t3code/commit/23a5c774ee375e4d5cccdfc554150790d8decd94?format=markdown) — 23a5c774ee375e4d5cccdfc554150790d8decd94; Julius Marminge

- [test\(web\): React tests run compiled in a real browser \(\#20797\)](https://git.cafe/pingdotgg/t3code/commit/144aae4d4ecd4f1ba803f7b75cfc9379b4f44957?format=markdown) — 144aae4d4ecd4f1ba803f7b75cfc9379b4f44957; Julius Marminge

- [refactor\(server\): route git config through one env helper and end option parsing before names \(\#20440\)](https://git.cafe/pingdotgg/t3code/commit/73d70a444b70c735d990252b453d9b7a4ca63e17?format=markdown) — 73d70a444b70c735d990252b453d9b7a4ca63e17; Julius Marminge

- [refactor\(server\): resolve project and worktree folders in one place \(\#20449\)](https://git.cafe/pingdotgg/t3code/commit/8e0d5e5e4dafb2e9fb9b35190eda456ffed07a18?format=markdown) — 8e0d5e5e4dafb2e9fb9b35190eda456ffed07a18; Julius Marminge

- [chore\(web\): React compiler rules apply to every web file \(\#20791\)](https://git.cafe/pingdotgg/t3code/commit/f4da08069e35b698329ffd1a16d8a5d560dfc1b3?format=markdown) — f4da08069e35b698329ffd1a16d8a5d560dfc1b3; Julius Marminge

- [refactor\(web\): review file patches keep their caching without "use memo" hooks \(\#20788\)](https://git.cafe/pingdotgg/t3code/commit/73af712275f7969774012f8404cea722c8988839?format=markdown) — 73af712275f7969774012f8404cea722c8988839; Julius Marminge

- [refactor\(web\): the new-thread hook keeps its caching without "use memo" \(\#20769\)](https://git.cafe/pingdotgg/t3code/commit/af39520464b0954b376e1a37691c98db4509a9a6?format=markdown) — af39520464b0954b376e1a37691c98db4509a9a6; Julius Marminge

- [refactor\(web\): linked pull request status keeps its caching without "use memo" hooks \(\#20781\)](https://git.cafe/pingdotgg/t3code/commit/bcd3c12f4683effe78a580ac9c271d104a85c975?format=markdown) — bcd3c12f4683effe78a580ac9c271d104a85c975; Julius Marminge

- [refactor\(web\): the keybindings panel keeps its caching without "use memo" hooks \(\#20782\)](https://git.cafe/pingdotgg/t3code/commit/1e436990c2a0b437ccab8ce442568b40a7b8d192?format=markdown) — 1e436990c2a0b437ccab8ce442568b40a7b8d192; Julius Marminge

- [fix\(server\): a running Claude workflow member shows its answer so far \(\#20786\)](https://git.cafe/pingdotgg/t3code/commit/edc703b60a6b4b0800b64017004199f94de4219c?format=markdown) — edc703b60a6b4b0800b64017004199f94de4219c; Julius Marminge

- [refactor\(web\): merged settings stay cached without "use memo" \(\#20765\)](https://git.cafe/pingdotgg/t3code/commit/c0fda31e3e94edc03817a18eaf89bebc328ae7d7?format=markdown) — c0fda31e3e94edc03817a18eaf89bebc328ae7d7; Julius Marminge

- [refactor\(web\): highlighted tokens keep their caching without "use memo" hooks \(\#20760\)](https://git.cafe/pingdotgg/t3code/commit/a89a797f4245c64c3ff675c8b2855fb8349b75f1?format=markdown) — a89a797f4245c64c3ff675c8b2855fb8349b75f1; Julius Marminge

- [refactor\(web\): the open-in picker keeps its caching without "use memo" hooks \(\#20758\)](https://git.cafe/pingdotgg/t3code/commit/83ffe0a8e0a1b7e45af82cb604eb3568f37baa5d?format=markdown) — 83ffe0a8e0a1b7e45af82cb604eb3568f37baa5d; Julius Marminge

- [refactor\(web\): the queued runs control keeps its caching without "use memo" hooks \(\#20779\)](https://git.cafe/pingdotgg/t3code/commit/e6c0c5e8b8504d9f4921d4d332d1bcc9b1ea4cf3?format=markdown) — e6c0c5e8b8504d9f4921d4d332d1bcc9b1ea4cf3; Julius Marminge

- [refactor\(web\): the pending user input panel keeps its caching without "use memo" hooks \(\#20762\)](https://git.cafe/pingdotgg/t3code/commit/4500480e03eb6bbb38f285828791a00bc1499c46?format=markdown) — 4500480e03eb6bbb38f285828791a00bc1499c46; Julius Marminge

- [refactor\(web\): the attachment preview keeps its caching without "use memo" hooks \(\#20757\)](https://git.cafe/pingdotgg/t3code/commit/3f480b84a52f04a7b6a8cfbd1554ff730a7a5c03?format=markdown) — 3f480b84a52f04a7b6a8cfbd1554ff730a7a5c03; Julius Marminge

- [refactor\(web\): the thread lineage panel keeps its caching without "use memo" hooks \(\#20789\)](https://git.cafe/pingdotgg/t3code/commit/583ad66c525b188367f3e70aeed96f32f9b01790?format=markdown) — 583ad66c525b188367f3e70aeed96f32f9b01790; Julius Marminge

- [refactor\(web\): provider models keep their caching without "use memo" \(\#20775\)](https://git.cafe/pingdotgg/t3code/commit/275e7de026e62cdb0aea107fd6a31334e1e15b57?format=markdown) — 275e7de026e62cdb0aea107fd6a31334e1e15b57; Julius Marminge

- [refactor\(web\): the pull request code tab keeps its caching with one "use memo" hook \(\#20773\)](https://git.cafe/pingdotgg/t3code/commit/ba9e9f5736364d029866110f0199769a4e721c56?format=markdown) — ba9e9f5736364d029866110f0199769a4e721c56; Julius Marminge

- [refactor\(web\): the preview bridge keeps its stable thread ref without "use memo" hooks \(\#20746\)](https://git.cafe/pingdotgg/t3code/commit/8dbfd927f9c46502472d5a62199d0f2f7f8b0a49?format=markdown) — 8dbfd927f9c46502472d5a62199d0f2f7f8b0a49; Julius Marminge

- [refactor\(web\): the composer builds model options without a "use memo" hook \(\#20780\)](https://git.cafe/pingdotgg/t3code/commit/d4314e8e1627e2ea46ddea20de9e9deda40b1dcc?format=markdown) — d4314e8e1627e2ea46ddea20de9e9deda40b1dcc; Julius Marminge

- [refactor\(web\): the diff panel keeps its caching without "use memo" hooks \(\#20745\)](https://git.cafe/pingdotgg/t3code/commit/c7838977915adfabf50bad1097d676f83072c410?format=markdown) — c7838977915adfabf50bad1097d676f83072c410; Julius Marminge

- [fix\(client-runtime\): the agents pill counts background agents from earlier turns \(\#20785\)](https://git.cafe/pingdotgg/t3code/commit/b7e376e96e2eb6fe5f23985ddf54172dd5f1fd98?format=markdown) — b7e376e96e2eb6fe5f23985ddf54172dd5f1fd98; Julius Marminge

- [refactor\(web\): the command output panel keeps its caching without "use memo" hooks \(\#20763\)](https://git.cafe/pingdotgg/t3code/commit/3b618903d63687c0e7fa402b90e6ba920faec40b?format=markdown) — 3b618903d63687c0e7fa402b90e6ba920faec40b; Julius Marminge

- [refactor\(web\): the open panel pull request URL keeps its caching without "use memo" \(\#20768\)](https://git.cafe/pingdotgg/t3code/commit/64b16d83a2a91eb07570cb2556861f5ccda01c0a?format=markdown) — 64b16d83a2a91eb07570cb2556861f5ccda01c0a; Julius Marminge

- [refactor\(web\): the pull request detail panel keeps its caching with fewer "use memo" hooks \(\#20761\)](https://git.cafe/pingdotgg/t3code/commit/4dd6a65abe62f570b80725826b67e1763093140a?format=markdown) — 4dd6a65abe62f570b80725826b67e1763093140a; Julius Marminge

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