Commits
fix(web): ../ file links outside the workspace open as host files (#22853)
edce5f0e53 • Theo Browne • 1d ago
fix(web): right panel launcher letters open their surface instead of typing into the composer (#22898)
86fa9e0a0c • Theo Browne • 1d ago
fix(web): quote comment box stays on screen for long code lines (#22149)
159f2b8cc3 • Etan Heyman • 1d ago
fix(web): a Usage toggle shortcut now goes back instead of staying on Usage (#22905)
bee9ce829b • Theo Browne • 1d ago
fix(web): thread details PR merge uses the last selected merge method (#22399)
a35066d9f2 • Tristan Knight • 1d ago
fix(composer): typing a price no longer opens the skill menu (#21519)
1ee0241730 • MarcoDotIO • 1d ago
fix(server): pushes the remote refuses say why instead of a generic failure (#22904)
fb7f08782b • Theo Browne • 1d ago
fix(server): Forgejo and GitCafe pull requests link to their threads again (#22937)
22b89ef061 • MarcoDotIO • 1d ago
fix(server): scheduled tasks no longer jump to the top when toggled (#22899)
1b22228e52 • Theo Browne • 1d ago
fix(web): the branch toolbar and thread details panel stay cached while a reply streams (#23103)
968dd51704 • Julius Marminge • 1d ago
refactor(web): ChatView's timeline banners render in ChatBannerLane (#23101)
a642ab2bd5 • Julius Marminge • 1d ago
refactor(web): chat shortcuts live with the hooks that own their actions (#23097)
764fff2efc • Julius Marminge • 1d ago
refactor(web): ComposerControlsBar renders without a memo() wrapper (#23093)
b34f74cde0 • Julius Marminge • 1d ago
refactor(web): the composer send reads its own settings and draft instead of taking them from ChatView (#23095)
beec3c8b30 • Julius Marminge • 1d ago
refactor(web): multiple-model sends live in their own hook (#23094)
ac23b74df8 • Julius Marminge • 1d ago
refactor(web): proposed-plan follow-ups and implement-in-new-thread live in their own hooks (#23091)
36d1e2fec5 • Julius Marminge • 1d ago
refactor(web): resuming an interrupted run lives in its own hook (#23087)
5b715cc13c • Julius Marminge • 1d ago
fix(composer): mentions of files like `posts.$postId.tsx` or `[id].tsx` stay chips (#22922)
5c3721e20a • Theo Browne • 1d ago
fix(web): finished provider updates no longer leave a hidden spinner in the sidebar (#22912)
38d993f383 • Theo Browne • 1d ago
fix(web): PR Code tab keeps its files after a refresh with an unchanged diff (#22917)
b9c1293c0a • Theo Browne • 1d ago
fix(mobile): opening a pull request no longer crashes with "Maximum update depth exceeded" (#22600)
d0c5d7c4ed • tatsuaki watanabe • 1d ago
fix(server): t3_thread_read clamps oversized page sizes instead of failing (#22901)
ee11fbd971 • Theo Browne • 1d ago
fix(scripts): mobile lint fails instead of passing when ktlint or detekt is missing (#22896)
aef8b6fcf0 • Theo Browne • 1d ago
fix(server): server tests resolve the macOS temp dir symlink (#21442)
2a27e15355 • tatsuaki watanabe • 1d ago
test(telemetry): keep fixture PIDs from colliding with the test worker (#21446)
da46db6ea3 • Victor Vogel • 1d ago
fix(server): failed provider updates say why (#22506)
f08781009f • Koushik_xd • 1d ago
docs(composer): queued messages follow the Follow-up behavior setting (#22857)
8541f86374 • Theo Browne • 1d ago
fix(tailscale): a timed-out tailscale probe no longer outlives its call (#22900)
0d876e004a • Theo Browne • 1d ago
fix(server): HTML preview reports a browser start error instead of an internal error (#22895)
60dc0a044c • Theo Browne • 1d ago
docs(user): the outside agents guide says which addresses agents can sign in over (#22377)
9c6523d5be • Gourav Kumar Dhiman • 1d ago
fix(mobile): chat feed no longer re-derives on every render (#22913)
71b867080b • Theo Browne • 1d ago
fix(server): a desktop backend whose launcher died shuts down cleanly instead of crashing (#22471)
2936b90883 • Dara Adedeji • 1d ago
fix(pi): declare properties on MCP tool schemas that omit them (#21822)
9892aca206 • Taissa • 1d ago
fix(server): Codex no longer offers a one-click update for installs it can't detect (#22504)
c25ba721ae • Koushik_xd • 1d ago
fix(cursor): a closed-stream write in the Cursor SDK no longer stops the server (#22897)
f54dfc0991 • Theo Browne • 1d 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