# Commit history · screen/t3code-personal

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

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

Visibility: public

Requested revision: 25d20ab7928c6aed5f613f4c3319394635869250

Requested commit: 25d20ab7928c6aed5f613f4c3319394635869250

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

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

- [next steps](https://git.cafe/screen/t3code-personal/commit/23861cf3002a7b15a30968de6edd80ebefdefa86?format=markdown) — 23861cf3002a7b15a30968de6edd80ebefdefa86; Julius Marminge

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

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

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

- [es terminology](https://git.cafe/screen/t3code-personal/commit/7934639aa1379f745af7db7c05c964bf6d7a7cc8?format=markdown) — 7934639aa1379f745af7db7c05c964bf6d7a7cc8; Julius Marminge

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

- [back in a pretty good state](https://git.cafe/screen/t3code-personal/commit/fcc94b3b2ffdf3d96fe09fc224b11f0540d2443c?format=markdown) — fcc94b3b2ffdf3d96fe09fc224b11f0540d2443c; Julius Marminge

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

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

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

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

- [more effect: new service graph](https://git.cafe/screen/t3code-personal/commit/150b3782b942e3b35899e134536efc0e4bbd51ac?format=markdown) — 150b3782b942e3b35899e134536efc0e4bbd51ac; Julius Marminge

- [more effect: add new service definitions](https://git.cafe/screen/t3code-personal/commit/5bfd0598e763ba8221ae90b6b68524391a8492a0?format=markdown) — 5bfd0598e763ba8221ae90b6b68524391a8492a0; Julius Marminge

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

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

- [effect v4](https://git.cafe/screen/t3code-personal/commit/0e4f1485c87a234b33cad6c197625d414bfd070c?format=markdown) — 0e4f1485c87a234b33cad6c197625d414bfd070c; Julius Marminge

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

- [simplify layer composition](https://git.cafe/screen/t3code-personal/commit/e219efa22a4a8a6cc1424af54b04c58be9a8b68d?format=markdown) — e219efa22a4a8a6cc1424af54b04c58be9a8b68d; Julius Marminge

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

- [more effect: ProjectRegistry and shared runtime](https://git.cafe/screen/t3code-personal/commit/7a5ea7a5d8d2a779cafb6413306eed554977825c?format=markdown) — 7a5ea7a5d8d2a779cafb6413306eed554977825c; Julius Marminge

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

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