# Commit history · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 05d60554ec22bb7d9bb0d49b3b3d7f1771d6309b

Requested commit: 05d60554ec22bb7d9bb0d49b3b3d7f1771d6309b

- [fix\(web\): branch picker keeps space below the last branch \(\#21159\)](https://git.cafe/pingdotgg/t3code/commit/05d60554ec22bb7d9bb0d49b3b3d7f1771d6309b?format=markdown) — 05d60554ec22bb7d9bb0d49b3b3d7f1771d6309b; Afonso Ferreira

- [fix\(web\): maximized right panel no longer doubles the sidebar border \(\#18939\)](https://git.cafe/pingdotgg/t3code/commit/06ce02f194d10510dc490fac31d14639acee1331?format=markdown) — 06ce02f194d10510dc490fac31d14639acee1331; Akash Moradiya

- [fix\(web\): keep the diff panel head ref visible when the panel is narrow \(\#19089\)](https://git.cafe/pingdotgg/t3code/commit/db88e6b5bfc9f1ca05e78a62abfe75e3b09f489c?format=markdown) — db88e6b5bfc9f1ca05e78a62abfe75e3b09f489c; Scott Norteman

- [fix\(devices\): keep long diagnostics from hiding device controls \(\#19973\)](https://git.cafe/pingdotgg/t3code/commit/7138e6ef2a9f02a216bedb0b0e51be4c910f1084?format=markdown) — 7138e6ef2a9f02a216bedb0b0e51be4c910f1084; Luís Miguel

- [fix\(mobile\): keep queued-edit context in its draft \(\#18834\)](https://git.cafe/pingdotgg/t3code/commit/7a0755341856b452f70a6358571223950a4f4d3e?format=markdown) — 7a0755341856b452f70a6358571223950a4f4d3e; Alex Southwell

- [fix\(mobile\): Browser address bar stays on one line on iOS \(\#19042\)](https://git.cafe/pingdotgg/t3code/commit/a356999dbf632f17029aa62724e4f47541153a71?format=markdown) — a356999dbf632f17029aa62724e4f47541153a71; IlyaL

- [fix\(web\): code blocks no longer jump when highlighting finishes \(\#20923\)](https://git.cafe/pingdotgg/t3code/commit/219b3c282094e2bfdc65ae77092a1bc224c4d264?format=markdown) — 219b3c282094e2bfdc65ae77092a1bc224c4d264; Akash Moradiya

- [fix\(server\): preserve repository display casing \(\#19202\)](https://git.cafe/pingdotgg/t3code/commit/d218d5b397d5c23098b697a44ae282b094d68ac9?format=markdown) — d218d5b397d5c23098b697a44ae282b094d68ac9; Nei Cardoso de Oliveira Neto

- [fix\(server\): queued messages land after a resume that ran before them \(\#17773\)](https://git.cafe/pingdotgg/t3code/commit/529d8063cc43ca004cb34a3440b6135bcec45955?format=markdown) — 529d8063cc43ca004cb34a3440b6135bcec45955; Lakshmi Tanmay

- [fix\(web\): the model picker offers every saved custom model, not just the first 32 \(\#14961\)](https://git.cafe/pingdotgg/t3code/commit/b5b6c8cf4c00873c15e26fea4973138a755e84ae?format=markdown) — b5b6c8cf4c00873c15e26fea4973138a755e84ae; tiliakoos

- [fix\(web\): center default badges in the reasoning selector \(\#21252\)](https://git.cafe/pingdotgg/t3code/commit/60775b89c5d10d811f7d54a854df969789fdc51c?format=markdown) — 60775b89c5d10d811f7d54a854df969789fdc51c; Afonso Ferreira

- [feat\(mobile\): pull request menu can copy or share the link \(\#21250\)](https://git.cafe/pingdotgg/t3code/commit/2131698181bd48a1d227553b9aa9e9c9fc9dd5fa?format=markdown) — 2131698181bd48a1d227553b9aa9e9c9fc9dd5fa; Julius Marminge

- [fix\(web\): a workflow thread opens with its phases and agents instead of its script \(\#20857\)](https://git.cafe/pingdotgg/t3code/commit/3ff5b3c82a62baddc0c2b1b227e9d3a06190c426?format=markdown) — 3ff5b3c82a62baddc0c2b1b227e9d3a06190c426; Julius Marminge

- [fix\(server\): Claude workflow members stream their thinking and tool calls into their threads \(\#20856\)](https://git.cafe/pingdotgg/t3code/commit/91f8c35dee93bc58b4a626ce6f62ea1dbd42eeb5?format=markdown) — 91f8c35dee93bc58b4a626ce6f62ea1dbd42eeb5; Julius Marminge

- [refactor\(mobile\): Git and Agents sheet headers take theme colours from classes \(\#20409\)](https://git.cafe/pingdotgg/t3code/commit/e1f33e023c804226671736828b7d25e502bdb1db?format=markdown) — e1f33e023c804226671736828b7d25e502bdb1db; oliver

- [perf\(web\): pull request chains parse each link's URL once \(\#21147\)](https://git.cafe/pingdotgg/t3code/commit/9c161462c94f7d9d6d9169da5c841457cbadf213?format=markdown) — 9c161462c94f7d9d6d9169da5c841457cbadf213; Julius Marminge

- [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

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