# Commit history · gitcafe/t3code

[View on GitCafe](https://git.cafe/gitcafe/t3code/commits/cfa4f765ec05950a032b6c1cf9cdfff0c2391545)

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

Visibility: public

Requested revision: cfa4f765ec05950a032b6c1cf9cdfff0c2391545

Requested commit: cfa4f765ec05950a032b6c1cf9cdfff0c2391545

- [fix\(relay\): releasing a tunnel that still has a connector no longer 500s \(\#16250\)](https://git.cafe/gitcafe/t3code/commit/cfa4f765ec05950a032b6c1cf9cdfff0c2391545?format=markdown) — cfa4f765ec05950a032b6c1cf9cdfff0c2391545; Julius Marminge

- [fix\(server\): finished outbox rows and old PR cache files are pruned \(\#16247\)](https://git.cafe/gitcafe/t3code/commit/ca952677321abf9f3762ae4bb0129454e5a63955?format=markdown) — ca952677321abf9f3762ae4bb0129454e5a63955; Julius Marminge

- [fix\(server\): ACP mode states with null descriptions are no longer dropped \(\#16218\)](https://git.cafe/gitcafe/t3code/commit/27ab45593fdcaffe718c1fa54dcbb2df4bd769a2?format=markdown) — 27ab45593fdcaffe718c1fa54dcbb2df4bd769a2; Julius Marminge

- [feat\(web\): see and stop pull request watches in the thread details card \(\#16235\)](https://git.cafe/gitcafe/t3code/commit/3da82d5d384a5f45e3e4a9c5bdb8336eb54e49ff?format=markdown) — 3da82d5d384a5f45e3e4a9c5bdb8336eb54e49ff; Theo Browne

- [feat: agents ask the user for a secret through a private card \(\#15907\)](https://git.cafe/gitcafe/t3code/commit/9f61ba674115f3ddb67a8a1fbe0a0ac8839551bf?format=markdown) — 9f61ba674115f3ddb67a8a1fbe0a0ac8839551bf; Julius Marminge

- [chore\(relay\): match Alchemy to the PS-80 Postgres cluster \(\#16228\)](https://git.cafe/gitcafe/t3code/commit/25d5c7cacb99bc50056edc0ea8d201eac31cfdf4?format=markdown) — 25d5c7cacb99bc50056edc0ea8d201eac31cfdf4; Julius Marminge

- [feat: agents can show HTML pages inline in threads \(\#15968\)](https://git.cafe/gitcafe/t3code/commit/677d1527c3d96b90b2294d9a0aed7d8c8874b29b?format=markdown) — 677d1527c3d96b90b2294d9a0aed7d8c8874b29b; Theo Browne

- [perf: cheaper shell refreshes, one copy of Codex streaming text, no MCP wait polling \(\#15033\)](https://git.cafe/gitcafe/t3code/commit/c138163c8cc39d4a98b2d3d796bcef183013bac5?format=markdown) — c138163c8cc39d4a98b2d3d796bcef183013bac5; Theo Browne

- [feat: new branches use the shorter t3/ prefix \(\#16220\)](https://git.cafe/gitcafe/t3code/commit/2afe87ea4bb94f4dbbd1660a556cbffefd7498a2?format=markdown) — 2afe87ea4bb94f4dbbd1660a556cbffefd7498a2; Theo Browne

- [fix\(server\): delegation sees a fixed provider without the app open \(\#16219\)](https://git.cafe/gitcafe/t3code/commit/cbb731beb36db2330c9a2632b11354315658ea21?format=markdown) — cbb731beb36db2330c9a2632b11354315658ea21; Theo Browne

- [fix\(server\): PR watches stop burning GitHub's rate limit and giving up \(\#16208\)](https://git.cafe/gitcafe/t3code/commit/9e5229b47f7af66e2f88447a49f8ea7f00c734c6?format=markdown) — 9e5229b47f7af66e2f88447a49f8ea7f00c734c6; Theo Browne

- [feat\(relay,server,web,mobile\): opt-in to hold webhooks while offline \(\#15487\)](https://git.cafe/gitcafe/t3code/commit/f33b060cafc96d7c3229744315c230a3b8d1f631?format=markdown) — f33b060cafc96d7c3229744315c230a3b8d1f631; Julius Marminge

- [feat\(web\): create webhook automations and inspect their deliveries \(\#15088\)](https://git.cafe/gitcafe/t3code/commit/ea4b44343d3c8f71cf49a72a266d00eac7389435?format=markdown) — ea4b44343d3c8f71cf49a72a266d00eac7389435; Julius Marminge

- [feat\(mobile\): create and copy webhook automations \(\#15087\)](https://git.cafe/gitcafe/t3code/commit/aee889b0e043fdc652e48850698d08ebc563d5bc?format=markdown) — aee889b0e043fdc652e48850698d08ebc563d5bc; Julius Marminge

- [feat\(relay\): forward webhook requests to the environment's tunnel \(\#15086\)](https://git.cafe/gitcafe/t3code/commit/b070e52d3e6b49c98117249e5b3f0d46edce173a?format=markdown) — b070e52d3e6b49c98117249e5b3f0d46edce173a; Julius Marminge

- [feat\(server\): scheduled tasks can run on a webhook \(\#15085\)](https://git.cafe/gitcafe/t3code/commit/7dfb86a32be6ec064dd8988e1a3b44cc046ff958?format=markdown) — 7dfb86a32be6ec064dd8988e1a3b44cc046ff958; Julius Marminge

- [fix\(server\): PR sync waits out a GitHub rate limit pause instead of failing every PR \(\#16203\)](https://git.cafe/gitcafe/t3code/commit/54b6b667f340c03132e9fc2cb2c3d657571442a2?format=markdown) — 54b6b667f340c03132e9fc2cb2c3d657571442a2; Theo Browne

- [chore\(deps\): bump cursor sdk and astro to clear vulnerable transitives \(\#16214\)](https://git.cafe/gitcafe/t3code/commit/3d2a98f99be10b7621a368f4e05f36a853ac48d1?format=markdown) — 3d2a98f99be10b7621a368f4e05f36a853ac48d1; Julius Marminge

- [fix\(threads\): threads watching a PR stay in Working instead of bouncing to the inbox \(\#16204\)](https://git.cafe/gitcafe/t3code/commit/207f6a10b05cbdaee6fc650e915ba09dbe39d428?format=markdown) — 207f6a10b05cbdaee6fc650e915ba09dbe39d428; Theo Browne

- [docs\(mcp\): thread tools reach threads in any project \(\#15947\)](https://git.cafe/gitcafe/t3code/commit/f5eb25071c042c4a729ddae9fd07bd81804907da?format=markdown) — f5eb25071c042c4a729ddae9fd07bd81804907da; Theo Browne

- [fix: tool screenshots show as images, not base64 text \(\#16199\)](https://git.cafe/gitcafe/t3code/commit/5eb87730871ac6125266b48b98d067de00a19ec7?format=markdown) — 5eb87730871ac6125266b48b98d067de00a19ec7; Theo Browne

- [fix: a failed DPoP key load and a fresh maintenance read are no longer cached \(\#15500\)](https://git.cafe/gitcafe/t3code/commit/2a68a777afda95aa23538b9954c5a15221ed2857?format=markdown) — 2a68a777afda95aa23538b9954c5a15221ed2857; Julius Marminge

- [fix\(server\): PR watch reports a required check that first appears already passed \(\#15804\)](https://git.cafe/gitcafe/t3code/commit/404e229f22ef2dc7e42074d5379d5c554dd2c083?format=markdown) — 404e229f22ef2dc7e42074d5379d5c554dd2c083; Scott Norteman

- [fix\(clients\): dropped connections say why in the client trace \(\#16200\)](https://git.cafe/gitcafe/t3code/commit/5cebd3b814ae171df83fb81db3036fbbca2a660e?format=markdown) — 5cebd3b814ae171df83fb81db3036fbbca2a660e; Theo Browne

- [feat\(source-control\): omit agent credits from PR merge messages \(\#16192\)](https://git.cafe/gitcafe/t3code/commit/24238fee321e2c6bc711832b8cf3698b1f6b30ca?format=markdown) — 24238fee321e2c6bc711832b8cf3698b1f6b30ca; Julius Marminge

- [fix\(server\): PR watch wakes the agent when a bot edits its review comment \(\#15415\)](https://git.cafe/gitcafe/t3code/commit/21eb9a421aff7a8fbe044b1a34bb3e364fb94a68?format=markdown) — 21eb9a421aff7a8fbe044b1a34bb3e364fb94a68; Guillermo Casanova

- [fix\(server\): name the cause of a failed git command \(\#8645\)](https://git.cafe/gitcafe/t3code/commit/f973b1d7d5cd7ffb4dd3c1c61cc0caece09fd1a6?format=markdown) — f973b1d7d5cd7ffb4dd3c1c61cc0caece09fd1a6; Muhammad Waleed

- [fix\(server\): use current SQL import in thread stop tests](https://git.cafe/gitcafe/t3code/commit/73fd3c1ab0d8b2f6add7bbf8c498b9a2a87278ff?format=markdown) — 73fd3c1ab0d8b2f6add7bbf8c498b9a2a87278ff; Julius Marminge

- [feat: native /goal for Codex and Claude, with goal status in the UI \(\#15592\)](https://git.cafe/gitcafe/t3code/commit/a172e1c4e8098c7d8dbe538a375ecc69faf9514d?format=markdown) — a172e1c4e8098c7d8dbe538a375ecc69faf9514d; Theo Browne

- [fix\(server\): Stop also stops delegated tasks and pull request watches \(\#16002\)](https://git.cafe/gitcafe/t3code/commit/f32c23cf1aa9ff177224e93c239165adc67798c0?format=markdown) — f32c23cf1aa9ff177224e93c239165adc67798c0; Theo Browne

- [ci: run the transfer report job on Blacksmith \(\#16178\)](https://git.cafe/gitcafe/t3code/commit/2bffcc52f77bd6ff8be8e91be7a09f455eecbe07?format=markdown) — 2bffcc52f77bd6ff8be8e91be7a09f455eecbe07; Julius Marminge

- [fix\(web\): wrap full status text in composer hover details \(\#16158\)](https://git.cafe/gitcafe/t3code/commit/5b613de175dd2567ae806907440ef83f6cd7c2a4?format=markdown) — 5b613de175dd2567ae806907440ef83f6cd7c2a4; Utkarsh Patil

- [fix\(web\): match subagent timestamp fonts to chat \(\#16151\)](https://git.cafe/gitcafe/t3code/commit/039ddf1143d7dba0e25d0b1b7c8ed0cd3e19f588?format=markdown) — 039ddf1143d7dba0e25d0b1b7c8ed0cd3e19f588; Wout Stiens

- [chore\(refs\): sync Effect and Alchemy references to 4.0.1 and beta.80 \(\#16170\)](https://git.cafe/gitcafe/t3code/commit/6f9cea00ae967f38fa3cdc9c07f92031806f4264?format=markdown) — 6f9cea00ae967f38fa3cdc9c07f92031806f4264; Julius Marminge

- [fix\(server\): worktree threads survive a local branch named t3code \(\#16167\)](https://git.cafe/gitcafe/t3code/commit/b12b3f706d1257b79c69c34699babb6834a72b34?format=markdown) — b12b3f706d1257b79c69c34699babb6834a72b34; Julius Marminge

- [chore\(deps\): upgrade Effect to stable 4.0.1 \(\#16138\)](https://git.cafe/gitcafe/t3code/commit/194c73f3f991558ca540ef6fe0ce75223bbe87a7?format=markdown) — 194c73f3f991558ca540ef6fe0ce75223bbe87a7; Julius Marminge

- [fix\(server\): honor submodule settings when creating worktrees \(\#15594\)](https://git.cafe/gitcafe/t3code/commit/3e6b45028ceec5820dacb37dc3852470ebdc9411?format=markdown) — 3e6b45028ceec5820dacb37dc3852470ebdc9411; Rahul Mishra

- [feat\(acp\): support local provider commands \(\#16021\)](https://git.cafe/gitcafe/t3code/commit/9d029a1df25126745dd70ac561ff25d3f8fbac42?format=markdown) — 9d029a1df25126745dd70ac561ff25d3f8fbac42; maria

- [feat\(server\): bump Antigravity ACP agent to 1.3.0 \(\#15746\)](https://git.cafe/gitcafe/t3code/commit/4dbc0129c244d5869d7598a22f8d9386cca17884?format=markdown) — 4dbc0129c244d5869d7598a22f8d9386cca17884; Dipangshu Roy

- [perf\(mobile\): defer audio recorder creation until dictation \(\#15248\)](https://git.cafe/gitcafe/t3code/commit/c71ca063dfcd8c2e3dcb2bd92adbb2180cbbece3?format=markdown) — c71ca063dfcd8c2e3dcb2bd92adbb2180cbbece3; Julius Marminge

- [perf\(mobile\): reduce shell cache encoding work \(\#15096\)](https://git.cafe/gitcafe/t3code/commit/1c33f3b2b2976b7f4e26698ed69c549de687a97e?format=markdown) — 1c33f3b2b2976b7f4e26698ed69c549de687a97e; Julius Marminge

- [Removed an unused helper from the Android push payload builder \(\#16116\)](https://git.cafe/gitcafe/t3code/commit/31f9d832f4f019ff565beafbd6bb18451fa7039d?format=markdown) — 31f9d832f4f019ff565beafbd6bb18451fa7039d; Kriday Dave

- [refactor\(contracts\): project icons decode forward-compatibly instead of encoding a fallback \(\#16118\)](https://git.cafe/gitcafe/t3code/commit/5c03ced3be8444567db4b50a474619bc5e63db98?format=markdown) — 5c03ced3be8444567db4b50a474619bc5e63db98; Julius Marminge

- [feat\(contracts\): clients tolerate union members they don't know yet \(\#15951\)](https://git.cafe/gitcafe/t3code/commit/ca3f9738c39c3502dd2258aae872f971080969ef?format=markdown) — ca3f9738c39c3502dd2258aae872f971080969ef; Julius Marminge

- [fix\(threads\): stop pull request watches when settling \(\#16095\)](https://git.cafe/gitcafe/t3code/commit/51f7f77f87318a5329d3bab15d513fda5654200b?format=markdown) — 51f7f77f87318a5329d3bab15d513fda5654200b; Bilal Bakr

- [fix\(mobile\): make the routes list match the other settings rows \(\#15958\)](https://git.cafe/gitcafe/t3code/commit/68802a48f9a8f7f7db5ca4d605bdc818be62a804?format=markdown) — 68802a48f9a8f7f7db5ca4d605bdc818be62a804; Julius Marminge

- [fix\(web\): show fast mode beside reasoning as text \(\#16069\)](https://git.cafe/gitcafe/t3code/commit/e22c8804346d4bd45a733803eda826e04e3bbd74?format=markdown) — e22c8804346d4bd45a733803eda826e04e3bbd74; maria

- [fix\(desktop\): bound preview inspector retention and record renderer identity \(\#16032\)](https://git.cafe/gitcafe/t3code/commit/7b797f2b90918e7bae0f710dcf24018b8b0843dc?format=markdown) — 7b797f2b90918e7bae0f710dcf24018b8b0843dc; maria

- [fix\(mobile\): back from a finished subagent in the feed returns to its parent \(\#15844\)](https://git.cafe/gitcafe/t3code/commit/1604ccc9d79f5270fb8e14d60664184bf142c4cb?format=markdown) — 1604ccc9d79f5270fb8e14d60664184bf142c4cb; AKolenda

- [perf\(prs\): share concurrent github routing metadata probes \(\#15853\)](https://git.cafe/gitcafe/t3code/commit/1a3f7ad5085606463a602bd756ca9c04d106fffe?format=markdown) — 1a3f7ad5085606463a602bd756ca9c04d106fffe; maria

- [fix\(prs\): queue fast actions and close batches by dragging \(\#15851\)](https://git.cafe/gitcafe/t3code/commit/7ffa2184a7cfc78d870bf6cbfa4064c51868aef2?format=markdown) — 7ffa2184a7cfc78d870bf6cbfa4064c51868aef2; maria

- [fix\(server\): subagents no longer inherit parent pull-request links \(\#14918\)](https://git.cafe/gitcafe/t3code/commit/7812230572f2d7e042d8d14ada2381fc71377560?format=markdown) — 7812230572f2d7e042d8d14ada2381fc71377560; Simone

- [fix\(server\): Stop ends a Codex command after its thread was settled \(\#15546\)](https://git.cafe/gitcafe/t3code/commit/cf3e714b0f58e29c8fa8660db50d2187e3263b65?format=markdown) — cf3e714b0f58e29c8fa8660db50d2187e3263b65; Theo Browne

- [fix\(mobile\): upgrade Uniwind and remove local patch \(\#14597\)](https://git.cafe/gitcafe/t3code/commit/250e052f44dd313b658abebc707242a7b25be340?format=markdown) — 250e052f44dd313b658abebc707242a7b25be340; Hubert Bieszczad

- [feat\(web\): shell commands in the timeline are syntax highlighted \(\#15037\)](https://git.cafe/gitcafe/t3code/commit/2a778f7a6e7b5f9403c5dbff2c2f4a9ce26c0ade?format=markdown) — 2a778f7a6e7b5f9403c5dbff2c2f4a9ce26c0ade; scratchyone

- [fix\(desktop\): V2 imports stashed prompts and drafts from the V1 profile \(\#15072\)](https://git.cafe/gitcafe/t3code/commit/c40873762863abe34e2e784c518d81cbc08f6662?format=markdown) — c40873762863abe34e2e784c518d81cbc08f6662; Julius Marminge

- [feat\(server\): T3 MCP tools take explicit thread and project targets \(\#15219\)](https://git.cafe/gitcafe/t3code/commit/06e627448bc1ee58487c1a2a9d6bf8d5ef479af3?format=markdown) — 06e627448bc1ee58487c1a2a9d6bf8d5ef479af3; Julius Marminge

- [refactor\(server\): share one keyed lock that releases idle keys \(\#15577\)](https://git.cafe/gitcafe/t3code/commit/37de6cbde65c7cf9ba90a2557c232e63b7e16988?format=markdown) — 37de6cbde65c7cf9ba90a2557c232e63b7e16988; Julius Marminge

- [fix\(server\): queue background notifications during active tools \(\#15892\)](https://git.cafe/gitcafe/t3code/commit/1beb0355d05bbe4a780b238e3138f0a8ed99df5f?format=markdown) — 1beb0355d05bbe4a780b238e3138f0a8ed99df5f; Yash Singh

- [fix\(mobile\): a message that fails to send now says why in the thread \(\#15807\)](https://git.cafe/gitcafe/t3code/commit/a1d9d72aefc2a388ea3915956e9d84d279c87da7?format=markdown) — a1d9d72aefc2a388ea3915956e9d84d279c87da7; shivam

- [fix\(dev\): write bootstrap warnings directly to stderr \(\#15865\)](https://git.cafe/gitcafe/t3code/commit/de09c7566c71a9c01a554b2f163fa50e3e15bfe5?format=markdown) — de09c7566c71a9c01a554b2f163fa50e3e15bfe5; maria

- [fix\(server\): drop the duplicate Option import that breaks main CI \(\#15847\)](https://git.cafe/gitcafe/t3code/commit/1e2ecbd9758830669684b494d4398f626b0576e0?format=markdown) — 1e2ecbd9758830669684b494d4398f626b0576e0; Julius Marminge

- [fix\(dev\): worktree setup never deletes a real env file \(\#15845\)](https://git.cafe/gitcafe/t3code/commit/f8a308fbc90e89cd5f8d41b7fb169a03343bd9b5?format=markdown) — f8a308fbc90e89cd5f8d41b7fb169a03343bd9b5; Julius Marminge

- [fix\(mobile\): back from an agent's thread returns to its parent \(\#15068\)](https://git.cafe/gitcafe/t3code/commit/01f894e23e031ef32c25a15b518a94f20defea6f?format=markdown) — 01f894e23e031ef32c25a15b518a94f20defea6f; AKolenda

- [fix\(web\): center icons in thread details icon buttons \(\#15669\)](https://git.cafe/gitcafe/t3code/commit/ad5178a31aac09c93159ea152daf00720ca56358?format=markdown) — ad5178a31aac09c93159ea152daf00720ca56358; Rakshith Bhat

- [fix\(server\): recover Linux runtime directory for device hub \(\#12402\)](https://git.cafe/gitcafe/t3code/commit/f729e0ebfe7578860585a77ddde8f008e30c2351?format=markdown) — f729e0ebfe7578860585a77ddde8f008e30c2351; maria

- [fix\(server\): expand home-relative media paths \(\#15618\)](https://git.cafe/gitcafe/t3code/commit/f4153a75a4b04e14bd45d1b578af4d1d63cc84e5?format=markdown) — f4153a75a4b04e14bd45d1b578af4d1d63cc84e5; maria

- [perf\(web\): validate monospace fonts when selected \(\#15642\)](https://git.cafe/gitcafe/t3code/commit/bc2748241776066c532f3312a26f1756d9740f9c?format=markdown) — bc2748241776066c532f3312a26f1756d9740f9c; maria

- [revert\(chat\): remove automatic file-link repair \(\#15824\)](https://git.cafe/gitcafe/t3code/commit/801ca76ed6a5b9d5d6a40f6c1ba231d9ffb3757e?format=markdown) — 801ca76ed6a5b9d5d6a40f6c1ba231d9ffb3757e; maria

- [fix\(server\): share MCP tool presentation across providers \(\#15475\)](https://git.cafe/gitcafe/t3code/commit/ec20db4a5a27de45f69f64ca05d17ec1bd96644d?format=markdown) — ec20db4a5a27de45f69f64ca05d17ec1bd96644d; Julius Marminge

- [feat\(clients\): learn an environment's LAN and tailnet addresses \(\#15468\)](https://git.cafe/gitcafe/t3code/commit/745c225f92401ba0950770fa7c3ec67a7067dbeb?format=markdown) — 745c225f92401ba0950770fa7c3ec67a7067dbeb; Julius Marminge

- [feat\(clients\): reach one environment over several routes \(\#15467\)](https://git.cafe/gitcafe/t3code/commit/979ca66cedf10d685c7486da1929297c3693fe43?format=markdown) — 979ca66cedf10d685c7486da1929297c3693fe43; Julius Marminge

- [fix\(cli\): reject accidental server launches \(\#15795\)](https://git.cafe/gitcafe/t3code/commit/fe417dff4cdc149d6873bb4fbaaa388731628d0b?format=markdown) — fe417dff4cdc149d6873bb4fbaaa388731628d0b; maria

- [fix\(server\): Claude threads no longer get stuck after background commands \(\#15770\)](https://git.cafe/gitcafe/t3code/commit/efecd3cf8bcec3d1891b5f5a27dc2f6d797c6448?format=markdown) — efecd3cf8bcec3d1891b5f5a27dc2f6d797c6448; eimexdev

- [revert\(web\): remove automatic compaction before resume \(\#15771\)](https://git.cafe/gitcafe/t3code/commit/2188bdd8b5c0251f40daebdb66647dd0150cf076?format=markdown) — 2188bdd8b5c0251f40daebdb66647dd0150cf076; maria

- [feat\(release\): include nightly changelogs in Discord announcements \(\#15754\)](https://git.cafe/gitcafe/t3code/commit/b4381985db55755ff15340d118160c14006ced13?format=markdown) — b4381985db55755ff15340d118160c14006ced13; Exotic

- [fix\(mobile\): Keep the last line of iOS markdown replies visible \(\#15737\)](https://git.cafe/gitcafe/t3code/commit/484459f0a9633e56214a7cd35b790c96f94190b4?format=markdown) — 484459f0a9633e56214a7cd35b790c96f94190b4; Mike Olson

- [fix\(server\): preserve staging during commit message generation \(\#15532\)](https://git.cafe/gitcafe/t3code/commit/4ee6bfd50ef4a089440d5c3662db2298da9cc50e?format=markdown) — 4ee6bfd50ef4a089440d5c3662db2298da9cc50e; maria

- [fix\(server\): match manual update commands to installed cli \(\#15539\)](https://git.cafe/gitcafe/t3code/commit/3b0093d7164a59bea721e2582e385e984561cd41?format=markdown) — 3b0093d7164a59bea721e2582e385e984561cd41; maria

- [fix\(chat\): repair unclosed local file links in assistant responses \(\#15520\)](https://git.cafe/gitcafe/t3code/commit/0ce43a4eea2f21fe404639c248fb86328c410c5d?format=markdown) — 0ce43a4eea2f21fe404639c248fb86328c410c5d; maria

- [feat\(clients\): tool calls show the call above a muted result, without cards \(\#15506\)](https://git.cafe/gitcafe/t3code/commit/df4ae529eacfff8db38f2f4b9b767d3717446c8a?format=markdown) — df4ae529eacfff8db38f2f4b9b767d3717446c8a; maria

- [fix\(markdown\): preserve descriptive file-link labels \(\#15509\)](https://git.cafe/gitcafe/t3code/commit/1d013c7ca1edc843bd3b5e23fd6573aeeaf9b11d?format=markdown) — 1d013c7ca1edc843bd3b5e23fd6573aeeaf9b11d; maria

- [fix\(web\): reveal sidebar actions for secondary hovering pointers \(\#15536\)](https://git.cafe/gitcafe/t3code/commit/d3bec62ec167e783412effbc929da77167f08c4d?format=markdown) — d3bec62ec167e783412effbc929da77167f08c4d; maria

- [fix\(web\): open provider update details from both icons \(\#15501\)](https://git.cafe/gitcafe/t3code/commit/c346fb679bac106c4c162ab145c27e3c8b9640bd?format=markdown) — c346fb679bac106c4c162ab145c27e3c8b9640bd; maria

- [fix\(source-control\): use the Azure DevOps mark \(\#15512\)](https://git.cafe/gitcafe/t3code/commit/1c6269326a502874677192a844e449577df6279c?format=markdown) — 1c6269326a502874677192a844e449577df6279c; maria

- [fix\(desktop\): keep titlebar controls inset when zoomed \(\#15496\)](https://git.cafe/gitcafe/t3code/commit/71fbe8e013bfddab0935f65a82732e9820bd4b73?format=markdown) — 71fbe8e013bfddab0935f65a82732e9820bd4b73; maria

- [fix\(web\): restore project action preview opening \(\#15490\)](https://git.cafe/gitcafe/t3code/commit/2dfef8779e046dc9b3fe87668022f4ed0907adbb?format=markdown) — 2dfef8779e046dc9b3fe87668022f4ed0907adbb; maria

- [fix\(server\): discover Claude commands in each workspace \(\#15462\)](https://git.cafe/gitcafe/t3code/commit/836098543c6ecdf66734596df0ea3a8f6513f2a6?format=markdown) — 836098543c6ecdf66734596df0ea3a8f6513f2a6; maria

- [fix\(web\): dismiss hovered timeline tooltips on scroll \(\#15455\)](https://git.cafe/gitcafe/t3code/commit/32b77f4fa370a5195ad16ab709405b1038c49fcd?format=markdown) — 32b77f4fa370a5195ad16ab709405b1038c49fcd; maria

- [fix\(server\): avoid inferring forgejo conflicts from mergeability \(\#15441\)](https://git.cafe/gitcafe/t3code/commit/f9db42d14fd36e7d21f5dcbf0027f267d53c2989?format=markdown) — f9db42d14fd36e7d21f5dcbf0027f267d53c2989; maria

- [fix\(server\): keep settled threads asleep after restarts \(\#15604\)](https://git.cafe/gitcafe/t3code/commit/253dea360ef0c743c5de8ba04f8412a7eb4694ac?format=markdown) — 253dea360ef0c743c5de8ba04f8412a7eb4694ac; maria

- [fix\(server\): recover claude skill scalar frontmatter \(\#15452\)](https://git.cafe/gitcafe/t3code/commit/b3b6ae2cebbae39a706038911dbb8c85c7120be7?format=markdown) — b3b6ae2cebbae39a706038911dbb8c85c7120be7; maria

- [fix\(desktop\): print version before initializing the app \(\#15440\)](https://git.cafe/gitcafe/t3code/commit/e01e58916fa51ec52389cabba1b5fbba6344723d?format=markdown) — e01e58916fa51ec52389cabba1b5fbba6344723d; maria

- [fix\(web\): open thread picker for unsent drafts \(\#15436\)](https://git.cafe/gitcafe/t3code/commit/c8d7d50a73793b6c1d43ea23211e89bbd8f0c910?format=markdown) — c8d7d50a73793b6c1d43ea23211e89bbd8f0c910; maria

- [fix\(web\): show device diagnostics before hub readiness \(\#15435\)](https://git.cafe/gitcafe/t3code/commit/5318d054a5eabf85308a086e2fdbef5b6cdfd0ee?format=markdown) — 5318d054a5eabf85308a086e2fdbef5b6cdfd0ee; maria

- [fix: expanded tool calls show their output, empty ones don't expand \(\#15505\)](https://git.cafe/gitcafe/t3code/commit/5a96895a85b43c838da6c89cf21068b99c003d5a?format=markdown) — 5a96895a85b43c838da6c89cf21068b99c003d5a; maria

- [feat\(web\): add shift-held pull request quick actions \(\#15549\)](https://git.cafe/gitcafe/t3code/commit/33b7d7b3ae2a7b1c3d1bd58c04cb9bf581ec2fe7?format=markdown) — 33b7d7b3ae2a7b1c3d1bd58c04cb9bf581ec2fe7; maria

- [fix\(client-runtime\): closing a busy stream no longer drops the connection \(\#15563\)](https://git.cafe/gitcafe/t3code/commit/eac52f0087d9ba5dee5542f24788d1482affae43?format=markdown) — eac52f0087d9ba5dee5542f24788d1482affae43; Theo Browne

- [feat\(mobile\): full-screen simulator viewer with on-demand controls \(\#15551\)](https://git.cafe/gitcafe/t3code/commit/d60a71ef6e371d8b345ecb1f7575117d675187c7?format=markdown) — d60a71ef6e371d8b345ecb1f7575117d675187c7; Julius Marminge

- [fix\(clients\): Working section keeps its order while agents finish and wake \(\#15418\)](https://git.cafe/gitcafe/t3code/commit/1302ccacbd6d3e957f2f95239556adb6eae79a48?format=markdown) — 1302ccacbd6d3e957f2f95239556adb6eae79a48; Theo Browne

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