# Commit history · pingdotgg/t3code

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

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

Visibility: public

Requested revision: bd438fb315ffae6cb42e03d24291983ebe4e75bb

Requested commit: bd438fb315ffae6cb42e03d24291983ebe4e75bb

- [fix\(acp\): preserve native slash command prompt shape \(\#19393\)](https://git.cafe/pingdotgg/t3code/commit/bd438fb315ffae6cb42e03d24291983ebe4e75bb?format=markdown) — bd438fb315ffae6cb42e03d24291983ebe4e75bb; James C

- [fix\(server\): title imported Codex threads after the user request \(\#20278\)](https://git.cafe/pingdotgg/t3code/commit/0b896d9ff1ecb45c289ed7c6505ab347ef0a9530?format=markdown) — 0b896d9ff1ecb45c289ed7c6505ab347ef0a9530; Victor Vogel

- [fix\(web\): composer host and workspace tooltips show their shortcuts \(\#21167\)](https://git.cafe/pingdotgg/t3code/commit/70bdbc30b2934db7845d77751d9de5b730c3d674?format=markdown) — 70bdbc30b2934db7845d77751d9de5b730c3d674; Jordan Munch O'Hare

- [fix\(desktop\): the SnapShot GNOME extension loads on GNOME 51 \(\#17436\)](https://git.cafe/pingdotgg/t3code/commit/c32dc2f1c97effffbd0ad77b3bd91cde127bbe6a?format=markdown) — c32dc2f1c97effffbd0ad77b3bd91cde127bbe6a; Igor Makowski

- [fix\(web\): diff counts follow the selected color palette \(\#18288\)](https://git.cafe/pingdotgg/t3code/commit/ba1907e8e0b26de89856e68a4f8692e08c0f28b4?format=markdown) — ba1907e8e0b26de89856e68a4f8692e08c0f28b4; ₿itconym

- [fix\(provider-cursor\): installed node_modules no longer exhaust skill discovery \(\#19806\)](https://git.cafe/pingdotgg/t3code/commit/167f5eca948a40ad613b4649e9cd26524903cb2c?format=markdown) — 167f5eca948a40ad613b4649e9cd26524903cb2c; Scott Norteman

- [fix\(web\): truncate project names only when needed \(\#17208\)](https://git.cafe/pingdotgg/t3code/commit/871c7b77576e2b419d3e48a717c288ef53083f66?format=markdown) — 871c7b77576e2b419d3e48a717c288ef53083f66; Daniel Gurney

- [fix\(web\): the default-branch dialog no longer offers a feature branch it cannot create \(\#18716\)](https://git.cafe/pingdotgg/t3code/commit/7241e7ee5098522926ae5e8ff11c12b97b9d4e68?format=markdown) — 7241e7ee5098522926ae5e8ff11c12b97b9d4e68; Igor Makowski

- [fix\(mobile\): usage chart legend wraps instead of pushing the end date off-screen \(\#18203\)](https://git.cafe/pingdotgg/t3code/commit/2b16747a92b180b488e29b72747c5e8968c857cf?format=markdown) — 2b16747a92b180b488e29b72747c5e8968c857cf; Bartłomiej Czyżewski

- [fix\(web\): stacked composer notices keep their right border \(\#19044\)](https://git.cafe/pingdotgg/t3code/commit/6b3a49b372bdca3ae7233f441aaac32ad2fd344a?format=markdown) — 6b3a49b372bdca3ae7233f441aaac32ad2fd344a; Nikita Maximilian Grimm

- [perf\(server\): colored terminal output no longer copies history one character at a time \(\#21209\)](https://git.cafe/pingdotgg/t3code/commit/c6dfda8e56d37a50fea783d7e6e3db34977248a3?format=markdown) — c6dfda8e56d37a50fea783d7e6e3db34977248a3; Alyx

- [fix\(web\): tapping away from the model picker on a phone no longer presses what is under it \(\#20841\)](https://git.cafe/pingdotgg/t3code/commit/3f2dbd7d11c1ba9d096fbab10b9d4271da2ac5ab?format=markdown) — 3f2dbd7d11c1ba9d096fbab10b9d4271da2ac5ab; Mantas Kantautas

- [fix\(web\): show native caret and selection in file comments \(\#17554\)](https://git.cafe/pingdotgg/t3code/commit/0bdb5a8c64050bd36ba05cd4b220e5f75a0284f7?format=markdown) — 0bdb5a8c64050bd36ba05cd4b220e5f75a0284f7; Fionn Gartlan

- [fix\(web\): citation pills line up with the other composer chips \(\#19547\)](https://git.cafe/pingdotgg/t3code/commit/0224cd13ee38f856b1f817d0c9eded3aca580486?format=markdown) — 0224cd13ee38f856b1f817d0c9eded3aca580486; Abhijeet Singh

- [fix\(web\): expanded composer notices blur the thread behind them \(\#19871\)](https://git.cafe/pingdotgg/t3code/commit/9bf3f97edad02b2418200dc6ff04b41ba2af99d4?format=markdown) — 9bf3f97edad02b2418200dc6ff04b41ba2af99d4; etherious1804

- [fix\(server\): another worktree's install no longer restarts the dev server \(\#21065\)](https://git.cafe/pingdotgg/t3code/commit/390b4c43967e0c798afd2a1b429a136419b4b742?format=markdown) — 390b4c43967e0c798afd2a1b429a136419b4b742; Jackson Miller

- [fix\(web\): name the web app manifest so Chrome offers to install it \(\#19175\)](https://git.cafe/pingdotgg/t3code/commit/a35a2be2fe4bc70c946af325dd668d3297df0342?format=markdown) — a35a2be2fe4bc70c946af325dd668d3297df0342; Raj Sutariya

- [fix\(web\): collapsed projects no longer leave a border stub in the legacy sidebar \(\#18314\)](https://git.cafe/pingdotgg/t3code/commit/626a4cbfcfb7ed097f6b876edef4aba90d458223?format=markdown) — 626a4cbfcfb7ed097f6b876edef4aba90d458223; Dennis Bräu

- [fix\(desktop\): remove oversized bars from Hyprland SnapShot animations \(\#10646\)](https://git.cafe/pingdotgg/t3code/commit/8fffe6a29db05c2d479c51acc6a9ac284ac270cf?format=markdown) — 8fffe6a29db05c2d479c51acc6a9ac284ac270cf; Akshar Patel

- [fix\(web\): failed attachment uploads no longer block sending \(\#20737\)](https://git.cafe/pingdotgg/t3code/commit/073734c1e98bf3cb7cb7b2a68d211d7a9f2dceed?format=markdown) — 073734c1e98bf3cb7cb7b2a68d211d7a9f2dceed; voida6

- [fix\(web\): full-screen visual replies keep a gap from the frame edge \(\#20281\)](https://git.cafe/pingdotgg/t3code/commit/3b41d5f98e546c315720743549dddfcd5292cf97?format=markdown) — 3b41d5f98e546c315720743549dddfcd5292cf97; Daniel Vélez

- [fix\(provider-acp\): name the rejected agent path on stderr and test the bash path \(\#18489\)](https://git.cafe/pingdotgg/t3code/commit/1d1a8e5b071413b412481544a9a0c7528a66bb25?format=markdown) — 1d1a8e5b071413b412481544a9a0c7528a66bb25; Victor Vogel

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

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