# Commit history · screen/t3code-personal

[View on GitCafe](https://git.cafe/screen/t3code-personal/commits/c71e71b5acacb74e201b3f4692ef08ed1dce3a28)

Repository: [screen/t3code-personal](https://git.cafe/screen/t3code-personal)

Visibility: public

Requested revision: c71e71b5acacb74e201b3f4692ef08ed1dce3a28

Requested commit: c71e71b5acacb74e201b3f4692ef08ed1dce3a28

- [more effect: scoped layers](https://git.cafe/screen/t3code-personal/commit/c71e71b5acacb74e201b3f4692ef08ed1dce3a28?format=markdown) — c71e71b5acacb74e201b3f4692ef08ed1dce3a28; Julius Marminge

- [more ffect: Service/Layer separation](https://git.cafe/screen/t3code-personal/commit/bbf4e6bd3cf4dc1f73f3a0735092cf2f5e88c347?format=markdown) — bbf4e6bd3cf4dc1f73f3a0735092cf2f5e88c347; Julius Marminge

- [migrations and repository](https://git.cafe/screen/t3code-personal/commit/fa1663c1314760505d59cb043562345816f5eb1c?format=markdown) — fa1663c1314760505d59cb043562345816f5eb1c; Julius Marminge

- [more effect: sqlschema](https://git.cafe/screen/t3code-personal/commit/9b046feb1edbd95998daaf00dc68ebd229d5bb45?format=markdown) — 9b046feb1edbd95998daaf00dc68ebd229d5bb45; Julius Marminge

- [more effect: engine momre effect native](https://git.cafe/screen/t3code-personal/commit/b6d68ee28e03e7fa8f4e69cf325bab6394961122?format=markdown) — b6d68ee28e03e7fa8f4e69cf325bab6394961122; Julius Marminge

- [more effect: stage 1](https://git.cafe/screen/t3code-personal/commit/2bece01a3be88f5bde92e7ae5633b2d3181955a1?format=markdown) — 2bece01a3be88f5bde92e7ae5633b2d3181955a1; Julius Marminge

- [Persist turn diffs and checkpoint reverts in orchestration](https://git.cafe/screen/t3code-personal/commit/4f4691676acad990c6a51221e2522d4ffb131415?format=markdown) — 4f4691676acad990c6a51221e2522d4ffb131415; Julius Marminge

- [Add server-side orchestration engine with event sourcing](https://git.cafe/screen/t3code-personal/commit/483a1ae3718e39269075e99ea84e437d4cfad591?format=markdown) — 483a1ae3718e39269075e99ea84e437d4cfad591; Julius Marminge

- [bump electron and node](https://git.cafe/screen/t3code-personal/commit/781006f0054f3e40ec7f7eadd612b037ea52f5ff?format=markdown) — 781006f0054f3e40ec7f7eadd612b037ea52f5ff; Julius Marminge

- [error component](https://git.cafe/screen/t3code-personal/commit/d8412eca9f68256c42d0f86f80f884a12e5ec8f7?format=markdown) — d8412eca9f68256c42d0f86f80f884a12e5ec8f7; Julius Marminge

- [Merge pull request \#77 from pingdotgg/codething/c71d8ea1](https://git.cafe/screen/t3code-personal/commit/749a2076d8ad713eef9ef575ff40437abd3adcd8?format=markdown) — 749a2076d8ad713eef9ef575ff40437abd3adcd8; Julius Marminge

- [Merge pull request \#78 from pingdotgg/codething/53bdee92](https://git.cafe/screen/t3code-personal/commit/70a13c298f50be8c620020708d8b1db6ae80557e?format=markdown) — 70a13c298f50be8c620020708d8b1db6ae80557e; Julius Marminge

- [more todo](https://git.cafe/screen/t3code-personal/commit/8cea075a1eb94b574434676122abc5f82e941f43?format=markdown) — 8cea075a1eb94b574434676122abc5f82e941f43; Theo Browne

- [todo update](https://git.cafe/screen/t3code-personal/commit/84fc3e96e6abba70662189a4e01769aa01ecab9c?format=markdown) — 84fc3e96e6abba70662189a4e01769aa01ecab9c; Theo Browne

- [restore streaming notifications from codex app server](https://git.cafe/screen/t3code-personal/commit/2c9121553eabb3078cc77e672ad20d3323c53aa5?format=markdown) — 2c9121553eabb3078cc77e672ad20d3323c53aa5; Theo Browne

- [prod builds](https://git.cafe/screen/t3code-personal/commit/48bf123d0c44707f328039954a03e93488b3a70e?format=markdown) — 48bf123d0c44707f328039954a03e93488b3a70e; Theo Browne

- [settings page](https://git.cafe/screen/t3code-personal/commit/f8883d0495aa6fb3162077667827b187220c7a7e?format=markdown) — f8883d0495aa6fb3162077667827b187220c7a7e; Theo Browne

- [fix force closing](https://git.cafe/screen/t3code-personal/commit/8cb2b3fcfe451932681e73e38adb25321fdcb4cb?format=markdown) — 8cb2b3fcfe451932681e73e38adb25321fdcb4cb; Theo Browne

- [dev build iconography](https://git.cafe/screen/t3code-personal/commit/daf8e5f53b80dd51913a058cf7012153e5e9cd09?format=markdown) — daf8e5f53b80dd51913a058cf7012153e5e9cd09; Theo Browne

- [fix naming with annoying hacks](https://git.cafe/screen/t3code-personal/commit/c89798ecb12d0cbda6c69edb3b8675636c93f271?format=markdown) — c89798ecb12d0cbda6c69edb3b8675636c93f271; Theo Browne

- [use icon](https://git.cafe/screen/t3code-personal/commit/a32701ef8d6565875d126115389839abaea72c21?format=markdown) — a32701ef8d6565875d126115389839abaea72c21; Theo Browne

- [branding v1](https://git.cafe/screen/t3code-personal/commit/efbab1b104aebb2f72e152310f41a753aec347d6?format=markdown) — efbab1b104aebb2f72e152310f41a753aec347d6; Theo Browne

- [Remove Vite configuration file for web application](https://git.cafe/screen/t3code-personal/commit/564474f92711bbd496376b8abe4ee7500c2a8d5f?format=markdown) — 564474f92711bbd496376b8abe4ee7500c2a8d5f; Julius Marminge

- [Prebundle @pierre/diffs dependencies in Vite](https://git.cafe/screen/t3code-personal/commit/47fcd16003404adfca7c1504160619c7848cc254?format=markdown) — 47fcd16003404adfca7c1504160619c7848cc254; Julius Marminge

- [Fix broad query invalidation on checkpoint/captured events](https://git.cafe/screen/t3code-personal/commit/24c617d32ef64e4aeceedb4746ef89c3815360c0?format=markdown) — 24c617d32ef64e4aeceedb4746ef89c3815360c0; Cursor Agent

- [Use checkpoint diffs for turn files and ignore late summary rederives](https://git.cafe/screen/t3code-personal/commit/22e1a4cf92e035c11d079e7254334acb4d7e2a35?format=markdown) — 22e1a4cf92e035c11d079e7254334acb4d7e2a35; Julius Marminge

- [Emit checkpoint captured events after turn checkpointing](https://git.cafe/screen/t3code-personal/commit/79382b272c02f3a16e4ea77c3c67103d4c14414e?format=markdown) — 79382b272c02f3a16e4ea77c3c67103d4c14414e; Julius Marminge

- [Drop merged unified diffs from turn summaries](https://git.cafe/screen/t3code-personal/commit/90e199d6a7cc667b5c94d08e4be61504a18a1968?format=markdown) — 90e199d6a7cc667b5c94d08e4be61504a18a1968; Julius Marminge

- [Simplify turn diff summaries and harden checkpoint diff retries](https://git.cafe/screen/t3code-personal/commit/9a8a5b3935fc9027de2af5b109a689038d6c14d1?format=markdown) — 9a8a5b3935fc9027de2af5b109a689038d6c14d1; Julius Marminge

- [Force-remove dirty git worktrees during orphan cleanup](https://git.cafe/screen/t3code-personal/commit/58a8d653a8f16d3c0e8d8ff86728fcf4d28e32fb?format=markdown) — 58a8d653a8f16d3c0e8d8ff86728fcf4d28e32fb; Julius Marminge

- [Mark active thread visited on selection](https://git.cafe/screen/t3code-personal/commit/eecb53498ad182f51ad1743280e8d22e5e1d116c?format=markdown) — eecb53498ad182f51ad1743280e8d22e5e1d116c; Julius Marminge

- [Virtualize chat timeline rendering for large threads](https://git.cafe/screen/t3code-personal/commit/5cf140b0ee2d7320d101b082217a90afb7f230ce?format=markdown) — 5cf140b0ee2d7320d101b082217a90afb7f230ce; Julius Marminge

- [simp](https://git.cafe/screen/t3code-personal/commit/85085491da415786b4d16c1942ec74a97c21958e?format=markdown) — 85085491da415786b4d16c1942ec74a97c21958e; Julius Marminge

- [Restore diff panel activity and worker pool wrapper](https://git.cafe/screen/t3code-personal/commit/6356b3ca6dbf9389edab055dfa1d7b5ad454df0f?format=markdown) — 6356b3ca6dbf9389edab055dfa1d7b5ad454df0f; Julius Marminge

- [Fix web typecheck regressions after rebase](https://git.cafe/screen/t3code-personal/commit/978c8101395ee76cd507241ecec89f467adc4b04?format=markdown) — 978c8101395ee76cd507241ecec89f467adc4b04; Julius Marminge

- [Derive active thread from route and drop persisted selection](https://git.cafe/screen/t3code-personal/commit/1a315235b77d0a5b32057c700c4e5285d7dcd9b8?format=markdown) — 1a315235b77d0a5b32057c700c4e5285d7dcd9b8; Julius Marminge

- [move](https://git.cafe/screen/t3code-personal/commit/bcf8b14f3834aea98824f8b4688e2cdf5fbb6672?format=markdown) — bcf8b14f3834aea98824f8b4688e2cdf5fbb6672; Julius Marminge

- [Address PR feedback on router and thread hydration](https://git.cafe/screen/t3code-personal/commit/fe69e9694252e56eec676c1858dbfeadccaab8da?format=markdown) — fe69e9694252e56eec676c1858dbfeadccaab8da; Julius Marminge

- [Adopt TanStack file-based routing with generated route tree](https://git.cafe/screen/t3code-personal/commit/e9d40e448186a13dab4bcd9875e287689400ec14?format=markdown) — e9d40e448186a13dab4bcd9875e287689400ec14; Julius Marminge

- [Adopt TanStack Router for thread-based chat navigation](https://git.cafe/screen/t3code-personal/commit/ed9f561dc3c75f65acb9bd60174afbbbfc4c3652?format=markdown) — ed9f561dc3c75f65acb9bd60174afbbbfc4c3652; Julius Marminge

- [Surface worktree removal failures after thread deletion](https://git.cafe/screen/t3code-personal/commit/7de054fa4964e5cc6c406f39551dc62a2c214b38?format=markdown) — 7de054fa4964e5cc6c406f39551dc62a2c214b38; Julius Marminge

- [Fix CWD override semantics and greedy regex in diff path parsing](https://git.cafe/screen/t3code-personal/commit/bb9371d3c9500bf035b7df5da0969b82aac5a1fc?format=markdown) — bb9371d3c9500bf035b7df5da0969b82aac5a1fc; Cursor Agent

- [Virtualize DiffPanel rendering with @pierre/diffs beta](https://git.cafe/screen/t3code-personal/commit/bd1c7e1d9ae77e1c047e19ef895c089c00d87aa5?format=markdown) — bd1c7e1d9ae77e1c047e19ef895c089c00d87aa5; Julius Marminge

- [Keep diff panel mounted and reuse worker pool across layouts](https://git.cafe/screen/t3code-personal/commit/453fb4992e9333be607322af1c2c2870ad93135d?format=markdown) — 453fb4992e9333be607322af1c2c2870ad93135d; Julius Marminge

- [Move diff parsing to worker pool with stable patch cache keys](https://git.cafe/screen/t3code-personal/commit/5cfab38f315945b81e2225b7edca01fdff622bb8?format=markdown) — 5cfab38f315945b81e2225b7edca01fdff622bb8; Julius Marminge

- [Stop persisting checkpointDiffLoaded in turn diff summaries](https://git.cafe/screen/t3code-personal/commit/ba1a2dbcf7230034663b99be24204a8cb1b2d8f3?format=markdown) — ba1a2dbcf7230034663b99be24204a8cb1b2d8f3; Julius Marminge

- [Fix latest PR review findings](https://git.cafe/screen/t3code-personal/commit/b441875731c2fb174adbb61e1d46121be363474e?format=markdown) — b441875731c2fb174adbb61e1d46121be363474e; Julius Marminge

- [Address latest PR review comments](https://git.cafe/screen/t3code-personal/commit/8e744269a2edb2e51d3fa81e576fc29e64d5b186?format=markdown) — 8e744269a2edb2e51d3fa81e576fc29e64d5b186; Julius Marminge

- [Address PR review feedback for checkpoint and diff flows](https://git.cafe/screen/t3code-personal/commit/c90e245038970029f777200201048513da8f84e8?format=markdown) — c90e245038970029f777200201048513da8f84e8; Julius Marminge

- [Use QueryClient to execute checkpoint diff query in test](https://git.cafe/screen/t3code-personal/commit/200e43e44c52e0f819f7162a6a3fb7551a9ee013?format=markdown) — 200e43e44c52e0f819f7162a6a3fb7551a9ee013; Julius Marminge

- [Scope checkpoint diff cache keys to avoid collisions](https://git.cafe/screen/t3code-personal/commit/6aea858ed85fc3e8e4b41d6164b428a80895dcc7?format=markdown) — 6aea858ed85fc3e8e4b41d6164b428a80895dcc7; Julius Marminge

- [Fix react-pacer import and initialize diff state in test](https://git.cafe/screen/t3code-personal/commit/f07b6ac8e6d17efde13fe3135bb52159962b5bdc?format=markdown) — f07b6ac8e6d17efde13fe3135bb52159962b5bdc; Julius Marminge

- [Use React Query for checkpoint diff loading and caching](https://git.cafe/screen/t3code-personal/commit/3afbf93d5e54fec6674c62a5521f78c0ec2cf846?format=markdown) — 3afbf93d5e54fec6674c62a5521f78c0ec2cf846; Julius Marminge

- [Prompt before reverting thread checkpoint](https://git.cafe/screen/t3code-personal/commit/ec5c3c32cd2acaec16f0b6b26d2f0e6bb3030e3c?format=markdown) — ec5c3c32cd2acaec16f0b6b26d2f0e6bb3030e3c; Julius Marminge

- [Use undo icon for revert action in chat timeline](https://git.cafe/screen/t3code-personal/commit/5209967a7e8b7a8aad24653c7e15264dbc7b7f4f?format=markdown) — 5209967a7e8b7a8aad24653c7e15264dbc7b7f4f; Julius Marminge

- [Adopt toggle controls for diff panel and header button](https://git.cafe/screen/t3code-personal/commit/867c122082c18d550965e7060dc603e0dcbca862?format=markdown) — 867c122082c18d550965e7060dc603e0dcbca862; Julius Marminge

- [Add checkpoint diff API and hydrate turn diffs in UI](https://git.cafe/screen/t3code-personal/commit/cf8a2f03fc1c46b70faa565b2e00625cb8b58ebd?format=markdown) — cf8a2f03fc1c46b70faa565b2e00625cb8b58ebd; Julius Marminge

- [Add per-turn diff viewer with file targeting](https://git.cafe/screen/t3code-personal/commit/582615971ef76e55f994e2fc0ccd9171277551c2?format=markdown) — 582615971ef76e55f994e2fc0ccd9171277551c2; Julius Marminge

- [Add git-backed filesystem checkpoints for provider session rollback](https://git.cafe/screen/t3code-personal/commit/d2e6cfe10929eea55cbc70d6ffad8f7077b4d858?format=markdown) — d2e6cfe10929eea55cbc70d6ffad8f7077b4d858; Julius Marminge

- [Add provider checkpoints and thread rollback support](https://git.cafe/screen/t3code-personal/commit/351736baa119e8a9e71f1811edf37ef0615a0541?format=markdown) — 351736baa119e8a9e71f1811edf37ef0615a0541; Julius Marminge

- [refactor: extract shared normalizeProjectScripts into @t3tools/contracts](https://git.cafe/screen/t3code-personal/commit/b236dccca3048ec6db0fcb53f9de4bcabaafaae2?format=markdown) — b236dccca3048ec6db0fcb53f9de4bcabaafaae2; Cursor Agent

- [Remove dead code: unused shell env injection functions](https://git.cafe/screen/t3code-personal/commit/ac05ddc0f93f5638743dc690b28dbe0c1a391ec8?format=markdown) — ac05ddc0f93f5638743dc690b28dbe0c1a391ec8; Cursor Agent

- [Fix terminal stability bugs: remove autoFocus from effect deps, stabilize memo, remove dead export](https://git.cafe/screen/t3code-personal/commit/0e73dc15275f24b7ba94a7c200939907690f70b2?format=markdown) — 0e73dc15275f24b7ba94a7c200939907690f70b2; Cursor Agent

- [Handle optional terminal dimensions and preserve active terminal size](https://git.cafe/screen/t3code-personal/commit/1a94fcbd294ab69709a3895b30941537d415764a?format=markdown) — 1a94fcbd294ab69709a3895b30941537d415764a; Julius Marminge

- [Reset script dialog state after close animation](https://git.cafe/screen/t3code-personal/commit/ed40fd3364b7bb575f55ddf07475e7689a037a32?format=markdown) — ed40fd3364b7bb575f55ddf07475e7689a037a32; Julius Marminge

- [Pass runtime env through terminal open and disable zsh prompt spacer](https://git.cafe/screen/t3code-personal/commit/88f31d2f65b1db7a557320d99f70b8c707cfdf4f?format=markdown) — 88f31d2f65b1db7a557320d99f70b8c707cfdf4f; Julius Marminge

- [Require modifier keys for script keybinding capture](https://git.cafe/screen/t3code-personal/commit/c8c0dc6c3c3aa99a36f9d29a9718306a62b4727a?format=markdown) — c8c0dc6c3c3aa99a36f9d29a9718306a62b4727a; Julius Marminge

- [Fix keybindings parse error wrapping behavior](https://git.cafe/screen/t3code-personal/commit/e52db0bbc2bc6324beec55a5082f624754c845f1?format=markdown) — e52db0bbc2bc6324beec55a5082f624754c845f1; Julius Marminge

- [Refactor project script persistence flow in ChatView](https://git.cafe/screen/t3code-personal/commit/71d8f741436b69c1adc21245af6a8fd2969e467f?format=markdown) — 71d8f741436b69c1adc21245af6a8fd2969e467f; Julius Marminge

- [Label setup scripts in project action menu](https://git.cafe/screen/t3code-personal/commit/dfeb673b6de6a16fefd8b34b6d56d1e71394d900?format=markdown) — dfeb673b6de6a16fefd8b34b6d56d1e71394d900; Julius Marminge

- [Fix Windows percent escaping in script env injection](https://git.cafe/screen/t3code-personal/commit/4d886b99f5f786ee407d8d38d77c0e9d1c7548da?format=markdown) — 4d886b99f5f786ee407d8d38d77c0e9d1c7548da; Julius Marminge

- [Address second-pass PR feedback on parser hardening](https://git.cafe/screen/t3code-personal/commit/4e791759cfecaa74319959fe800e0a34c680c442?format=markdown) — 4e791759cfecaa74319959fe800e0a34c680c442; Julius Marminge

- [Address PR review feedback for scripts/keybindings handling](https://git.cafe/screen/t3code-personal/commit/9799b42dcd46fec621ab3abf48332f22950537af?format=markdown) — 9799b42dcd46fec621ab3abf48332f22950537af; Julius Marminge

- [Fix web typecheck for optional script env](https://git.cafe/screen/t3code-personal/commit/a999933297969e269a15cda37c4999bc3b8d8c93?format=markdown) — a999933297969e269a15cda37c4999bc3b8d8c93; Julius Marminge

- [Support script editing and persist project keybindings](https://git.cafe/screen/t3code-personal/commit/648a6ac372bb32e7f6a35b73eb23e444f3c99ef3?format=markdown) — 648a6ac372bb32e7f6a35b73eb23e444f3c99ef3; Julius Marminge

- [Add project script actions with run shortcuts and persistence](https://git.cafe/screen/t3code-personal/commit/3537d477027565cd0d2c1661ff2e41d8f20ea166?format=markdown) — 3537d477027565cd0d2c1661ff2e41d8f20ea166; Julius Marminge

- [rm unused](https://git.cafe/screen/t3code-personal/commit/9e877f592bad913a5d6e9168becab35a5d78605d?format=markdown) — 9e877f592bad913a5d6e9168becab35a5d78605d; Julius Marminge

- [Use Command highlighting state for composer menu navigation](https://git.cafe/screen/t3code-personal/commit/f719aea0479a3de107d50e7e6559e88df239109b?format=markdown) — f719aea0479a3de107d50e7e6559e88df239109b; Julius Marminge

- [rm dupe](https://git.cafe/screen/t3code-personal/commit/f6136bd4c2a23a37c41610ac352058bc17a198a8?format=markdown) — f6136bd4c2a23a37c41610ac352058bc17a198a8; Julius Marminge

- [Fix workspace entry ignore list regression](https://git.cafe/screen/t3code-personal/commit/385d77d0c259ee69195cbf1b99d788852c5fb4b4?format=markdown) — 385d77d0c259ee69195cbf1b99d788852c5fb4b4; Julius Marminge

- [rev](https://git.cafe/screen/t3code-personal/commit/ee2f6bd7421b9ced1877719620ebe6835180a34c?format=markdown) — ee2f6bd7421b9ced1877719620ebe6835180a34c; Julius Marminge

- [fix cond](https://git.cafe/screen/t3code-personal/commit/e1ba603605a146ce609496454fb51082a5911c46?format=markdown) — e1ba603605a146ce609496454fb51082a5911c46; Julius Marminge

- [Add tests for chunking git check-ignore in workspace entry search](https://git.cafe/screen/t3code-personal/commit/5d61b8b14f7f80e6183a7cc9b51a1c48802ead34?format=markdown) — 5d61b8b14f7f80e6183a7cc9b51a1c48802ead34; Julius Marminge

- [Deduplicate workspace index builds and stabilize prompt replacement](https://git.cafe/screen/t3code-personal/commit/2743e45dbed2895e47aed18bbabb36e8dae54247?format=markdown) — 2743e45dbed2895e47aed18bbabb36e8dae54247; Julius Marminge

- [Refactor web query hooks and debounce composer path search](https://git.cafe/screen/t3code-personal/commit/1b409c39468298a2a0c01d988fc2d90340877f13?format=markdown) — 1b409c39468298a2a0c01d988fc2d90340877f13; Julius Marminge

- [Use bot icon for slash commands and normalize YAML file icons](https://git.cafe/screen/t3code-personal/commit/60ed67e5e1e5b983c0d6f0315baeb98b6372daea?format=markdown) — 60ed67e5e1e5b983c0d6f0315baeb98b6372daea; Julius Marminge

- [Refactor composer menu and debounce path entry search](https://git.cafe/screen/t3code-personal/commit/bd6a5c85e6f873997a3e0fc8dd3f773f9acc7893?format=markdown) — bd6a5c85e6f873997a3e0fc8dd3f773f9acc7893; Julius Marminge

- [Add VS Code file icons and tighten workspace entry filtering](https://git.cafe/screen/t3code-personal/commit/9cce5090138a12314f3d121118b692f1d4a0660e?format=markdown) — 9cce5090138a12314f3d121118b692f1d4a0660e; Julius Marminge

- [Respect \.gitignore in workspace search and inline @path mentions](https://git.cafe/screen/t3code-personal/commit/9f48564d846e7dfd6df9741a50416af72d96b855?format=markdown) — 9f48564d846e7dfd6df9741a50416af72d96b855; Julius Marminge

- [Add composer path tagging with workspace entry search](https://git.cafe/screen/t3code-personal/commit/e8556bcff95f4bdd74d4a7334626056f1e26a856?format=markdown) — e8556bcff95f4bdd74d4a7334626056f1e26a856; Julius Marminge

- [Refresh git upstream before status and tune Git query polling](https://git.cafe/screen/t3code-personal/commit/a1532d5b2de71e4a2c3d90d9653da02fa931d8d6?format=markdown) — a1532d5b2de71e4a2c3d90d9653da02fa931d8d6; Julius Marminge

- [fmt](https://git.cafe/screen/t3code-personal/commit/ba4a62eb0335805b6aeab55d55836a2dfbb6d5b5?format=markdown) — ba4a62eb0335805b6aeab55d55836a2dfbb6d5b5; Julius Marminge

- [Refactor PR opening logic in GitActionsControl component](https://git.cafe/screen/t3code-personal/commit/09ac18db8204e0057a6cf0f73424e4345f2070ab?format=markdown) — 09ac18db8204e0057a6cf0f73424e4345f2070ab; Julius Marminge

- [Cap thread terminals at four and disable add/split controls](https://git.cafe/screen/t3code-personal/commit/376efdd3401235dbba95474689e7c092aa08b858?format=markdown) — 376efdd3401235dbba95474689e7c092aa08b858; Julius Marminge

- [Prevent ChatView header overflow with long thread titles](https://git.cafe/screen/t3code-personal/commit/7a5dd62d2f799bd41982eeae04eb24a97c0a7430?format=markdown) — 7a5dd62d2f799bd41982eeae04eb24a97c0a7430; Julius Marminge

- [Add clean script to package.json for removing build artifacts](https://git.cafe/screen/t3code-personal/commit/f64c26e7086c6610321214ccd33727991b676b5a?format=markdown) — f64c26e7086c6610321214ccd33727991b676b5a; Julius Marminge

- [Guard branch sync when no active thread is selected](https://git.cafe/screen/t3code-personal/commit/6d8d39a5d18bb233497c94ff3e930ac5e70c6970?format=markdown) — 6d8d39a5d18bb233497c94ff3e930ac5e70c6970; Julius Marminge

- [Extract branch sync logic and limit sync to local mode](https://git.cafe/screen/t3code-personal/commit/afdfe16931d292ed5de2772ccc1afd95120ff6b2?format=markdown) — afdfe16931d292ed5de2772ccc1afd95120ff6b2; Julius Marminge

- [Use stable IDs for approval actions in ChatView](https://git.cafe/screen/t3code-personal/commit/73fa2d66c79eb1351fbae55a81c61e1f7b88c619?format=markdown) — 73fa2d66c79eb1351fbae55a81c61e1f7b88c619; Julius Marminge

- [Refactor ChatView into memoized subcomponents](https://git.cafe/screen/t3code-personal/commit/51dcb547edf34240a509ffb80f7486d382fd9445?format=markdown) — 51dcb547edf34240a509ffb80f7486d382fd9445; Julius Marminge

More commits follow; continue with `GET /api/repos/screen/t3code-personal/commits?after=IjIyODg2MmFjNTY0ZTg3NTNlNTYyODZlZTk5MzZjZTgzNTI1NzA3Njgi`.
