# Commit history · gitcafe/t3code

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

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

Visibility: public

Requested revision: 7202ba666080cfca1351c080d7aaa2d81bfa9a66

Requested commit: 7202ba666080cfca1351c080d7aaa2d81bfa9a66

- [feat\(web\): open right panel tab menu with Mod\+T \(\#15686\)](https://git.cafe/gitcafe/t3code/commit/7202ba666080cfca1351c080d7aaa2d81bfa9a66?format=markdown) — 7202ba666080cfca1351c080d7aaa2d81bfa9a66; Bilal Bakr

- [feat\(web\): add fast actions to linked pull requests \(\#16627\)](https://git.cafe/gitcafe/t3code/commit/ab28039ef77ca8847c6bfe845c3502ff7e348c30?format=markdown) — ab28039ef77ca8847c6bfe845c3502ff7e348c30; maria

- [feat\(web\): stop T3-owned subagents from Lineage \(\#15211\)](https://git.cafe/gitcafe/t3code/commit/c5c6f9cb485b2db0f205797394bc95f9f575d139?format=markdown) — c5c6f9cb485b2db0f205797394bc95f9f575d139; Bilal Bakr

- [feat\(web\): group keybindings settings by area with a page toolbar \(\#12822\)](https://git.cafe/gitcafe/t3code/commit/72d5c32ba67953805feb6fe9ad3b70b632a64c47?format=markdown) — 72d5c32ba67953805feb6fe9ad3b70b632a64c47; maria

- [fix\(vcs\): passive sidebar rows stop retaining remote pollers \(\#15666\)](https://git.cafe/gitcafe/t3code/commit/5055de3ae483d5ece45695ad682b9766ff0cf423?format=markdown) — 5055de3ae483d5ece45695ad682b9766ff0cf423; maria

- [fix\(web\): show attempted paths in file preview errors \(\#15628\)](https://git.cafe/gitcafe/t3code/commit/876f8656e310f365eab98678e68bcc45615fec7f?format=markdown) — 876f8656e310f365eab98678e68bcc45615fec7f; maria

- [fix\(web\): open pull request row actions on right-click \(\#16612\)](https://git.cafe/gitcafe/t3code/commit/d8d037eae1b77a77f372fd1afd2662a31ebe37c8?format=markdown) — d8d037eae1b77a77f372fd1afd2662a31ebe37c8; Jake Leventhal

- [fix\(contracts\): a context record that cannot be encoded no longer fails the send \(\#16398\)](https://git.cafe/gitcafe/t3code/commit/13aabf3d7d0ec13e902234e86d3df27149c0e4a9?format=markdown) — 13aabf3d7d0ec13e902234e86d3df27149c0e4a9; Julius Marminge

- [fix\(server\): one failing RPC handler no longer ends the client's other requests \(\#15515\)](https://git.cafe/gitcafe/t3code/commit/8ddf200e8f637eaf9a4f0d3036ece8f1d3869d10?format=markdown) — 8ddf200e8f637eaf9a4f0d3036ece8f1d3869d10; Julius Marminge

- [fix\(desktop\): include Linux package license and app metadata \(\#16597\)](https://git.cafe/gitcafe/t3code/commit/f4f148eb670622a049ae6561d7795011e383fc43?format=markdown) — f4f148eb670622a049ae6561d7795011e383fc43; Julius Marminge

- [chore\(review\): CodeRabbit gates outside contributors' pull requests \(\#16332\)](https://git.cafe/gitcafe/t3code/commit/c9b21b28e2cebc4c9cbd80726e757df36309dea8?format=markdown) — c9b21b28e2cebc4c9cbd80726e757df36309dea8; Erik Thorelli

- [chore\(tsconfig\): turn off the Schema-over-JSON diagnostic in test files \(\#16375\)](https://git.cafe/gitcafe/t3code/commit/7bee189dfb5cd6807457e98af0c2f95f5ed50edd?format=markdown) — 7bee189dfb5cd6807457e98af0c2f95f5ed50edd; Erik Thorelli

- [feat\(web\): copy an environment's MCP URL for outside agents \(\#16337\)](https://git.cafe/gitcafe/t3code/commit/fbe5df2d4b630d13adc8fe2d38cab354e6d66d67?format=markdown) — fbe5df2d4b630d13adc8fe2d38cab354e6d66d67; Julius Marminge

- [feat\(server\): outside agents sign in to the T3 MCP server with OAuth \(\#16336\)](https://git.cafe/gitcafe/t3code/commit/2c8be5893eb3754071162e344a8c8e8a67bef597?format=markdown) — 2c8be5893eb3754071162e344a8c8e8a67bef597; Julius Marminge

- [feat\(server\): every T3 MCP tool declares who may call it \(\#16335\)](https://git.cafe/gitcafe/t3code/commit/2f85686d9dca5ec98c892a2a26c321e09d746d71?format=markdown) — 2f85686d9dca5ec98c892a2a26c321e09d746d71; Julius Marminge

- [perf\(web\): diff panel no longer re-renders every file header each time a patch arrives \(\#16033\)](https://git.cafe/gitcafe/t3code/commit/f21d6da51c9aa78ea12e7f13a378f55f1e63cb38?format=markdown) — f21d6da51c9aa78ea12e7f13a378f55f1e63cb38; Stevan Borus

- [feat\(web\): note anonymous usage data in onboarding and link the privacy policy \(\#16564\)](https://git.cafe/gitcafe/t3code/commit/115640ae49924c9e4e6215bd8d911445ad932bff?format=markdown) — 115640ae49924c9e4e6215bd8d911445ad932bff; Julius Marminge

- [docs\(marketing\): disclose product usage data in the privacy policy \(\#16562\)](https://git.cafe/gitcafe/t3code/commit/3b44698d07c722471279d6a933499d6108148632?format=markdown) — 3b44698d07c722471279d6a933499d6108148632; Julius Marminge

- [fix\(desktop\): honor the telemetry opt-out from the shell profile \(\#16563\)](https://git.cafe/gitcafe/t3code/commit/78c9fcaafcbee9e2b941d8b0129a9f968373c6b2?format=markdown) — 78c9fcaafcbee9e2b941d8b0129a9f968373c6b2; Julius Marminge

- [fix\(web\): diff panel keeps the chosen scope while a turn runs \(\#16571\)](https://git.cafe/gitcafe/t3code/commit/3dfe373fddb966101371805b0b102ae5af75b15b?format=markdown) — 3dfe373fddb966101371805b0b102ae5af75b15b; Julius Marminge

- [fix\(server\): Rebase stack moves each layer onto the rebased layer below it \(\#16551\)](https://git.cafe/gitcafe/t3code/commit/1eae9c2efec43b1d27e60d967001f5721c4a0429?format=markdown) — 1eae9c2efec43b1d27e60d967001f5721c4a0429; Julius Marminge

- [feat: choose the GitHub account per host, save a GitHub token, and fewer reads per PR action \(\#16322\)](https://git.cafe/gitcafe/t3code/commit/9ac8f33f1685d1d6e843b657829d0d7462a13813?format=markdown) — 9ac8f33f1685d1d6e843b657829d0d7462a13813; Julius Marminge

- [feat\(server\): source control, media and discovery use GitHub's API instead of gh \(\#16321\)](https://git.cafe/gitcafe/t3code/commit/649418f01fcb4ae5ebbc07739e0bfee8fae3aaec?format=markdown) — 649418f01fcb4ae5ebbc07739e0bfee8fae3aaec; Julius Marminge

- [feat\(server\): pull requests talk to GitHub's API instead of the gh CLI \(\#16320\)](https://git.cafe/gitcafe/t3code/commit/adc3c9327abedda6a36694e2344e620fe0d62ae4?format=markdown) — adc3c9327abedda6a36694e2344e620fe0d62ae4; Julius Marminge

- [feat\(server\): GitHub API transport that uses gh only for the token \(\#16319\)](https://git.cafe/gitcafe/t3code/commit/1564aaa5d29deb2520d1211f9f35dd6150b1512e?format=markdown) — 1564aaa5d29deb2520d1211f9f35dd6150b1512e; Julius Marminge

- [fix\(mobile\): keep usage-limit notice opaque \(\#15602\)](https://git.cafe/gitcafe/t3code/commit/7bf6de174171ffcf0215bf55556f0e3ee7e6d78f?format=markdown) — 7bf6de174171ffcf0215bf55556f0e3ee7e6d78f; Benedikt Rump

- [fix\(desktop\): build AppImage with the static runtime toolset \(fixes libfuse2 launch failure\) \(\#7765\)](https://git.cafe/gitcafe/t3code/commit/9b2c03ee25321c16928eda74f4036f36f0b1afce?format=markdown) — 9b2c03ee25321c16928eda74f4036f36f0b1afce; Lorenzo

- [fix\(web\): stop wide ordered list markers from clipping \(\#16523\)](https://git.cafe/gitcafe/t3code/commit/8c61e254fd07249b8c420c44d62e8ecd72a78a20?format=markdown) — 8c61e254fd07249b8c420c44d62e8ecd72a78a20; Utkarsh Patil

- [feat\(web\): reopen closed tabs across the app \(\#15207\)](https://git.cafe/gitcafe/t3code/commit/b83d731cabbfd32c7479bb2db7e6afbfb2085ff2?format=markdown) — b83d731cabbfd32c7479bb2db7e6afbfb2085ff2; Bilal Bakr

- [fix\(web\): show subagent effort and speed in hover cards \(\#13056\)](https://git.cafe/gitcafe/t3code/commit/29366ea29abf4ceb41ab250d06e190a22258bd18?format=markdown) — 29366ea29abf4ceb41ab250d06e190a22258bd18; Bilal Bakr

- [fix\(web\): Apple logo no longer dips below the device host label \(\#14825\)](https://git.cafe/gitcafe/t3code/commit/9503155da67add4fbd7fbc51c99ec19a0c8c4a2c?format=markdown) — 9503155da67add4fbd7fbc51c99ec19a0c8c4a2c; Jake Leventhal

- [fix\(orchestration-v2\): show reported subagent models \(\#14108\)](https://git.cafe/gitcafe/t3code/commit/eea9f7cfebbdb51d27f07a816119c71a67509997?format=markdown) — eea9f7cfebbdb51d27f07a816119c71a67509997; Bilal Bakr

- [chore\(deps\): upgrade @effect/tsgo to 0.46.1 \(\#16360\)](https://git.cafe/gitcafe/t3code/commit/78552a8c6162c9b5248231bc70be8bffdb50cbd3?format=markdown) — 78552a8c6162c9b5248231bc70be8bffdb50cbd3; Erik Thorelli

- [fix\(mcp\): preserve thread command rejection reasons \(\#15627\)](https://git.cafe/gitcafe/t3code/commit/b38aa18365fe314e079d99670932bedfc7407e5a?format=markdown) — b38aa18365fe314e079d99670932bedfc7407e5a; maria

- [fix\(release\): unblock nightly browser tests and cli builds \(\#16515\)](https://git.cafe/gitcafe/t3code/commit/fd1c3386c4d60f3477ab3f13c87537848de099f5?format=markdown) — fd1c3386c4d60f3477ab3f13c87537848de099f5; maria

- [fix\(mcp\): mark declared tool failures as errors \(\#15617\)](https://git.cafe/gitcafe/t3code/commit/dff412c3411f34b3150983f00686a98b600526e3?format=markdown) — dff412c3411f34b3150983f00686a98b600526e3; maria

- [fix: restore service references breaking ci \(\#16495\)](https://git.cafe/gitcafe/t3code/commit/17c0878941ab8ab19108fb639c5138d92a89e919?format=markdown) — 17c0878941ab8ab19108fb639c5138d92a89e919; maria

- [feat\(preview\): run the browser on the environment server \(\#15328\)](https://git.cafe/gitcafe/t3code/commit/ac8e9453ca0948469ccf5651b765086d8d9ecd64?format=markdown) — ac8e9453ca0948469ccf5651b765086d8d9ecd64; maria

- [fix\(server\): OpenCode 2 threads get T3 Code's MCP tools \(\#16142\)](https://git.cafe/gitcafe/t3code/commit/9bd1d8009a6b7c50f9dd9458e2bf27d481ff3b43?format=markdown) — 9bd1d8009a6b7c50f9dd9458e2bf27d481ff3b43; Nikita Koynov

- [fix\(shared\): find versioned JetBrains macOS app bundles \(\#16246\)](https://git.cafe/gitcafe/t3code/commit/e6abc01788eef557c214a086999b3fd635b69f71?format=markdown) — e6abc01788eef557c214a086999b3fd635b69f71; Sypher760-gif

- [fix\(desktop\): use the crypto service for screenshot IDs \(\#16415\)](https://git.cafe/gitcafe/t3code/commit/4fb04fe7fae566cc91ab810888b3232f274a00cf?format=markdown) — 4fb04fe7fae566cc91ab810888b3232f274a00cf; Yash Singh

- [fix\(server\): reject invalid explicit Bitbucket repositories \(\#15876\)](https://git.cafe/gitcafe/t3code/commit/9ae9f2ba1f30e5fc14f69ba6dff6b08c7bfb401c?format=markdown) — 9ae9f2ba1f30e5fc14f69ba6dff6b08c7bfb401c; Arav Jain

- [fix\(web\): queued messages no longer split the composer notice stack \(\#16400\)](https://git.cafe/gitcafe/t3code/commit/4980ba282eb313b3be87a6b7df28f3b42dcb4ce9?format=markdown) — 4980ba282eb313b3be87a6b7df28f3b42dcb4ce9; Tristan Manchester

- [fix\(server\): end clone options before the repository URL \(\#14781\)](https://git.cafe/gitcafe/t3code/commit/e65063ccf6ce83aa33d10521aeaf929210f0ff04?format=markdown) — e65063ccf6ce83aa33d10521aeaf929210f0ff04; Alex Southwell

- [fix\(desktop\): prevent browser screenshot filename collisions \(\#14784\)](https://git.cafe/gitcafe/t3code/commit/411cef0008fa8e1e5251a8aae2cc6a215f700a9c?format=markdown) — 411cef0008fa8e1e5251a8aae2cc6a215f700a9c; Alex Southwell

- [fix\(web\): type in front of bold that starts a composer line \(\#13217\)](https://git.cafe/gitcafe/t3code/commit/d0dc45885c1441da5bd46dcf13124d94ed728b0a?format=markdown) — d0dc45885c1441da5bd46dcf13124d94ed728b0a; Alex Southwell

- [fix\(release\): resolve version-qualified catalog overrides \(\#16411\)](https://git.cafe/gitcafe/t3code/commit/1f2b10c25bc400461e6c114c2c7236e91996225c?format=markdown) — 1f2b10c25bc400461e6c114c2c7236e91996225c; Yash Singh

- [fix\(orchestration-v2\): let Stop recover stalled runs \(\#15442\)](https://git.cafe/gitcafe/t3code/commit/a7a2230c33fbec9d6616a5de26f09e1fa8856c05?format=markdown) — a7a2230c33fbec9d6616a5de26f09e1fa8856c05; Yash Singh

- [fix\(server\): avoid scanning completed history for pending secrets \(\#16409\)](https://git.cafe/gitcafe/t3code/commit/0290c4a04e52ca4e93be7a6fb94c14bcc7b53728?format=markdown) — 0290c4a04e52ca4e93be7a6fb94c14bcc7b53728; Yash Singh

- [fix\(desktop\): retry transient bearer bootstrap and degrade on session fetch failure \(\#12919\)](https://git.cafe/gitcafe/t3code/commit/76d3c96fd5b89cca2c06aeaceaea16100c75084a?format=markdown) — 76d3c96fd5b89cca2c06aeaceaea16100c75084a; James Villarrubia

- [fix\(server\): Pi thread titles use linked PR context \(\#16210\)](https://git.cafe/gitcafe/t3code/commit/4ae976dbae39b3e80243b864a8b61da00f642dc4?format=markdown) — 4ae976dbae39b3e80243b864a8b61da00f642dc4; Julius Marminge

- [fix\(relay\): export traces through one tracer, one request span each \(\#16382\)](https://git.cafe/gitcafe/t3code/commit/442735897f6f92af33798075baa12d4fd4d710dd?format=markdown) — 442735897f6f92af33798075baa12d4fd4d710dd; Julius Marminge

- [refactor: Effect code gets UUIDs and SHA-256 from Effect's Crypto \(\#16377\)](https://git.cafe/gitcafe/t3code/commit/83b982a85c87b4c0eda08beb9028e3a73f7c89b6?format=markdown) — 83b982a85c87b4c0eda08beb9028e3a73f7c89b6; Erik Thorelli

- [fix\(web\): bring back the live shimmer on work log rows \(\#16372\)](https://git.cafe/gitcafe/t3code/commit/8f75697b9e022033f2615cb32e3c6ddc61c52353?format=markdown) — 8f75697b9e022033f2615cb32e3c6ddc61c52353; Julius Marminge

- [fix\(relay\): error and deadline responses carry CORS headers \(\#16253\)](https://git.cafe/gitcafe/t3code/commit/0ecb78ed0d351b65ef68262f632359223f9c389b?format=markdown) — 0ecb78ed0d351b65ef68262f632359223f9c389b; Julius Marminge

- [fix\(observability\): T3 Connect tracing stops at the relay boundary \(\#16314\)](https://git.cafe/gitcafe/t3code/commit/25f0b2a1b7323563aa5d4e7f70e78a3889c5918e?format=markdown) — 25f0b2a1b7323563aa5d4e7f70e78a3889c5918e; Julius Marminge

- [chore\(lint\): catch known tags with Effect.catchTags \(\#16361\)](https://git.cafe/gitcafe/t3code/commit/ff397a29523d3c63e5844b11608c0189640c7561?format=markdown) — ff397a29523d3c63e5844b11608c0189640c7561; Erik Thorelli

- [fix\(server\): main's settings, keybindings and session tests compile again \(\#16363\)](https://git.cafe/gitcafe/t3code/commit/fad673225650193fad2a85487ecffc903f8ff30a?format=markdown) — fad673225650193fad2a85487ecffc903f8ff30a; Julius Marminge

- [fix\(contracts\): trimmed IDs round-trip \(\#16300\)](https://git.cafe/gitcafe/t3code/commit/2d162d157dfb0eea7e205c508f47d663ab4e8bf9?format=markdown) — 2d162d157dfb0eea7e205c508f47d663ab4e8bf9; Julius Marminge

- [refactor\(web\): import connection storage as a namespace in its test \(\#16315\)](https://git.cafe/gitcafe/t3code/commit/efeeb7737bed89bbfc6dc81662058f8ce7fba2ea?format=markdown) — efeeb7737bed89bbfc6dc81662058f8ce7fba2ea; Julius Marminge

- [fix\(server\): metrics count interrupted work on the monotonic clock \(\#16207\)](https://git.cafe/gitcafe/t3code/commit/c299308a832db382fce61233bd10a4bd13bbc60c?format=markdown) — c299308a832db382fce61233bd10a4bd13bbc60c; Julius Marminge

- [fix\(shared\): DrainableWorker keeps running after a failed item \(\#16223\)](https://git.cafe/gitcafe/t3code/commit/24e4b62c883eb67251bdfb07d2bf22cfd3987820?format=markdown) — 24e4b62c883eb67251bdfb07d2bf22cfd3987820; Julius Marminge

- [chore: keep one copy each of undici 8 and ws 8 \(\#16211\)](https://git.cafe/gitcafe/t3code/commit/4b3568b775d86fc699938ec5a9ada773bad8b45f?format=markdown) — 4b3568b775d86fc699938ec5a9ada773bad8b45f; Julius Marminge

- [fix\(server\): the PR cache sweep only removes real entry files \(\#16285\)](https://git.cafe/gitcafe/t3code/commit/bfe40e6d2574447b0651bdb41337db743ddbe12c?format=markdown) — bfe40e6d2574447b0651bdb41337db743ddbe12c; Julius Marminge

- [fix\(server\): one-shot initializers no longer race \(\#16260\)](https://git.cafe/gitcafe/t3code/commit/327a29ef56e215c69a5db5d0b6f8df89f04f5d5b?format=markdown) — 327a29ef56e215c69a5db5d0b6f8df89f04f5d5b; Julius Marminge

- [fix\(server\): caches and ids are written atomically \(\#16242\)](https://git.cafe/gitcafe/t3code/commit/eef36a67c37fa74905fc7feaa836e5a81daa8685?format=markdown) — eef36a67c37fa74905fc7feaa836e5a81daa8685; Julius Marminge

- [Add esthor to the list of GitHub users](https://git.cafe/gitcafe/t3code/commit/3236d8ce73d06df91e30532d0a5fd03cb537de8e?format=markdown) — 3236d8ce73d06df91e30532d0a5fd03cb537de8e; Julius Marminge

- [fix\(server\): Claude limits load again for users with large transcript histories \(\#16358\)](https://git.cafe/gitcafe/t3code/commit/255ac27d5200b01c50acef105ab0ec8bb6ab8345?format=markdown) — 255ac27d5200b01c50acef105ab0ec8bb6ab8345; Theo Browne

- [fix\(server\): project favicons stop being rescanned every minute \(\#16206\)](https://git.cafe/gitcafe/t3code/commit/24edd55d9459edfa0a2956094b7868102bba5b6f?format=markdown) — 24edd55d9459edfa0a2956094b7868102bba5b6f; Theo Browne

- [fix\(server\): main's startup auto-pull test compiles again \(\#16357\)](https://git.cafe/gitcafe/t3code/commit/61a0ec9eb0ad12dd4ef054d2dbab8b5eedbdaf06?format=markdown) — 61a0ec9eb0ad12dd4ef054d2dbab8b5eedbdaf06; Theo Browne

- [perf\(shared\): scan PATH once per command before spawning, not on every spawn \(\#12600\)](https://git.cafe/gitcafe/t3code/commit/71964e670ff212006ebb8de26585649c2adced68?format=markdown) — 71964e670ff212006ebb8de26585649c2adced68; SkiTee3000

- [fix\(server\): status polling no longer locks the git index \(\#14718\)](https://git.cafe/gitcafe/t3code/commit/447046b589140a50a4a782453133da83ff77e85e?format=markdown) — 447046b589140a50a4a782453133da83ff77e85e; ahalekelly

- [fix\(observability\): a failing trace disk no longer stalls the server \(\#13758\)](https://git.cafe/gitcafe/t3code/commit/570b72d83978f718a5e677002bde3abe55a6d797?format=markdown) — 570b72d83978f718a5e677002bde3abe55a6d797; Theo Browne

- [fix\(server\): probe project favicon candidates concurrently \(\#12543\)](https://git.cafe/gitcafe/t3code/commit/b69f8b5ff079cccc259bf2a001c2da2bc25d6892?format=markdown) — b69f8b5ff079cccc259bf2a001c2da2bc25d6892; Ishaan Kothari

- [fix\(server\): return partial workspace index on timeout \(\#11500\)](https://git.cafe/gitcafe/t3code/commit/fec71c5ab4fd860331fb15ce37c15edf6db1c236?format=markdown) — fec71c5ab4fd860331fb15ce37c15edf6db1c236; Michel Liao

- [fix\(web\): avoid blocking image preparation conversions \(\#13342\)](https://git.cafe/gitcafe/t3code/commit/ff2fda7d6d59a05b9077b8fc48a5e0b67054b8d5?format=markdown) — ff2fda7d6d59a05b9077b8fc48a5e0b67054b8d5; Bilal Bakr

- [fix\(server\): stop the startup project sync from delaying the app window \(\#14912\)](https://git.cafe/gitcafe/t3code/commit/2103bfaa77c431e0923ceb53b52418c0eef174da?format=markdown) — 2103bfaa77c431e0923ceb53b52418c0eef174da; Igor Makowski

- [fix\(server\): forks no longer merge into their upstream repo's project group \(\#16353\)](https://git.cafe/gitcafe/t3code/commit/017c9a0eb53b2c100b5be2d366d2374038da9241?format=markdown) — 017c9a0eb53b2c100b5be2d366d2374038da9241; Theo Browne

- [refactor\(server\): replay guards stay in CloudLink \(\#16349\)](https://git.cafe/gitcafe/t3code/commit/99db70cf1a1f24deca80e40a94a6cdbbaf511da6?format=markdown) — 99db70cf1a1f24deca80e40a94a6cdbbaf511da6; Julius Marminge

- [refactor\(server\): CloudLink fails with its own errors; the connect routes map them to HTTP \(\#16341\)](https://git.cafe/gitcafe/t3code/commit/68e50db20b3784bad69dd754165020a08f2cd42a?format=markdown) — 68e50db20b3784bad69dd754165020a08f2cd42a; Julius Marminge

- [refactor\(server\): CloudLink keeps only the link lifecycle; pure checks live beside it \(\#16340\)](https://git.cafe/gitcafe/t3code/commit/ff873b2ec1972b701c3f9edd6a0f727c91604dc4?format=markdown) — ff873b2ec1972b701c3f9edd6a0f727c91604dc4; Julius Marminge

- [chore\(review\): turn off CodeRabbit's docstring coverage check \(\#16328\)](https://git.cafe/gitcafe/t3code/commit/3a9c1a6df1b71d8ba73d287be90443e8e874802f?format=markdown) — 3a9c1a6df1b71d8ba73d287be90443e8e874802f; Erik Thorelli

- [chore\(review\): point CodeRabbit at the web UI conventions \(\#16324\)](https://git.cafe/gitcafe/t3code/commit/c21f93e43087c5b7d7f18b2d45d991cbf1f4d28c?format=markdown) — c21f93e43087c5b7d7f18b2d45d991cbf1f4d28c; Erik Thorelli

- [docs\(relay\): add the legacy tunnel cleanup rollout runbook \(\#13568\)](https://git.cafe/gitcafe/t3code/commit/204a6390967b14311d40ab9205e062302a0c195a?format=markdown) — 204a6390967b14311d40ab9205e062302a0c195a; Julius Marminge

- [feat\(connect\): tell users when an idle tunnel was removed \(\#13567\)](https://git.cafe/gitcafe/t3code/commit/6b456a9618c35f2fa525f6dfc9ef9b0ff01471b8?format=markdown) — 6b456a9618c35f2fa525f6dfc9ef9b0ff01471b8; Julius Marminge

- [perf\(relay\): delete expired tunnels four at a time within a time budget \(\#13566\)](https://git.cafe/gitcafe/t3code/commit/6bfc8baeb8f280e57ef6d0d514680b0bce8538a2?format=markdown) — 6bfc8baeb8f280e57ef6d0d514680b0bce8538a2; Julius Marminge

- [feat\(relay\): clean up tunnels of hosts that never registered recovery \(\#13565\)](https://git.cafe/gitcafe/t3code/commit/41d2535a90fdfb49b2b9a7a7c8fb4bce09c4170f?format=markdown) — 41d2535a90fdfb49b2b9a7a7c8fb4bce09c4170f; Julius Marminge

- [feat\(relay\): measure the managed tunnel backlog \(\#13564\)](https://git.cafe/gitcafe/t3code/commit/7b32b2ca39892bc59e1d8cfff7aea2a8fbefa73a?format=markdown) — 7b32b2ca39892bc59e1d8cfff7aea2a8fbefa73a; Julius Marminge

- [fix\(relay\): stop forcing manual relay deploys by default \(\#13563\)](https://git.cafe/gitcafe/t3code/commit/18c1210810cbdb798d28edda1826fa4de91992d1?format=markdown) — 18c1210810cbdb798d28edda1826fa4de91992d1; Julius Marminge

- [fix\(web\): recover from a closed IndexedDB connection \(\#16311\)](https://git.cafe/gitcafe/t3code/commit/9c49228f5425f644cff9b41ae88ca564d40d79fa?format=markdown) — 9c49228f5425f644cff9b41ae88ca564d40d79fa; Julius Marminge

- [feat\(desktop\): the renderer's bootstrap token rotates every 12 hours \(\#16275\)](https://git.cafe/gitcafe/t3code/commit/5afe18eaf9d20c1633b4ec9177c6c9309a8f3d99?format=markdown) — 5afe18eaf9d20c1633b4ec9177c6c9309a8f3d99; Julius Marminge

- [fix\(web\): a rejected desktop-local credential is not retried every poll \(\#16273\)](https://git.cafe/gitcafe/t3code/commit/f36df1852423fef7f7855f86946c9f9a95c3429f?format=markdown) — f36df1852423fef7f7855f86946c9f9a95c3429f; Julius Marminge

- [refactor\(relay\): import HookInboxObject once, as a namespace \(\#16307\)](https://git.cafe/gitcafe/t3code/commit/8bd7745f0af918582807326d90e58d59324bb2a6?format=markdown) — 8bd7745f0af918582807326d90e58d59324bb2a6; Julius Marminge

- [chore\(lint\): require a reason on every lint and type-checker suppression \(\#16294\)](https://git.cafe/gitcafe/t3code/commit/31d0c8a4f47ead36c9a63ac4d3bf27b55c05095a?format=markdown) — 31d0c8a4f47ead36c9a63ac4d3bf27b55c05095a; Erik Thorelli

- [docs: put the Effect and web UI review rules in the docs \(\#16286\)](https://git.cafe/gitcafe/t3code/commit/6262e5f50081845bb247e5af2fc81b068c8ae893?format=markdown) — 6262e5f50081845bb247e5af2fc81b068c8ae893; Erik Thorelli

- [chore\(review\): configure CodeRabbit in TypeScript \(\#16281\)](https://git.cafe/gitcafe/t3code/commit/ea54be7f853aca37981f60958d66039196f13a0c?format=markdown) — ea54be7f853aca37981f60958d66039196f13a0c; Erik Thorelli

- [refactor\(server\): one module per service instead of Services/ and Layers/ folders \(\#16295\)](https://git.cafe/gitcafe/t3code/commit/3d17862e58554460b0baae7bae0e03d36b8ce5ab?format=markdown) — 3d17862e58554460b0baae7bae0e03d36b8ce5ab; Julius Marminge

- [fix\(web\): inline HTML renders no longer trap the thread's scroll \(\#16283\)](https://git.cafe/gitcafe/t3code/commit/64275ae39653379e63f49f87be021c190fd20e81?format=markdown) — 64275ae39653379e63f49f87be021c190fd20e81; Theo Browne

- [fix\(web\): sidebar drag and drop no longer snaps back \(\#16291\)](https://git.cafe/gitcafe/t3code/commit/db4d0a8e6e49d92a9efcd8d6f82bbed10e2bd748?format=markdown) — db4d0a8e6e49d92a9efcd8d6f82bbed10e2bd748; Theo Browne

- [refactor\(server\): T3 Connect link capabilities live in a CloudLink service \(\#16265\)](https://git.cafe/gitcafe/t3code/commit/9422e2ee12fd3e3bfdf6fe5c377672badf7b20ca?format=markdown) — 9422e2ee12fd3e3bfdf6fe5c377672badf7b20ca; Julius Marminge

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