Commits
refactor(web): resuming an interrupted run lives in its own hook (#23087)
5b715cc13c • Julius Marminge • 2d ago
fix(composer): mentions of files like `posts.$postId.tsx` or `[id].tsx` stay chips (#22922)
5c3721e20a • Theo Browne • 2d ago
fix(web): finished provider updates no longer leave a hidden spinner in the sidebar (#22912)
38d993f383 • Theo Browne • 2d ago
fix(web): PR Code tab keeps its files after a refresh with an unchanged diff (#22917)
b9c1293c0a • Theo Browne • 2d ago
fix(mobile): opening a pull request no longer crashes with "Maximum update depth exceeded" (#22600)
d0c5d7c4ed • tatsuaki watanabe • 2d ago
fix(server): t3_thread_read clamps oversized page sizes instead of failing (#22901)
ee11fbd971 • Theo Browne • 2d ago
fix(scripts): mobile lint fails instead of passing when ktlint or detekt is missing (#22896)
aef8b6fcf0 • Theo Browne • 2d ago
fix(server): server tests resolve the macOS temp dir symlink (#21442)
2a27e15355 • tatsuaki watanabe • 2d ago
test(telemetry): keep fixture PIDs from colliding with the test worker (#21446)
da46db6ea3 • Victor Vogel • 2d ago
fix(server): failed provider updates say why (#22506)
f08781009f • Koushik_xd • 2d ago
docs(composer): queued messages follow the Follow-up behavior setting (#22857)
8541f86374 • Theo Browne • 2d ago
fix(tailscale): a timed-out tailscale probe no longer outlives its call (#22900)
0d876e004a • Theo Browne • 2d ago
fix(server): HTML preview reports a browser start error instead of an internal error (#22895)
60dc0a044c • Theo Browne • 2d ago
docs(user): the outside agents guide says which addresses agents can sign in over (#22377)
9c6523d5be • Gourav Kumar Dhiman • 2d ago
fix(mobile): chat feed no longer re-derives on every render (#22913)
71b867080b • Theo Browne • 2d ago
fix(server): a desktop backend whose launcher died shuts down cleanly instead of crashing (#22471)
2936b90883 • Dara Adedeji • 2d ago
fix(pi): declare properties on MCP tool schemas that omit them (#21822)
9892aca206 • Taissa • 2d ago
fix(server): Codex no longer offers a one-click update for installs it can't detect (#22504)
c25ba721ae • Koushik_xd • 2d ago
fix(cursor): a closed-stream write in the Cursor SDK no longer stops the server (#22897)
f54dfc0991 • Theo Browne • 2d ago
refactor(web): ChatView's paste-to-focus, titlebar controls, and timeline overlays move out (#23072)
322d08dbd4 • Julius Marminge • 2d ago
refactor(web): ChatView's thread derivations are tested functions in ChatView.logic (#23071)
9952a7aa51 • Julius Marminge • 2d ago
refactor(web): ChatView's pull request checkout lives in usePullRequestDraftThread (#23070)
114f77fd05 • Julius Marminge • 2d ago
refactor(web): ChatView's model, mode, and workspace choices live in useComposerSelection (#23069)
976a601b87 • Julius Marminge • 2d ago
refactor(web): ChatView's project clone banner lives in useProjectCloneBanner (#23068)
7be791c675 • Julius Marminge • 2d ago
refactor(web): ChatView's attachment preview handoff lives in useAttachmentPreviewHandoff (#23067)
5b8298c238 • Julius Marminge • 2d ago
refactor(web): ChatView's revert, rollback, and fork live in useTimelineRewind (#23066)
9f087f782c • Julius Marminge • 2d ago
refactor(web): ChatView's snooze, settle, and checkout actions live in useThreadLifecycle (#23065)
92105d4994 • Julius Marminge • 2d ago
refactor(web): ChatView's right panel actions live in useRightPanelActions (#23064)
ebe828cd9d • Julius Marminge • 2d ago
refactor(web): ChatView's terminal actions live in useChatTerminalActions (#23063)
379a391fcb • Julius Marminge • 2d ago
refactor(web): ChatView's send paths live in useComposerSend (#23062)
f136d5a755 • Julius Marminge • 2d ago
refactor(web): composer key handling lives in useComposerCommandKey (#23060)
e78f580468 • Julius Marminge • 2d ago
refactor(web): the composer's footer controls render in ComposerControlsBar (#23058)
1444b3f994 • Julius Marminge • 2d ago
refactor(web): composer file intake lives in useComposerAttachmentIntake (#23049)
98c494ec69 • Julius Marminge • 2d ago
refactor(web): composer context imports live in useComposerContextImport (#23048)
fa3700214e • Julius Marminge • 2d ago
refactor(web): the prompt stash lives in useComposerStash (#23046)
0755f98401 • Julius Marminge • 2d ago
refactor(web): the composer's layout and provider hooks live in their own files (#23042)
22fd2aca1f • Julius Marminge • 2d ago
perf(web): typing no longer re-renders the traits picker or attach button (#23040)
c19d9977d4 • Julius Marminge • 2d ago
feat(claude): idle compaction has a global default and per-instance overrides (#23037)
d13fc84670 • Julius Marminge • 2d ago
feat(server,web,mobile): approvals in full access say why Claude asked (#22546)
e749245387 • Julius Marminge • 2d ago
feat: show automation messages as compact timeline rows (#22638)
d27c6067a9 • Julius Marminge • 2d ago
fix(desktop): use Clerk's upstream fix for abandoned browser sign-ins (#23038)
41967084e3 • Robert Soriano • 2d ago
refactor(web): the add environment dialog owns its form state (#22686)
0bdf33a34d • Julius Marminge • 2d ago
perf(web): a streaming thread re-renders only its own sidebar row (#22730)
5a0d1594e8 • Julius Marminge • 2d ago
fix(server): removing a worktree on Windows no longer deletes what its junctions point to (#21099)
fa42465ff6 • Dara Adedeji • 2d ago
docs(agents): proof for a bug fix depends on the bug (#23008)
9179178fdf • Julius Marminge • 2d ago
fix(server): agents get a short, current model list instead of a 55k-character catalog dump (#22889)
680152e27b • Theo Browne • 2d ago
fix(desktop): an abandoned browser sign-in no longer blocks T3 Connect for 3 minutes (#22903)
810e8f62f0 • Theo Browne • 2d ago
fix(server): answered questions say "already answered" instead of "not found" (#22850)
e822ba78ea • Theo Browne • 2d ago
fix(server): the background service picks up JAVA_HOME from the login shell (#22856)
a7c22f12b7 • Theo Browne • 2d ago
fix(shared): accept a pasted ChatGPT callback URL that is missing http:// (#21750)
35e5d6229b • project516 • 2d ago
fix(opencode): out-of-funds failures show OpenCode's message instead of a usage limit (#22596)
2f021ee7d3 • fixfon • 2d ago
fix(mcp): point a bare thread uuid at its mcp: thread in thread_not_found (#22452)
b260a7cf69 • fixfon • 2d ago
fix(server): commit prompts no longer repeat CLAUDE.md when it matches AGENTS.md (#22848)
1d9060b9af • Theo Browne • 2d ago
fix(server): keep Antigravity question options and no-custom-answer flag in V2 (#22019)
2d40894328 • fixfon • 2d ago
fix(gitlab): merge request diffs page 30 files at a time so GitLab 15.7 to 17.10 answer (#21909)
588150e39d • Igor Makowski • 2d ago
fix(codex): keep every path of a multi-file patch (#22541)
aacd1ee337 • Victor Vogel • 2d ago
fix(server): avoid expensive diff minimization in status refreshes (#21872)
370b9ae793 • Lakshmi Tanmay • 2d ago
fix(server): t3 pair in a worktree no longer falls back to the live install (#22855)
448b8a9186 • Theo Browne • 2d ago
fix(server): delegated Claude children follow your subagent cache TTL setting (#22841)
066c8fc0cd • Theo Browne • 2d ago
fix(queue): send selected held messages when a thread is stopped (#22790)
96f09c6558 • Yash Singh • 2d ago
fix(release): keep Vercel warnings out of deployment URLs (#22817)
1688f96568 • Theo Browne • 2d ago
fix(release): include pnpm hook in Vercel uploads (#22813)
688ee52f0e • Theo Browne • 2d ago
fix(web): images on their own line no longer sit beside their label (#22787)
e27a03e94d • Theo Browne • 2d ago
fix(web): steers split a finished turn's work instead of stacking under it (#22783)
a8bb769d65 • Theo Browne • 2d ago
fix(server): stalled clones say "Stalled" instead of a frozen speed (#22780)
8fe4206dec • Theo Browne • 2d ago
perf(dev): faster first load for shared dev servers (#22776)
1dfb572871 • Theo Browne • 2d ago
fix(scripts): check:changed no longer skips knip after a removed import (#22784)
1f4eae7253 • Theo Browne • 2d ago
feat(scripts): one command checks what the branch changed (#22767)
74541bab17 • Theo Browne • 2d ago
fix(web): ⌘Z undoes a settle even when the composer has focus (#22607)
21da3061aa • Theo Browne • 2d ago
docs(agents): read vendored .repos with git show when sparse-excluded (#22764)
6490a9e874 • Theo Browne • 2d ago
perf(server): skip the macOS xcrun git shim (#22759)
efdda5e521 • Theo Browne • 2d ago
refactor(web): saved and T3 Connect environment rows live in their own file (#22685)
848e352b48 • Julius Marminge • 2d ago
refactor(web): authorized clients and endpoint rows live in their own file (#22684)
263eef215d • Julius Marminge • 2d ago
refactor(web): the connections page's pure helpers live in ConnectionsSettings.logic (#22683)
9dc28a125a • Julius Marminge • 2d ago
refactor(web): the background activity setting and its dialog live in their own file (#22669)
381514e7af • Julius Marminge • 2d ago
refactor(web): the appearance settings page lives in its own file (#22668)
501f5c5757 • Julius Marminge • 2d ago
refactor(web): the typography settings section lives in its own file (#22667)
568cbb42e3 • Julius Marminge • 2d ago
refactor(web): the archived threads settings page lives in its own file (#22666)
0b91504aba • Julius Marminge • 2d ago
refactor(web): ChatView's send preparation is pure functions in ChatView.logic (#22734)
38b13e977e • Julius Marminge • 2d ago
refactor(web): ChatView's draft machine routing lives in useDraftEnvironmentRouting (#22728)
91a0a2901a • Julius Marminge • 2d ago
refactor(web): ChatView's subagent, goal, background-work and branch banners are built in ThreadActivityBanners (#22725)
bd7aab2c95 • Julius Marminge • 2d ago
refactor(web): ChatView's machine and server-update banners live in useSystemComposerBanners (#22710)
030be16739 • Julius Marminge • 2d ago
refactor(web): ChatView's timeline follow and anchoring lives in useTimelineFollow (#22701)
6b13e8f01c • Julius Marminge • 2d ago
refactor(web): ChatView's right panel lives in its own component (#22700)
8da8f613ff • Julius Marminge • 2d ago
refactor(web): ChatView's persistent terminal drawers live in their own component (#22680)
a97f7f8e8d • Julius Marminge • 2d ago
refactor(web): ChatView's module-level helpers live in their own files (#22665)
9c3e743a45 • Julius Marminge • 2d ago
refactor(web): chat markdown images and videos live in their own module (#22694)
7ffc3bb7e8 • Julius Marminge • 2d ago
refactor(web): chat markdown links and file chips live in their own modules (#22693)
827f6d4f4a • Julius Marminge • 2d ago
refactor(web): chat markdown tables and details live in their own components (#22692)
5c5d6ed3b6 • Julius Marminge • 2d ago
refactor(web): the Mermaid code block lives in its own component file (#22691)
36bda3cca7 • Julius Marminge • 2d ago
refactor(web): chat markdown code blocks live in their own module (#22690)
5f0a0d1c2f • Julius Marminge • 2d ago
refactor(web): the pull request list's grouping helper lives in a logic module (#22727)
a003b73aa8 • Julius Marminge • 2d ago
perf(web): Shift re-renders only each row's quick-action group (#22726)
57d784404e • Julius Marminge • 2d ago
refactor(web): the pull requests route only validates its search; the page lives under components (#22706)
35b056638f • Julius Marminge • 2d ago
refactor(web): the pull requests page's scope and grouping hooks live in their own module (#22705)
5a31f4cf9c • Julius Marminge • 2d ago
refactor(web): the pull request list's rows read the speed-mode modifier themselves (#22704)
787e0e4a2f • Julius Marminge • 2d ago
refactor(web): the pull request detail loader lives in its own hook (#22703)
5db00458e5 • Julius Marminge • 2d ago
refactor(web): the pull request header's actions live in their own components (#22702)
8f7de11141 • Julius Marminge • 2d ago
refactor(web): the pull request header's crumbs, title editor and base branch live in their own components (#22672)
b302290c17 • Julius Marminge • 2d ago
refactor(web): the pull requests column lives in its own component (#22671)
09bd654754 • Julius Marminge • 2d ago