| 11 days ago | Julius Marminge | | fix(server): metrics count interrupted work on the monotonic clock (#16207) |
| 11 days ago | Julius Marminge | | fix(shared): DrainableWorker keeps running after a failed item (#16223) |
| 11 days ago | Julius Marminge | | chore: keep one copy each of undici 8 and ws 8 (#16211) |
| 11 days ago | Julius Marminge | | fix(server): the PR cache sweep only removes real entry files (#16285) |
| 11 days ago | Julius Marminge | | fix(server): one-shot initializers no longer race (#16260) |
| 11 days ago | Julius Marminge | | fix(server): caches and ids are written atomically (#16242) |
| 11 days ago | Julius Marminge | | Add esthor to the list of GitHub users |
| 11 days ago | Theo Browne | | fix(server): Claude limits load again for users with large transcript histories (#16358) |
| 11 days ago | Theo Browne | | fix(server): project favicons stop being rescanned every minute (#16206) |
| 11 days ago | Theo Browne | | fix(server): main's startup auto-pull test compiles again (#16357) |
| 11 days ago | SkiTee3000 | | perf(shared): scan PATH once per command before spawning, not on every spawn (#12600) |
| 11 days ago | ahalekelly | | fix(server): status polling no longer locks the git index (#14718) |
| 11 days ago | Theo Browne | | fix(observability): a failing trace disk no longer stalls the server (#13758) |
| 11 days ago | Ishaan Kothari | | fix(server): probe project favicon candidates concurrently (#12543) |
| 11 days ago | Michel Liao | | fix(server): return partial workspace index on timeout (#11500) |
| 11 days ago | Bilal Bakr | | fix(web): avoid blocking image preparation conversions (#13342) |
| 11 days ago | Igor Makowski | | fix(server): stop the startup project sync from delaying the app window (#14912) |
| 11 days ago | Theo Browne | | fix(server): forks no longer merge into their upstream repo's project group (#16353) |
| 11 days ago | Julius Marminge | | refactor(server): replay guards stay in CloudLink (#16349) |
| 11 days ago | Julius Marminge | | refactor(server): CloudLink fails with its own errors; the connect routes map them to HTTP (#16341) |
| 11 days ago | Julius Marminge | | refactor(server): CloudLink keeps only the link lifecycle; pure checks live beside it (#16340) |
| 11 days ago | Erik Thorelli | | chore(review): turn off CodeRabbit's docstring coverage check (#16328) |
| 11 days ago | Erik Thorelli | | chore(review): point CodeRabbit at the web UI conventions (#16324) |
| 11 days ago | Julius Marminge | | docs(relay): add the legacy tunnel cleanup rollout runbook (#13568) |
| 11 days ago | Julius Marminge | | feat(connect): tell users when an idle tunnel was removed (#13567) |
| 11 days ago | Julius Marminge | | perf(relay): delete expired tunnels four at a time within a time budget (#13566) |
| 11 days ago | Julius Marminge | | feat(relay): clean up tunnels of hosts that never registered recovery (#13565) |
| 11 days ago | Julius Marminge | | feat(relay): measure the managed tunnel backlog (#13564) |
| 11 days ago | Julius Marminge | | fix(relay): stop forcing manual relay deploys by default (#13563) |
| 11 days ago | Julius Marminge | | fix(web): recover from a closed IndexedDB connection (#16311) |
| 11 days ago | Julius Marminge | | feat(desktop): the renderer's bootstrap token rotates every 12 hours (#16275) |
| 11 days ago | Julius Marminge | | fix(web): a rejected desktop-local credential is not retried every poll (#16273) |
| 11 days ago | Julius Marminge | | refactor(relay): import HookInboxObject once, as a namespace (#16307) |
| 11 days ago | Erik Thorelli | | chore(lint): require a reason on every lint and type-checker suppression (#16294) |
| 11 days ago | Erik Thorelli | | docs: put the Effect and web UI review rules in the docs (#16286) |
| 11 days ago | Erik Thorelli | | chore(review): configure CodeRabbit in TypeScript (#16281) |
| 11 days ago | Julius Marminge | | refactor(server): one module per service instead of Services/ and Layers/ folders (#16295) |
| 11 days ago | Theo Browne | | fix(web): inline HTML renders no longer trap the thread's scroll (#16283) |
| 11 days ago | Theo Browne | | fix(web): sidebar drag and drop no longer snaps back (#16291) |
| 11 days ago | Julius Marminge | | refactor(server): T3 Connect link capabilities live in a CloudLink service (#16265) |
| 11 days ago | Julius Marminge | | refactor: layer variables are named layer or layerXyz (#16282) |
| 11 days ago | Theo Browne | | fix(pull-requests): PR detail reads no longer drain the GitHub quota (#16280) |
| 11 days ago | Theo Browne | | perf(server): PR watches spend ~90% fewer GitHub points by checking a 1-point fingerprint first (#16270) |
| 11 days ago | Theo Browne | | perf(server): idle status polls and PR sweeps start fewer git processes (#16272) |
| 11 days ago | Julius Marminge | | feat(server,web): choose where new worktrees are created (#16231) |
| 11 days ago | Theo Browne | | feat(server): log how long PR watches stay quiet before they end (#16262) |
| 11 days ago | Julius Marminge | | refactor(server): import service modules as namespaces, not aliased layers (#16267) |
| 11 days ago | Julius Marminge | | fix(server): a T3 Connect preferences save finishes even if the client disconnects (#16266) |
| 11 days ago | Julius Marminge | | refactor(server,relay): webhook capabilities live in services, not handlers (#16232) |
| 11 days ago | Julius Marminge | | fix(relay): releasing a tunnel that still has a connector no longer 500s (#16250) |
|