Repository navigation
test: remove the timing races behind recurring CI and release failures - #22523
Conversation
… tests on their own runner Playwright's mouse outlives each test, so a component that mounts under its last position starts hovered. render() now parks it off the page when the screen disposes. The release job also ran web browser tests next to every other package, starving them of CPU; they now get their own job, as in CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is primarily a focused CI/test race-remediation change. Its sole production-path edit makes Claude steer timeout accounting bounded from request start, while the remaining edits are isolated test fixtures and browser-test infrastructure. Notes:
You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
# Conflicts: # .github/workflows/release.yml
- ClaudeAdapterV2: a steer's 5s backgrounding deadline is measured from the request, so a timer started after the test moved its clock can no longer wait forever. The test awaits a Deferred instead of polling. - transferBudgetV2: shell streams may never send an item at the last sequence, so the test waits for the final shell instead. - OpenCodeServerLedger: the fixture waits for the inner shell to start, and killGroup ignores only ESRCH. - ACP mock agent waits for the detached fixture to publish its PIDs. - Diff worker tests no longer race Pierre's 10s worker startup limit: the PR panel uses the main-thread fallback, StyledDiffCodeView raises the limit outside the test of that limit, and queries stay in the test's container. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dismissing prior approval to re-evaluate f0b76d1
# Conflicts: # apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
Dismissing prior approval to re-evaluate 2212a3a
- ProjectFaviconPickerDialog: the fake asset atoms are kept alive, so a URL published between a row's render and its subscription is not dropped. - MessagesTimeline: Mermaid loads and renders once while the file loads, so the first diagram test no longer pays a 10s cold start under load. - ProjectSettingsPanel: the scope test is split into three tests that each mount at their own URL, so no single test spends 15s on three menu passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dismissing prior approval to re-evaluate 917b698
## What's Changed * test(server): Claude steer test no longer hangs for 120s under CI load by @t3dotgg in pingdotgg/t3code#22533 * test: remove the timing races behind recurring CI and release failures by @t3dotgg in pingdotgg/t3code#22523 * feat(web): render Mermaid diagrams with pele by @maria-rcks in pingdotgg/t3code#21472 * fix(mobile): keep home brand visible during secondary retries by @maria-rcks in pingdotgg/t3code#21388 * fix(mobile): collapse pull request repository errors by @maria-rcks in pingdotgg/t3code#21389 * fix(mobile): show terminal arrow keys before secondary controls by @maria-rcks in pingdotgg/t3code#21398 * fix(mobile): update outdated servers and respect provider permissions by @maria-rcks in pingdotgg/t3code#21402 * fix(mobile): live activity tracks thread status and settlement by @maria-rcks in pingdotgg/t3code#21405 * fix(mobile): use current checkout for non-git projects by @maria-rcks in pingdotgg/t3code#21404 * fix(mobile): add project and checkout removal by @maria-rcks in pingdotgg/t3code#21409 * fix(mobile): show plans and fold settled progress notes by @maria-rcks in pingdotgg/t3code#21393 * fix(mobile): open transcript file links at the resolved path by @maria-rcks in pingdotgg/t3code#21403 * fix(mobile): lock the composer while queued edits save by @maria-rcks in pingdotgg/t3code#21390 * fix(mobile): bring model controls in line with web by @maria-rcks in pingdotgg/t3code#21406 * fix(mobile): restore archive and thread action undo by @maria-rcks in pingdotgg/t3code#21401 * fix(mobile): expose background work and thread status actions by @maria-rcks in pingdotgg/t3code#21395 * fix(web): keep approval menu actions compact by @Yash-Singh1 in pingdotgg/t3code#22566 * fix(web): main typecheck passes again after the Mermaid switch to pele by @t3dotgg in pingdotgg/t3code#22570 * test: delete 11k low-signal tests so CI runs faster and flakes less by @t3dotgg in pingdotgg/t3code#22557 * fix(mobile): thread rows show wake status and elapsed time by @maria-rcks in pingdotgg/t3code#21394 * fix(web,mobile): list database space for all machines in one notice by @juliusmarminge in pingdotgg/t3code#22575 * test(lint): ban per-test timeouts and unreasoned skips by @juliusmarminge in pingdotgg/t3code#22560 * test(web): ban frame and transition waits in browser tests by @juliusmarminge in pingdotgg/t3code#22561 * test: ban wall-clock readings in tests by @juliusmarminge in pingdotgg/t3code#22562 * test(server): ban real-clock waits in tests by @juliusmarminge in pingdotgg/t3code#22564 * test: warn on polling loops in tests and make adapter test harnesses event-driven by @juliusmarminge in pingdotgg/t3code#22565 * fix(mobile): iOS new-thread skill picker stops shifting the screen by @flamboh in pingdotgg/t3code#22121 * fix(web): dialogs keep their content while they close by @flamboh in pingdotgg/t3code#21960 * ci(release): build Windows x64 on Linux like arm64 by @t3dotgg in pingdotgg/t3code#22584 * fix(server): idle orphaned follow-ups can be cancelled without a running parent by @t3dotgg in pingdotgg/t3code#22581 * chore(web): remove "use client" directives by @flamboh in pingdotgg/t3code#22587 * test(mobile): prune low-value tests in mobile (second pass) by @juliusmarminge in pingdotgg/t3code#22588 * test(desktop): prune low-value tests in desktop (second pass) by @juliusmarminge in pingdotgg/t3code#22589 * test(web): prune low-value tests in apps/web (second pass) by @juliusmarminge in pingdotgg/t3code#22591 * test(server): prune low-value tests in apps/server (second pass) by @juliusmarminge in pingdotgg/t3code#22592 * test(packages): prune low-value tests in packages (second pass) by @juliusmarminge in pingdotgg/t3code#22593 * test(server): prune low-value tests in orchestration-v2 (second pass) by @juliusmarminge in pingdotgg/t3code#22599 * test(web): every browser test starts with the mouse off the page by @juliusmarminge in pingdotgg/t3code#22556 * chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports by @juliusmarminge in pingdotgg/t3code#22602 * fix(server): make the remaining flaky server tests deterministic by @juliusmarminge in pingdotgg/t3code#22559 * fix(mobile): composer chips match chat chips by @flamboh in pingdotgg/t3code#22518 * fix(mobile): show each turn's diffstat on its work row by @maria-rcks in pingdotgg/t3code#21392 * fix(web): silence notifications when stopping a watch by @Yash-Singh1 in pingdotgg/t3code#22615 * ci(release): build macOS desktop on Blacksmith runners again by @t3dotgg in pingdotgg/t3code#22613 **Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261020.3438...v0.1.2-nightly.20261021.3457 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.2-nightly.20261021.3457
## What's Changed * test(server): Claude steer test no longer hangs for 120s under CI load by @t3dotgg in pingdotgg/t3code#22533 * test: remove the timing races behind recurring CI and release failures by @t3dotgg in pingdotgg/t3code#22523 * feat(web): render Mermaid diagrams with pele by @maria-rcks in pingdotgg/t3code#21472 * fix(mobile): keep home brand visible during secondary retries by @maria-rcks in pingdotgg/t3code#21388 * fix(mobile): collapse pull request repository errors by @maria-rcks in pingdotgg/t3code#21389 * fix(mobile): show terminal arrow keys before secondary controls by @maria-rcks in pingdotgg/t3code#21398 * fix(mobile): update outdated servers and respect provider permissions by @maria-rcks in pingdotgg/t3code#21402 * fix(mobile): live activity tracks thread status and settlement by @maria-rcks in pingdotgg/t3code#21405 * fix(mobile): use current checkout for non-git projects by @maria-rcks in pingdotgg/t3code#21404 * fix(mobile): add project and checkout removal by @maria-rcks in pingdotgg/t3code#21409 * fix(mobile): show plans and fold settled progress notes by @maria-rcks in pingdotgg/t3code#21393 * fix(mobile): open transcript file links at the resolved path by @maria-rcks in pingdotgg/t3code#21403 * fix(mobile): lock the composer while queued edits save by @maria-rcks in pingdotgg/t3code#21390 * fix(mobile): bring model controls in line with web by @maria-rcks in pingdotgg/t3code#21406 * fix(mobile): restore archive and thread action undo by @maria-rcks in pingdotgg/t3code#21401 * fix(mobile): expose background work and thread status actions by @maria-rcks in pingdotgg/t3code#21395 * fix(web): keep approval menu actions compact by @Yash-Singh1 in pingdotgg/t3code#22566 * fix(web): main typecheck passes again after the Mermaid switch to pele by @t3dotgg in pingdotgg/t3code#22570 * test: delete 11k low-signal tests so CI runs faster and flakes less by @t3dotgg in pingdotgg/t3code#22557 * fix(mobile): thread rows show wake status and elapsed time by @maria-rcks in pingdotgg/t3code#21394 * fix(web,mobile): list database space for all machines in one notice by @juliusmarminge in pingdotgg/t3code#22575 * test(lint): ban per-test timeouts and unreasoned skips by @juliusmarminge in pingdotgg/t3code#22560 * test(web): ban frame and transition waits in browser tests by @juliusmarminge in pingdotgg/t3code#22561 * test: ban wall-clock readings in tests by @juliusmarminge in pingdotgg/t3code#22562 * test(server): ban real-clock waits in tests by @juliusmarminge in pingdotgg/t3code#22564 * test: warn on polling loops in tests and make adapter test harnesses event-driven by @juliusmarminge in pingdotgg/t3code#22565 * fix(mobile): iOS new-thread skill picker stops shifting the screen by @flamboh in pingdotgg/t3code#22121 * fix(web): dialogs keep their content while they close by @flamboh in pingdotgg/t3code#21960 * ci(release): build Windows x64 on Linux like arm64 by @t3dotgg in pingdotgg/t3code#22584 * fix(server): idle orphaned follow-ups can be cancelled without a running parent by @t3dotgg in pingdotgg/t3code#22581 * chore(web): remove "use client" directives by @flamboh in pingdotgg/t3code#22587 * test(mobile): prune low-value tests in mobile (second pass) by @juliusmarminge in pingdotgg/t3code#22588 * test(desktop): prune low-value tests in desktop (second pass) by @juliusmarminge in pingdotgg/t3code#22589 * test(web): prune low-value tests in apps/web (second pass) by @juliusmarminge in pingdotgg/t3code#22591 * test(server): prune low-value tests in apps/server (second pass) by @juliusmarminge in pingdotgg/t3code#22592 * test(packages): prune low-value tests in packages (second pass) by @juliusmarminge in pingdotgg/t3code#22593 * test(server): prune low-value tests in orchestration-v2 (second pass) by @juliusmarminge in pingdotgg/t3code#22599 * test(web): every browser test starts with the mouse off the page by @juliusmarminge in pingdotgg/t3code#22556 * chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports by @juliusmarminge in pingdotgg/t3code#22602 * fix(server): make the remaining flaky server tests deterministic by @juliusmarminge in pingdotgg/t3code#22559 * fix(mobile): composer chips match chat chips by @flamboh in pingdotgg/t3code#22518 * fix(mobile): show each turn's diffstat on its work row by @maria-rcks in pingdotgg/t3code#21392 * fix(web): silence notifications when stopping a watch by @Yash-Singh1 in pingdotgg/t3code#22615 * ci(release): build macOS desktop on Blacksmith runners again by @t3dotgg in pingdotgg/t3code#22613 **Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261020.3438...v0.1.2-nightly.20261021.3457 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.2-nightly.20261021.3457
Brings over the favicon picker keepAlive and PR panel diff-worker stub from upstream pingdotgg#22508/pingdotgg#22523; both tests failed the v0.2.54 release on a loaded runner.
* revert: "fix(desktop): saved connections survive the Beta rename on macOS and Linux" (pingdotgg#20907) (pingdotgg#22219) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): pinned thread marker stays put when hovering the row" (pingdotgg#11122) (pingdotgg#22223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: fourteen unverified desktop fixes from the takeover campaign (pingdotgg#22222) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): worktree threads warn when the checkout branch changes" (pingdotgg#14883) (pingdotgg#22225) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): recover from transient download and stale report failures (pingdotgg#22232) * revert: "fix(clients): show question option previews" (pingdotgg#21933) (pingdotgg#22229) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): stop composer banner glass overlap" (pingdotgg#8034) (pingdotgg#22227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): keep subagent links visible in long background-work banners" (pingdotgg#20054) (pingdotgg#22228) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(scheduler): label fixed-time tasks with the server timezone" (pingdotgg#18653) (pingdotgg#22230) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): preserve snapshot thumbnail context and detail" (pingdotgg#18440) (pingdotgg#22231) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): show idle server updates on environment controls" (pingdotgg#21950) (pingdotgg#22233) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): a frozen host no longer shows a heartbeat as slow or blames your DNS (pingdotgg#22212) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server,web,mobile): a host that drops because it froze now says why (pingdotgg#22213) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert(web): restore grouped projects in the new thread selector (pingdotgg#22242) * test(ssh): wait for server exit during handover (pingdotgg#22252) * fix(web,server): adding a project to another machine takes you there, with no toasts and the right favicon (pingdotgg#22254) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(clients): every PR +/- shows its code, tests, and docs split, without the hover wait (pingdotgg#22255) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): isolate diff worker idle clock (pingdotgg#22259) * ci(release): build macOS desktop on GitHub macos-26-xlarge runners (pingdotgg#22264) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): macOS release signing works on macOS 26.6 runners (pingdotgg#22277) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): pinned threads' pin icon stays put on hover (pingdotgg#22303) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): show pointer cursors on changed-file controls (pingdotgg#22266) * fix(web): use the shared markdown scrollbar width (pingdotgg#22200) * revert: limit bars with many accounts no longer clip names to one letter (pingdotgg#19964) (pingdotgg#22395) Co-authored-by: Julius Marminge <julius@marminge.se> * fix(mobile): pin expo-modules-core so the release smoke patch stays in use (pingdotgg#22343) * fix(server): updates no longer keep every old runtime on disk (pingdotgg#22253) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): chat chips match desktop and the composer again (pingdotgg#22169) * fix(web): normalize disabled terminal button opacity (pingdotgg#22389) * fix(contracts): settings save again when the writing style has default fields (pingdotgg#22203) Co-authored-by: Claude Code <noreply@anthropic.com> * fix(relay): run the relay Worker next to its database (pingdotgg#22065) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): disposable render helper and lint rule for browser tests (pingdotgg#22187) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): use native sheet headers and toolbar filters (pingdotgg#22390) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(ssh): unreaped-server test no longer loses its zombie fixture (pingdotgg#22427) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): require-disposable-render is now an error (pingdotgg#22410) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): migrate the last .ts browser tests and stop wrapping userEvent in act (pingdotgg#22424) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): Limits bars show the even-pace mark as a tick in a gap (pingdotgg#22408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): pooled Limits segments narrower than 6px draw no pace mark; fixture README (pingdotgg#22453) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): the composer stays one row until the draft wraps (pingdotgg#20812) Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(web): restore left-aligned markdown table cells (pingdotgg#22482) Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> * feat(scheduled-tasks): event filters for webhook deliveries (pingdotgg#22194) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): prevent update checker from crashing iOS at launch (pingdotgg#22488) * feat(scheduled-tasks): replay dedupe and coalescing for webhook deliveries (pingdotgg#22234) * ci(release): Make Windows arm64 CI job 50% faster (pingdotgg#22428) * ci(release): Windows arm64 verify no longer runs the crashing ARM PowerShell (pingdotgg#22494) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(source-control): GitCafe creates repositories and pull requests over REST (pingdotgg#22495) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): fix release browser test failures (pingdotgg#22508) * fix(mobile): connecting an environment no longer crashes the header (pingdotgg#22521) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): folded Back clears the detail route before the next selection (pingdotgg#22526) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(release): release tests stop timing out and finish in about 5 minutes (pingdotgg#22524) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): Claude steer test no longer hangs for 120s under CI load (pingdotgg#22533) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: remove the timing races behind recurring CI and release failures (pingdotgg#22523) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): render Mermaid diagrams with pele (pingdotgg#21472) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(mobile): keep home brand visible during secondary retries (pingdotgg#21388) * fix(mobile): collapse pull request repository errors (pingdotgg#21389) * fix(mobile): show terminal arrow keys before secondary controls (pingdotgg#21398) * fix(mobile): update outdated servers and respect provider permissions (pingdotgg#21402) * fix(mobile): live activity tracks thread status and settlement (pingdotgg#21405) * fix(mobile): use current checkout for non-git projects (pingdotgg#21404) * fix(mobile): add project and checkout removal (pingdotgg#21409) * fix(mobile): show plans and fold settled progress notes (pingdotgg#21393) * fix(mobile): open transcript file links at the resolved path (pingdotgg#21403) * fix(mobile): lock the composer while queued edits save (pingdotgg#21390) * fix(mobile): bring model controls in line with web (pingdotgg#21406) * fix(mobile): restore archive and thread action undo (pingdotgg#21401) * fix(mobile): expose background work and thread status actions (pingdotgg#21395) * fix(web): keep approval menu actions compact (pingdotgg#22566) * fix(web): main typecheck passes again after the Mermaid switch to pele (pingdotgg#22570) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: delete 11k low-signal tests so CI runs faster and flakes less (pingdotgg#22557) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): thread rows show wake status and elapsed time (pingdotgg#21394) * fix(web,mobile): list database space for all machines in one notice (pingdotgg#22575) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(lint): ban per-test timeouts and unreasoned skips (pingdotgg#22560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ban frame and transition waits in browser tests (pingdotgg#22561) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: ban wall-clock readings in tests (pingdotgg#22562) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): ban real-clock waits in tests (pingdotgg#22564) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: warn on polling loops in tests and make adapter test harnesses event-driven (pingdotgg#22565) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): iOS new-thread skill picker stops shifting the screen (pingdotgg#22121) * fix(web): dialogs keep their content while they close (pingdotgg#21960) * ci(release): build Windows x64 on Linux like arm64 (pingdotgg#22584) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): idle orphaned follow-ups can be cancelled without a running parent (pingdotgg#22581) Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(web): remove "use client" directives (pingdotgg#22587) * test(mobile): prune low-value tests in mobile (second pass) (pingdotgg#22588) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(desktop): prune low-value tests in desktop (second pass) (pingdotgg#22589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): prune low-value tests in apps/web (second pass) (pingdotgg#22591) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in apps/server (second pass) (pingdotgg#22592) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(packages): prune low-value tests in packages (second pass) (pingdotgg#22593) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in orchestration-v2 (second pass) (pingdotgg#22599) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): every browser test starts with the mouse off the page (pingdotgg#22556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports (pingdotgg#22602) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(server): make the remaining flaky server tests deterministic (pingdotgg#22559) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): composer chips match chat chips (pingdotgg#22518) * fix(mobile): show each turn's diffstat on its work row (pingdotgg#21392) * chore(release): prepare v0.1.1 * fix(web): silence notifications when stopping a watch (pingdotgg#22615) * ci(release): build macOS desktop on Blacksmith runners again (pingdotgg#22613) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): Codex compaction and resumed sessions no longer show skipped-usage warnings (pingdotgg#22558) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread search shows the same PR badge as the sidebar (pingdotgg#22627) * Delete .github/workflows/cursor-hygiene-webhook.yml * fix(desktop): bump Electron to 44.9.3 to block compromised eMudhra CA keys (pingdotgg#22645) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ChatView's React Compiler check no longer times out on slow CI runners (pingdotgg#22649) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread links render as chips, and thread chips show the project icon (pingdotgg#22621) * fix(server): Stop on a delegate always clears it, even when it is stuck (pingdotgg#22653) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): composer stays usable during approvals, and sending declines and redirects (pingdotgg#21503) * docs(agents): name the fast commands and stop polling (pingdotgg#22711) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): new worktrees install Electron from the local download cache (pingdotgg#22712) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): split replay fixtures into per-provider files (pingdotgg#22717) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): delegates finish when their leftover work settles, and Grok commands stop holding runs open (pingdotgg#22709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Fuksss <fuxik12345@gmail.com> * fix(server): storage cleanup no longer counts pnpm clones as freed space (pingdotgg#22713) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade Vite+ to 1.3 and cache typecheck (pingdotgg#22716) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: local test runs use package configs and a clean env (pingdotgg#22714) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): restore low-latency decoding for simulator streams (pingdotgg#22733) * fix(marketing): typecheck cache no longer misses when the shell env changes (pingdotgg#22735) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build(setup): leaner installs on Mac and Linux, cross-device store warning, setup-done marker (pingdotgg#22718) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade pnpm to 12 for 4x faster installs (pingdotgg#22738) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the timeline minimap lives in its own file (pingdotgg#22662) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work entry rows and tool icons live in their own files (pingdotgg#22674) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work group and live activity rows live in their own file (pingdotgg#22675) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline user message rows and context chips live in their own files (pingdotgg#22676) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline assistant and orchestration event rows live in their own files (pingdotgg#22677) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline row derivation, position restore and find reader live in hooks (pingdotgg#22682) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's theme items live in their own file (pingdotgg#22679) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's thread items come from their own hook (pingdotgg#22687) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's project items and pure helpers live in their own files (pingdotgg#22699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's add-project views are components (pingdotgg#22707) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(cli): start, message, and read threads from the terminal with t3 thread (pingdotgg#22732) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer attachment tiles live in their own component (pingdotgg#22689) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): resting image previews and queued attachments are their own components (pingdotgg#22719) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer mode controls and footer actions live in ComposerFooterControls (pingdotgg#22720) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): typing no longer re-renders the composer model picker (pingdotgg#22721) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer suggestion lists are built by useComposerMenuItems (pingdotgg#22722) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the sidebar's thread rows live in their own file (pingdotgg#22696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): sidebar list markers and draft rows live in their own files (pingdotgg#22729) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(dev): first dev start seeds real data and warms deps (pingdotgg#22744) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests column lives in its own component (pingdotgg#22671) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's crumbs, title editor and base branch live in their own components (pingdotgg#22672) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's actions live in their own components (pingdotgg#22702) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request detail loader lives in its own hook (pingdotgg#22703) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's rows read the speed-mode modifier themselves (pingdotgg#22704) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests page's scope and grouping hooks live in their own module (pingdotgg#22705) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests route only validates its search; the page lives under components (pingdotgg#22706) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): Shift re-renders only each row's quick-action group (pingdotgg#22726) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's grouping helper lives in a logic module (pingdotgg#22727) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown code blocks live in their own module (pingdotgg#22690) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the Mermaid code block lives in its own component file (pingdotgg#22691) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown tables and details live in their own components (pingdotgg#22692) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown links and file chips live in their own modules (pingdotgg#22693) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown images and videos live in their own module (pingdotgg#22694) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Julius Marminge <julius@marminge.se> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: project516 <138796702+Project516@users.noreply.github.com> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: MatiasGadeberg <57716018+MatiasGadeberg@users.noreply.github.com> Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Jacob Hands <jacob@jacobhands.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Fuksss <fuxik12345@gmail.com>
* fix(server): include thread context in generated pull requests (pingdotgg#18291) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(desktop): let lifecycle shutdown finish before exiting (pingdotgg#20303) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): subagent task updates reach Claude task lists (pingdotgg#20985) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): pull requests load for credentials that cannot read /user (pingdotgg#18780) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(gitlab): show authentication and rate-limit errors from activity reads (pingdotgg#18817) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(provider-muse): workflow child approvals no longer flash in full access (pingdotgg#19306) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * feat(server): compact idle Claude threads before the prompt cache expires (beta) (pingdotgg#21682) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): diff panel keeps collapsed files when switching right-panel tabs (pingdotgg#19533) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): remember the pull request tab when switching threads (pingdotgg#18823) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(desktop): avoid temporary icon copies on Linux launches (pingdotgg#19589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * test(server): skip the flaky viewport capture test added by pingdotgg#19913 (pingdotgg#22150) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * feat(server): let MCP agents inspect thread diffs and respond to approvals (pingdotgg#15464) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(mobile): don't send or paste attached threads a machine can't read (pingdotgg#18322) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): Droid answers no longer cancel AskUser (pingdotgg#20417) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): Claude append-system-prompt launch arguments reach the model (pingdotgg#20413) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(claude): discover enabled installed plugin skills (pingdotgg#15662) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: pingdotgg#15464 (MCP agents respond to approvals) (pingdotgg#22152) Co-authored-by: Julius Marminge <julius@marminge.se> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(web): keep review thread replies with their finding in pull request comments (pingdotgg#20894) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(vcs): stop Check out here from discarding local pull request work (pingdotgg#15036) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): Antigravity html_render pages show in the thread (pingdotgg#19796) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(composer): drafts follow model changes made on other clients (pingdotgg#20886) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): Claude task lists stay in the composer between turns (pingdotgg#18392) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): coalesce queued shell updates for slow clients (pingdotgg#14859) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): viewport capture test waits for the requested size, not any resize (pingdotgg#22154) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): OpenCode 2 turns show provider retries instead of silently running (pingdotgg#15672) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): persist run failures after storage recovers (pingdotgg#19646) Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com> Co-authored-by: Claude Opus 5.5, independent investigation and sanity review <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): align composer chip cleanup with undo history (pingdotgg#18466) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(clients): copy filesystem paths with native separators (pingdotgg#19201) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): constrain minimap highlights to visible rows (pingdotgg#16191) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): SnapShots taken during a question attach to that question (pingdotgg#15538) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): explain rejected model selections (pingdotgg#19699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): release orphaned diff comment drafts (pingdotgg#18430) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): re-read stack layers for every member when the stack grows (pingdotgg#20415) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): Homebrew installs no longer run brew info with update checks off (pingdotgg#19581) Co-authored-by: Julius Marminge <julius0216@outlook.com> * test(server): skip the viewport capture test again, still flaky after pingdotgg#22154 (pingdotgg#22175) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * test(web): make the favicon picker offscreen-preview test deterministic (pingdotgg#22174) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): VCS status refresh no longer trips the slow-request toast (pingdotgg#22159) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): grant camera and microphone entitlements to the signed macOS app (pingdotgg#22170) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> * fix(server): deliver subagent results without history handoffs (pingdotgg#22117) * chore(mobile): upgrade Uniwind to 1.13.0 (pingdotgg#22173) * fix(web): keep draft project names readable (pingdotgg#22177) * fix(server): verify the native display viewport capture without a window resize (pingdotgg#22176) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(connect): show which part of a T3 Connect connection failed and how to fix it (pingdotgg#22171) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): analytics records a stable install id and who owns each install (pingdotgg#21506) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): Android no longer freezes when you go back from a running thread (pingdotgg#19292) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web,server): add a project to another machine from Run on, .env files included (pingdotgg#22180) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): thread links long-press to Open thread or Copy link (pingdotgg#22153) * refactor(server): device hosts own their device operations (pingdotgg#21835) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(device): stream iOS devices that serve WebRTC only (pingdotgg#21841) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(contracts): device hosts as a tagged union with EAS hosts (pingdotgg#21842) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): Expo credentials, EAS Simulator API, and EAS project lookup (pingdotgg#21843) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): EAS Simulator device hosts (pingdotgg#21844) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): set up EAS Simulator hosts in Settings (pingdotgg#21846) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): show how much of a PR is code vs tests, mocks, and generated files (pingdotgg#22189) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): HTML visualizations show their full height instead of cropping and scrolling (pingdotgg#22131) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): skill chips in messages open their instructions (pingdotgg#22120) * fix(server): preview downloads no longer echo data: URL contents (pingdotgg#22156) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): pre-bundle startup chunks when a shared dev server starts (pingdotgg#22210) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(connect): t3 connect checks that other devices can reach this machine (pingdotgg#22172) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(threads): snoozed threads stay hidden through background wakes (pingdotgg#22202) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(desktop): saved connections survive the Beta rename on macOS and Linux" (pingdotgg#20907) (pingdotgg#22219) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): pinned thread marker stays put when hovering the row" (pingdotgg#11122) (pingdotgg#22223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: fourteen unverified desktop fixes from the takeover campaign (pingdotgg#22222) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): worktree threads warn when the checkout branch changes" (pingdotgg#14883) (pingdotgg#22225) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): recover from transient download and stale report failures (pingdotgg#22232) * revert: "fix(clients): show question option previews" (pingdotgg#21933) (pingdotgg#22229) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): stop composer banner glass overlap" (pingdotgg#8034) (pingdotgg#22227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): keep subagent links visible in long background-work banners" (pingdotgg#20054) (pingdotgg#22228) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(scheduler): label fixed-time tasks with the server timezone" (pingdotgg#18653) (pingdotgg#22230) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): preserve snapshot thumbnail context and detail" (pingdotgg#18440) (pingdotgg#22231) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): show idle server updates on environment controls" (pingdotgg#21950) (pingdotgg#22233) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): a frozen host no longer shows a heartbeat as slow or blames your DNS (pingdotgg#22212) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server,web,mobile): a host that drops because it froze now says why (pingdotgg#22213) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert(web): restore grouped projects in the new thread selector (pingdotgg#22242) * test(ssh): wait for server exit during handover (pingdotgg#22252) * fix(web,server): adding a project to another machine takes you there, with no toasts and the right favicon (pingdotgg#22254) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(clients): every PR +/- shows its code, tests, and docs split, without the hover wait (pingdotgg#22255) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): isolate diff worker idle clock (pingdotgg#22259) * ci(release): build macOS desktop on GitHub macos-26-xlarge runners (pingdotgg#22264) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): macOS release signing works on macOS 26.6 runners (pingdotgg#22277) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): pinned threads' pin icon stays put on hover (pingdotgg#22303) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): show pointer cursors on changed-file controls (pingdotgg#22266) * fix(web): use the shared markdown scrollbar width (pingdotgg#22200) * revert: limit bars with many accounts no longer clip names to one letter (pingdotgg#19964) (pingdotgg#22395) Co-authored-by: Julius Marminge <julius@marminge.se> * fix(mobile): pin expo-modules-core so the release smoke patch stays in use (pingdotgg#22343) * fix(server): updates no longer keep every old runtime on disk (pingdotgg#22253) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): chat chips match desktop and the composer again (pingdotgg#22169) * fix(web): normalize disabled terminal button opacity (pingdotgg#22389) * fix(contracts): settings save again when the writing style has default fields (pingdotgg#22203) Co-authored-by: Claude Code <noreply@anthropic.com> * fix(relay): run the relay Worker next to its database (pingdotgg#22065) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): disposable render helper and lint rule for browser tests (pingdotgg#22187) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): use native sheet headers and toolbar filters (pingdotgg#22390) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(ssh): unreaped-server test no longer loses its zombie fixture (pingdotgg#22427) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): require-disposable-render is now an error (pingdotgg#22410) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): migrate the last .ts browser tests and stop wrapping userEvent in act (pingdotgg#22424) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): Limits bars show the even-pace mark as a tick in a gap (pingdotgg#22408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): pooled Limits segments narrower than 6px draw no pace mark; fixture README (pingdotgg#22453) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): the composer stays one row until the draft wraps (pingdotgg#20812) Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(web): restore left-aligned markdown table cells (pingdotgg#22482) Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> * feat(scheduled-tasks): event filters for webhook deliveries (pingdotgg#22194) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): prevent update checker from crashing iOS at launch (pingdotgg#22488) * feat(scheduled-tasks): replay dedupe and coalescing for webhook deliveries (pingdotgg#22234) * ci(release): Make Windows arm64 CI job 50% faster (pingdotgg#22428) * ci(release): Windows arm64 verify no longer runs the crashing ARM PowerShell (pingdotgg#22494) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(source-control): GitCafe creates repositories and pull requests over REST (pingdotgg#22495) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): fix release browser test failures (pingdotgg#22508) * fix(mobile): connecting an environment no longer crashes the header (pingdotgg#22521) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): folded Back clears the detail route before the next selection (pingdotgg#22526) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(release): release tests stop timing out and finish in about 5 minutes (pingdotgg#22524) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): Claude steer test no longer hangs for 120s under CI load (pingdotgg#22533) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: remove the timing races behind recurring CI and release failures (pingdotgg#22523) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): render Mermaid diagrams with pele (pingdotgg#21472) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(mobile): keep home brand visible during secondary retries (pingdotgg#21388) * fix(mobile): collapse pull request repository errors (pingdotgg#21389) * fix(mobile): show terminal arrow keys before secondary controls (pingdotgg#21398) * fix(mobile): update outdated servers and respect provider permissions (pingdotgg#21402) * fix(mobile): live activity tracks thread status and settlement (pingdotgg#21405) * fix(mobile): use current checkout for non-git projects (pingdotgg#21404) * fix(mobile): add project and checkout removal (pingdotgg#21409) * fix(mobile): show plans and fold settled progress notes (pingdotgg#21393) * fix(mobile): open transcript file links at the resolved path (pingdotgg#21403) * fix(mobile): lock the composer while queued edits save (pingdotgg#21390) * fix(mobile): bring model controls in line with web (pingdotgg#21406) * fix(mobile): restore archive and thread action undo (pingdotgg#21401) * fix(mobile): expose background work and thread status actions (pingdotgg#21395) * fix(web): keep approval menu actions compact (pingdotgg#22566) * fix(web): main typecheck passes again after the Mermaid switch to pele (pingdotgg#22570) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: delete 11k low-signal tests so CI runs faster and flakes less (pingdotgg#22557) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): thread rows show wake status and elapsed time (pingdotgg#21394) * fix(web,mobile): list database space for all machines in one notice (pingdotgg#22575) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(lint): ban per-test timeouts and unreasoned skips (pingdotgg#22560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ban frame and transition waits in browser tests (pingdotgg#22561) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: ban wall-clock readings in tests (pingdotgg#22562) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): ban real-clock waits in tests (pingdotgg#22564) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: warn on polling loops in tests and make adapter test harnesses event-driven (pingdotgg#22565) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): iOS new-thread skill picker stops shifting the screen (pingdotgg#22121) * fix(web): dialogs keep their content while they close (pingdotgg#21960) * ci(release): build Windows x64 on Linux like arm64 (pingdotgg#22584) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): idle orphaned follow-ups can be cancelled without a running parent (pingdotgg#22581) Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(web): remove "use client" directives (pingdotgg#22587) * test(mobile): prune low-value tests in mobile (second pass) (pingdotgg#22588) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(desktop): prune low-value tests in desktop (second pass) (pingdotgg#22589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): prune low-value tests in apps/web (second pass) (pingdotgg#22591) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in apps/server (second pass) (pingdotgg#22592) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(packages): prune low-value tests in packages (second pass) (pingdotgg#22593) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in orchestration-v2 (second pass) (pingdotgg#22599) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): every browser test starts with the mouse off the page (pingdotgg#22556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports (pingdotgg#22602) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(server): make the remaining flaky server tests deterministic (pingdotgg#22559) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): composer chips match chat chips (pingdotgg#22518) * fix(mobile): show each turn's diffstat on its work row (pingdotgg#21392) * chore(release): prepare v0.1.1 * fix(web): silence notifications when stopping a watch (pingdotgg#22615) * ci(release): build macOS desktop on Blacksmith runners again (pingdotgg#22613) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): Codex compaction and resumed sessions no longer show skipped-usage warnings (pingdotgg#22558) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread search shows the same PR badge as the sidebar (pingdotgg#22627) * Delete .github/workflows/cursor-hygiene-webhook.yml * fix(desktop): bump Electron to 44.9.3 to block compromised eMudhra CA keys (pingdotgg#22645) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ChatView's React Compiler check no longer times out on slow CI runners (pingdotgg#22649) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread links render as chips, and thread chips show the project icon (pingdotgg#22621) * fix(server): Stop on a delegate always clears it, even when it is stuck (pingdotgg#22653) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): composer stays usable during approvals, and sending declines and redirects (pingdotgg#21503) * docs(agents): name the fast commands and stop polling (pingdotgg#22711) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): new worktrees install Electron from the local download cache (pingdotgg#22712) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): split replay fixtures into per-provider files (pingdotgg#22717) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): delegates finish when their leftover work settles, and Grok commands stop holding runs open (pingdotgg#22709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Fuksss <fuxik12345@gmail.com> * fix(server): storage cleanup no longer counts pnpm clones as freed space (pingdotgg#22713) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade Vite+ to 1.3 and cache typecheck (pingdotgg#22716) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: local test runs use package configs and a clean env (pingdotgg#22714) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): restore low-latency decoding for simulator streams (pingdotgg#22733) * fix(marketing): typecheck cache no longer misses when the shell env changes (pingdotgg#22735) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build(setup): leaner installs on Mac and Linux, cross-device store warning, setup-done marker (pingdotgg#22718) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade pnpm to 12 for 4x faster installs (pingdotgg#22738) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the timeline minimap lives in its own file (pingdotgg#22662) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work entry rows and tool icons live in their own files (pingdotgg#22674) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work group and live activity rows live in their own file (pingdotgg#22675) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline user message rows and context chips live in their own files (pingdotgg#22676) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline assistant and orchestration event rows live in their own files (pingdotgg#22677) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline row derivation, position restore and find reader live in hooks (pingdotgg#22682) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's theme items live in their own file (pingdotgg#22679) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's thread items come from their own hook (pingdotgg#22687) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's project items and pure helpers live in their own files (pingdotgg#22699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's add-project views are components (pingdotgg#22707) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(cli): start, message, and read threads from the terminal with t3 thread (pingdotgg#22732) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer attachment tiles live in their own component (pingdotgg#22689) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): resting image previews and queued attachments are their own components (pingdotgg#22719) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer mode controls and footer actions live in ComposerFooterControls (pingdotgg#22720) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): typing no longer re-renders the composer model picker (pingdotgg#22721) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer suggestion lists are built by useComposerMenuItems (pingdotgg#22722) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the sidebar's thread rows live in their own file (pingdotgg#22696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): sidebar list markers and draft rows live in their own files (pingdotgg#22729) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(dev): first dev start seeds real data and warms deps (pingdotgg#22744) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests column lives in its own component (pingdotgg#22671) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's crumbs, title editor and base branch live in their own components (pingdotgg#22672) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's actions live in their own components (pingdotgg#22702) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request detail loader lives in its own hook (pingdotgg#22703) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's rows read the speed-mode modifier themselves (pingdotgg#22704) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests page's scope and grouping hooks live in their own module (pingdotgg#22705) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests route only validates its search; the page lives under components (pingdotgg#22706) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): Shift re-renders only each row's quick-action group (pingdotgg#22726) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's grouping helper lives in a logic module (pingdotgg#22727) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown code blocks live in their own module (pingdotgg#22690) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the Mermaid code block lives in its own component file (pingdotgg#22691) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown tables and details live in their own components (pingdotgg#22692) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown links and file chips live in their own modules (pingdotgg#22693) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown images and videos live in their own module (pingdotgg#22694) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's module-level helpers live in their own files (pingdotgg#22665) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's persistent terminal drawers live in their own component (pingdotgg#22680) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's right panel lives in its own component (pingdotgg#22700) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's timeline follow and anchoring lives in useTimelineFollow (pingdotgg#22701) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's machine and server-update banners live in useSystemComposerBanners (pingdotgg#22710) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's subagent, goal, background-work and branch banners are built in ThreadActivityBanners (pingdotgg#22725) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's draft machine routing lives in useDraftEnvironmentRouting (pingdotgg#22728) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's send preparation is pure functions in ChatView.logic (pingdotgg#22734) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the archived threads settings page lives in its own file (pingdotgg#22666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the typography settings section lives in its own file (pingdotgg#22667) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the appearance settings page lives in its own file (pingdotgg#22668) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the background activity setting and its dialog live in their own file (pingdotgg#22669) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the connections page's pure helpers live in ConnectionsSettings.logic (pingdotgg#22683) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): authorized clients and endpoint rows live in their own file (pingdotgg#22684) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): saved and T3 Connect environment rows live in their own file (pingdotgg#22685) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): skip the macOS xcrun git shim (pingdotgg#22759) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(agents): read vendored .repos with git show when sparse-excluded (pingdotgg#22764) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): ⌘Z undoes a settle even when the composer has focus (pingdotgg#22607) Co-authored-by: ishaanko <ishaanko.mail@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(scripts): one command checks what the branch changed (pingdotgg#22767) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(scripts): check:changed no longer skips knip after a removed import (pingdotgg#22784) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(dev): faster first load for shared dev servers (pingdotgg#22776) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): stalled clones say "Stalled" instead of a frozen speed (pingdotgg#22780) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): steers split a finished turn's work instead of stacking under it (pingdotgg#22783) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): images on their own line no longer sit beside their label (pingdotgg#22787) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): include pnpm hook in Vercel uploads (pingdotgg#22813) * fix(release): keep Vercel warnings out of deployment URLs (pingdotgg#22817) * fix(queue): send selected held messages when a thread is stopped (pingdotgg#22790) * fix(server): delegated Claude children follow your subagent cache TTL setting (pingdotgg#22841) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): t3 pair in a worktree no longer falls back to the live install (pingdotgg#22855) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): avoid expensive diff minimization in status refreshes (pingdotgg#21872) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(codex): keep every path of a multi-file patch (pingdotgg#22541) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * fix(gitlab): merge request diffs page 30 files at a time so GitLab 15.7 to 17.10 answer (pingdotgg#21909) * fix(server): keep Antigravity question options and no-custom-answer flag in V2 (pingdotgg#22019) * fix(server): commit prompts no longer repeat CLAUDE.md when it matches AGENTS.md (pingdotgg#22848) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mcp): point a bare thread uuid at its mcp: thread in thread_not_found (pingdotgg#22452) * fix(opencode): out-of-funds failures show OpenCode's message instead of a usage limit (pingdotgg#22596) * fix(shared): accept a pasted ChatGPT callback URL that is missing http:// (pingdotgg#21750) * fix(server): the background service picks up JAVA_HOME from the login shell (pingdotgg#22856) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): answered questions say "already answered" instead of "not found" (pingdotgg#22850) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): an abandoned browser sign-in no longer blocks T3 Connect for 3 minutes (pingdotgg#22903) On desktop, an abandoned browser sign-in blocked every T3 Connect sign-in for 3 minutes. A new attempt now replaces the stale Clerk flow, and a Cancel bar resets the sheet. Takeover of pingdotgg#22708. Co-authored-by: steve-ai-vibe <steve.ai.vibe@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): agents get a short, current model list instead of a 55k-character catalog dump (pingdotgg#22889) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: preserve fork release jobs and upgrade coverage --------- Co-authored-by: Luca Hagel <luca@luhagel.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: ObliviousObserver <96266208+spencermorris04@users.noreply.github.com> Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com> Co-authored-by: Lanny Bose <landric@gmail.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Scott Norteman <snorteman@gmail.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Jair Meza <jair3202@gmail.com> Co-authored-by: SamuelBarnholdt <33251499+SamuelBarnholdt@users.noreply.github.com> Co-authored-by: Victor Vogel <thevictorvogel@gmail.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de> Co-authored-by: travelvector <96337328+travelvector@users.noreply.github.com> Co-authored-by: Julius Marminge <julius@marminge.se> Co-authored-by: Marcus Hof <13001502+MarconLP@users.noreply.github.com> Co-authored-by: Jorge Cervantes <jcervantes@grupoesquimal.mx> Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com> Co-authored-by: Alb11747 <albertli_042@hotmail.com> Co-authored-by: Guillermo Casanova <75276669+Gigioxx@users.noreply.github.com> Co-authored-by: TONY JOSEPH SEBASTIAN <37629628+tonyjosephsebastians@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com> Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Tristan Knight <admin@snappeh.com> Co-authored-by: Hubert Bieszczad <48803618+Brentlok@users.noreply.github.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: project516 <138796702+Project516@users.noreply.github.com> Co-authored-by: MatiasGadeberg <57716018+MatiasGadeberg@users.noreply.github.com> Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Jacob Hands <jacob@jacobhands.com> Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Fuksss <fuxik12345@gmail.com> Co-authored-by: ishaanko <ishaanko.mail@gmail.com> Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com> Co-authored-by: Victor Vogel <satsdev@only21mil.xyz> Co-authored-by: Igor Makowski <56691628+Mnigos@users.noreply.github.com> Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: steve-ai-vibe <steve.ai.vibe@gmail.com>
* feat(server): compact idle Claude threads before the prompt cache expires (beta) (pingdotgg#21682) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): diff panel keeps collapsed files when switching right-panel tabs (pingdotgg#19533) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): remember the pull request tab when switching threads (pingdotgg#18823) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(desktop): avoid temporary icon copies on Linux launches (pingdotgg#19589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * test(server): skip the flaky viewport capture test added by pingdotgg#19913 (pingdotgg#22150) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * feat(server): let MCP agents inspect thread diffs and respond to approvals (pingdotgg#15464) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(mobile): don't send or paste attached threads a machine can't read (pingdotgg#18322) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): Droid answers no longer cancel AskUser (pingdotgg#20417) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): Claude append-system-prompt launch arguments reach the model (pingdotgg#20413) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(claude): discover enabled installed plugin skills (pingdotgg#15662) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: pingdotgg#15464 (MCP agents respond to approvals) (pingdotgg#22152) Co-authored-by: Julius Marminge <julius@marminge.se> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(web): keep review thread replies with their finding in pull request comments (pingdotgg#20894) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(vcs): stop Check out here from discarding local pull request work (pingdotgg#15036) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): Antigravity html_render pages show in the thread (pingdotgg#19796) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(composer): drafts follow model changes made on other clients (pingdotgg#20886) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): Claude task lists stay in the composer between turns (pingdotgg#18392) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): coalesce queued shell updates for slow clients (pingdotgg#14859) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): viewport capture test waits for the requested size, not any resize (pingdotgg#22154) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): OpenCode 2 turns show provider retries instead of silently running (pingdotgg#15672) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): persist run failures after storage recovers (pingdotgg#19646) Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com> Co-authored-by: Claude Opus 5.5, independent investigation and sanity review <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): align composer chip cleanup with undo history (pingdotgg#18466) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(clients): copy filesystem paths with native separators (pingdotgg#19201) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): constrain minimap highlights to visible rows (pingdotgg#16191) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): SnapShots taken during a question attach to that question (pingdotgg#15538) Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(acp): explain rejected model selections (pingdotgg#19699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(web): release orphaned diff comment drafts (pingdotgg#18430) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): re-read stack layers for every member when the stack grows (pingdotgg#20415) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): Homebrew installs no longer run brew info with update checks off (pingdotgg#19581) Co-authored-by: Julius Marminge <julius0216@outlook.com> * test(server): skip the viewport capture test again, still flaky after pingdotgg#22154 (pingdotgg#22175) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * test(web): make the favicon picker offscreen-preview test deterministic (pingdotgg#22174) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): VCS status refresh no longer trips the slow-request toast (pingdotgg#22159) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): grant camera and microphone entitlements to the signed macOS app (pingdotgg#22170) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> * fix(server): deliver subagent results without history handoffs (pingdotgg#22117) * chore(mobile): upgrade Uniwind to 1.13.0 (pingdotgg#22173) * fix(web): keep draft project names readable (pingdotgg#22177) * fix(server): verify the native display viewport capture without a window resize (pingdotgg#22176) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(connect): show which part of a T3 Connect connection failed and how to fix it (pingdotgg#22171) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): analytics records a stable install id and who owns each install (pingdotgg#21506) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): Android no longer freezes when you go back from a running thread (pingdotgg#19292) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web,server): add a project to another machine from Run on, .env files included (pingdotgg#22180) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): thread links long-press to Open thread or Copy link (pingdotgg#22153) * refactor(server): device hosts own their device operations (pingdotgg#21835) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(device): stream iOS devices that serve WebRTC only (pingdotgg#21841) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(contracts): device hosts as a tagged union with EAS hosts (pingdotgg#21842) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): Expo credentials, EAS Simulator API, and EAS project lookup (pingdotgg#21843) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): EAS Simulator device hosts (pingdotgg#21844) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): set up EAS Simulator hosts in Settings (pingdotgg#21846) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): show how much of a PR is code vs tests, mocks, and generated files (pingdotgg#22189) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): HTML visualizations show their full height instead of cropping and scrolling (pingdotgg#22131) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): skill chips in messages open their instructions (pingdotgg#22120) * fix(server): preview downloads no longer echo data: URL contents (pingdotgg#22156) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): pre-bundle startup chunks when a shared dev server starts (pingdotgg#22210) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(connect): t3 connect checks that other devices can reach this machine (pingdotgg#22172) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(threads): snoozed threads stay hidden through background wakes (pingdotgg#22202) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(desktop): saved connections survive the Beta rename on macOS and Linux" (pingdotgg#20907) (pingdotgg#22219) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): pinned thread marker stays put when hovering the row" (pingdotgg#11122) (pingdotgg#22223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: fourteen unverified desktop fixes from the takeover campaign (pingdotgg#22222) Co-authored-by: Julius Marminge <julius@marminge.se> * revert: "fix(web): worktree threads warn when the checkout branch changes" (pingdotgg#14883) (pingdotgg#22225) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): recover from transient download and stale report failures (pingdotgg#22232) * revert: "fix(clients): show question option previews" (pingdotgg#21933) (pingdotgg#22229) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): stop composer banner glass overlap" (pingdotgg#8034) (pingdotgg#22227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): keep subagent links visible in long background-work banners" (pingdotgg#20054) (pingdotgg#22228) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(scheduler): label fixed-time tasks with the server timezone" (pingdotgg#18653) (pingdotgg#22230) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): preserve snapshot thumbnail context and detail" (pingdotgg#18440) (pingdotgg#22231) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert: "fix(web): show idle server updates on environment controls" (pingdotgg#21950) (pingdotgg#22233) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): a frozen host no longer shows a heartbeat as slow or blames your DNS (pingdotgg#22212) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server,web,mobile): a host that drops because it froze now says why (pingdotgg#22213) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * revert(web): restore grouped projects in the new thread selector (pingdotgg#22242) * test(ssh): wait for server exit during handover (pingdotgg#22252) * fix(web,server): adding a project to another machine takes you there, with no toasts and the right favicon (pingdotgg#22254) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(clients): every PR +/- shows its code, tests, and docs split, without the hover wait (pingdotgg#22255) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): isolate diff worker idle clock (pingdotgg#22259) * ci(release): build macOS desktop on GitHub macos-26-xlarge runners (pingdotgg#22264) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): macOS release signing works on macOS 26.6 runners (pingdotgg#22277) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): pinned threads' pin icon stays put on hover (pingdotgg#22303) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): show pointer cursors on changed-file controls (pingdotgg#22266) * fix(web): use the shared markdown scrollbar width (pingdotgg#22200) * revert: limit bars with many accounts no longer clip names to one letter (pingdotgg#19964) (pingdotgg#22395) Co-authored-by: Julius Marminge <julius@marminge.se> * fix(mobile): pin expo-modules-core so the release smoke patch stays in use (pingdotgg#22343) * fix(server): updates no longer keep every old runtime on disk (pingdotgg#22253) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): chat chips match desktop and the composer again (pingdotgg#22169) * fix(web): normalize disabled terminal button opacity (pingdotgg#22389) * fix(contracts): settings save again when the writing style has default fields (pingdotgg#22203) Co-authored-by: Claude Code <noreply@anthropic.com> * fix(relay): run the relay Worker next to its database (pingdotgg#22065) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): disposable render helper and lint rule for browser tests (pingdotgg#22187) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): use native sheet headers and toolbar filters (pingdotgg#22390) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(ssh): unreaped-server test no longer loses its zombie fixture (pingdotgg#22427) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): require-disposable-render is now an error (pingdotgg#22410) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): migrate the last .ts browser tests and stop wrapping userEvent in act (pingdotgg#22424) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): Limits bars show the even-pace mark as a tick in a gap (pingdotgg#22408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): pooled Limits segments narrower than 6px draw no pace mark; fixture README (pingdotgg#22453) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): the composer stays one row until the draft wraps (pingdotgg#20812) Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(web): restore left-aligned markdown table cells (pingdotgg#22482) Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> * feat(scheduled-tasks): event filters for webhook deliveries (pingdotgg#22194) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): prevent update checker from crashing iOS at launch (pingdotgg#22488) * feat(scheduled-tasks): replay dedupe and coalescing for webhook deliveries (pingdotgg#22234) * ci(release): Make Windows arm64 CI job 50% faster (pingdotgg#22428) * ci(release): Windows arm64 verify no longer runs the crashing ARM PowerShell (pingdotgg#22494) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(source-control): GitCafe creates repositories and pull requests over REST (pingdotgg#22495) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): fix release browser test failures (pingdotgg#22508) * fix(mobile): connecting an environment no longer crashes the header (pingdotgg#22521) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): folded Back clears the detail route before the next selection (pingdotgg#22526) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(release): release tests stop timing out and finish in about 5 minutes (pingdotgg#22524) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): Claude steer test no longer hangs for 120s under CI load (pingdotgg#22533) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: remove the timing races behind recurring CI and release failures (pingdotgg#22523) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): render Mermaid diagrams with pele (pingdotgg#21472) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(mobile): keep home brand visible during secondary retries (pingdotgg#21388) * fix(mobile): collapse pull request repository errors (pingdotgg#21389) * fix(mobile): show terminal arrow keys before secondary controls (pingdotgg#21398) * fix(mobile): update outdated servers and respect provider permissions (pingdotgg#21402) * fix(mobile): live activity tracks thread status and settlement (pingdotgg#21405) * fix(mobile): use current checkout for non-git projects (pingdotgg#21404) * fix(mobile): add project and checkout removal (pingdotgg#21409) * fix(mobile): show plans and fold settled progress notes (pingdotgg#21393) * fix(mobile): open transcript file links at the resolved path (pingdotgg#21403) * fix(mobile): lock the composer while queued edits save (pingdotgg#21390) * fix(mobile): bring model controls in line with web (pingdotgg#21406) * fix(mobile): restore archive and thread action undo (pingdotgg#21401) * fix(mobile): expose background work and thread status actions (pingdotgg#21395) * fix(web): keep approval menu actions compact (pingdotgg#22566) * fix(web): main typecheck passes again after the Mermaid switch to pele (pingdotgg#22570) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: delete 11k low-signal tests so CI runs faster and flakes less (pingdotgg#22557) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): thread rows show wake status and elapsed time (pingdotgg#21394) * fix(web,mobile): list database space for all machines in one notice (pingdotgg#22575) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(lint): ban per-test timeouts and unreasoned skips (pingdotgg#22560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ban frame and transition waits in browser tests (pingdotgg#22561) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: ban wall-clock readings in tests (pingdotgg#22562) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): ban real-clock waits in tests (pingdotgg#22564) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: warn on polling loops in tests and make adapter test harnesses event-driven (pingdotgg#22565) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): iOS new-thread skill picker stops shifting the screen (pingdotgg#22121) * fix(web): dialogs keep their content while they close (pingdotgg#21960) * ci(release): build Windows x64 on Linux like arm64 (pingdotgg#22584) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): idle orphaned follow-ups can be cancelled without a running parent (pingdotgg#22581) Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(web): remove "use client" directives (pingdotgg#22587) * test(mobile): prune low-value tests in mobile (second pass) (pingdotgg#22588) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(desktop): prune low-value tests in desktop (second pass) (pingdotgg#22589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): prune low-value tests in apps/web (second pass) (pingdotgg#22591) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in apps/server (second pass) (pingdotgg#22592) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(packages): prune low-value tests in packages (second pass) (pingdotgg#22593) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): prune low-value tests in orchestration-v2 (second pass) (pingdotgg#22599) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): every browser test starts with the mouse off the page (pingdotgg#22556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports (pingdotgg#22602) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(server): make the remaining flaky server tests deterministic (pingdotgg#22559) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): composer chips match chat chips (pingdotgg#22518) * fix(mobile): show each turn's diffstat on its work row (pingdotgg#21392) * chore(release): prepare v0.1.1 * fix(web): silence notifications when stopping a watch (pingdotgg#22615) * ci(release): build macOS desktop on Blacksmith runners again (pingdotgg#22613) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): Codex compaction and resumed sessions no longer show skipped-usage warnings (pingdotgg#22558) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread search shows the same PR badge as the sidebar (pingdotgg#22627) * Delete .github/workflows/cursor-hygiene-webhook.yml * fix(desktop): bump Electron to 44.9.3 to block compromised eMudhra CA keys (pingdotgg#22645) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): ChatView's React Compiler check no longer times out on slow CI runners (pingdotgg#22649) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): thread links render as chips, and thread chips show the project icon (pingdotgg#22621) * fix(server): Stop on a delegate always clears it, even when it is stuck (pingdotgg#22653) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): composer stays usable during approvals, and sending declines and redirects (pingdotgg#21503) * docs(agents): name the fast commands and stop polling (pingdotgg#22711) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): new worktrees install Electron from the local download cache (pingdotgg#22712) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(server): split replay fixtures into per-provider files (pingdotgg#22717) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): delegates finish when their leftover work settles, and Grok commands stop holding runs open (pingdotgg#22709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Fuksss <fuxik12345@gmail.com> * fix(server): storage cleanup no longer counts pnpm clones as freed space (pingdotgg#22713) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade Vite+ to 1.3 and cache typecheck (pingdotgg#22716) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test: local test runs use package configs and a clean env (pingdotgg#22714) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): restore low-latency decoding for simulator streams (pingdotgg#22733) * fix(marketing): typecheck cache no longer misses when the shell env changes (pingdotgg#22735) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build(setup): leaner installs on Mac and Linux, cross-device store warning, setup-done marker (pingdotgg#22718) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * build: upgrade pnpm to 12 for 4x faster installs (pingdotgg#22738) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the timeline minimap lives in its own file (pingdotgg#22662) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work entry rows and tool icons live in their own files (pingdotgg#22674) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline work group and live activity rows live in their own file (pingdotgg#22675) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline user message rows and context chips live in their own files (pingdotgg#22676) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline assistant and orchestration event rows live in their own files (pingdotgg#22677) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): timeline row derivation, position restore and find reader live in hooks (pingdotgg#22682) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's theme items live in their own file (pingdotgg#22679) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's thread items come from their own hook (pingdotgg#22687) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's project items and pure helpers live in their own files (pingdotgg#22699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the command palette's add-project views are components (pingdotgg#22707) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(cli): start, message, and read threads from the terminal with t3 thread (pingdotgg#22732) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer attachment tiles live in their own component (pingdotgg#22689) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): resting image previews and queued attachments are their own components (pingdotgg#22719) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer mode controls and footer actions live in ComposerFooterControls (pingdotgg#22720) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): typing no longer re-renders the composer model picker (pingdotgg#22721) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): composer suggestion lists are built by useComposerMenuItems (pingdotgg#22722) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the sidebar's thread rows live in their own file (pingdotgg#22696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): sidebar list markers and draft rows live in their own files (pingdotgg#22729) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(dev): first dev start seeds real data and warms deps (pingdotgg#22744) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests column lives in its own component (pingdotgg#22671) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's crumbs, title editor and base branch live in their own components (pingdotgg#22672) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request header's actions live in their own components (pingdotgg#22702) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request detail loader lives in its own hook (pingdotgg#22703) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's rows read the speed-mode modifier themselves (pingdotgg#22704) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests page's scope and grouping hooks live in their own module (pingdotgg#22705) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull requests route only validates its search; the page lives under components (pingdotgg#22706) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): Shift re-renders only each row's quick-action group (pingdotgg#22726) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the pull request list's grouping helper lives in a logic module (pingdotgg#22727) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown code blocks live in their own module (pingdotgg#22690) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the Mermaid code block lives in its own component file (pingdotgg#22691) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown tables and details live in their own components (pingdotgg#22692) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown links and file chips live in their own modules (pingdotgg#22693) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): chat markdown images and videos live in their own module (pingdotgg#22694) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's module-level helpers live in their own files (pingdotgg#22665) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's persistent terminal drawers live in their own component (pingdotgg#22680) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's right panel lives in its own component (pingdotgg#22700) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's timeline follow and anchoring lives in useTimelineFollow (pingdotgg#22701) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's machine and server-update banners live in useSystemComposerBanners (pingdotgg#22710) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's subagent, goal, background-work and branch banners are built in ThreadActivityBanners (pingdotgg#22725) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's draft machine routing lives in useDraftEnvironmentRouting (pingdotgg#22728) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): ChatView's send preparation is pure functions in ChatView.logic (pingdotgg#22734) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the archived threads settings page lives in its own file (pingdotgg#22666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the typography settings section lives in its own file (pingdotgg#22667) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the appearance settings page lives in its own file (pingdotgg#22668) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the background activity setting and its dialog live in their own file (pingdotgg#22669) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the connections page's pure helpers live in ConnectionsSettings.logic (pingdotgg#22683) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): authorized clients and endpoint rows live in their own file (pingdotgg#22684) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): saved and T3 Connect environment rows live in their own file (pingdotgg#22685) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): skip the macOS xcrun git shim (pingdotgg#22759) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(agents): read vendored .repos with git show when sparse-excluded (pingdotgg#22764) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): ⌘Z undoes a settle even when the composer has focus (pingdotgg#22607) Co-authored-by: ishaanko <ishaanko.mail@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(scripts): one command checks what the branch changed (pingdotgg#22767) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(scripts): check:changed no longer skips knip after a removed import (pingdotgg#22784) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(dev): faster first load for shared dev servers (pingdotgg#22776) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): stalled clones say "Stalled" instead of a frozen speed (pingdotgg#22780) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): steers split a finished turn's work instead of stacking under it (pingdotgg#22783) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): images on their own line no longer sit beside their label (pingdotgg#22787) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): include pnpm hook in Vercel uploads (pingdotgg#22813) * fix(release): keep Vercel warnings out of deployment URLs (pingdotgg#22817) * fix(queue): send selected held messages when a thread is stopped (pingdotgg#22790) * fix(server): delegated Claude children follow your subagent cache TTL setting (pingdotgg#22841) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): t3 pair in a worktree no longer falls back to the live install (pingdotgg#22855) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): avoid expensive diff minimization in status refreshes (pingdotgg#21872) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(codex): keep every path of a multi-file patch (pingdotgg#22541) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * fix(gitlab): merge request diffs page 30 files at a time so GitLab 15.7 to 17.10 answer (pingdotgg#21909) * fix(server): keep Antigravity question options and no-custom-answer flag in V2 (pingdotgg#22019) * fix(server): commit prompts no longer repeat CLAUDE.md when it matches AGENTS.md (pingdotgg#22848) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mcp): point a bare thread uuid at its mcp: thread in thread_not_found (pingdotgg#22452) * fix(opencode): out-of-funds failures show OpenCode's message instead of a usage limit (pingdotgg#22596) * fix(shared): accept a pasted ChatGPT callback URL that is missing http:// (pingdotgg#21750) * fix(server): the background service picks up JAVA_HOME from the login shell (pingdotgg#22856) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): answered questions say "already answered" instead of "not found" (pingdotgg#22850) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): an abandoned browser sign-in no longer blocks T3 Connect for 3 minutes (pingdotgg#22903) On desktop, an abandoned browser sign-in blocked every T3 Connect sign-in for 3 minutes. A new attempt now replaces the stale Clerk flow, and a Cancel bar resets the sheet. Takeover of pingdotgg#22708. Co-authored-by: steve-ai-vibe <steve.ai.vibe@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): agents get a short, current model list instead of a 55k-character catalog dump (pingdotgg#22889) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(agents): proof for a bug fix depends on the bug (pingdotgg#23008) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(server): removing a worktree on Windows no longer deletes what its junctions point to (pingdotgg#21099) Co-authored-by: sheehanmunim <80079528+sheehanmunim@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * perf(web): a streaming thread re-renders only its own sidebar row (pingdotgg#22730) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * refactor(web): the add environment dialog owns its form state (pingdotgg#22686) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(desktop): use Clerk's upstream fix for abandoned browser sign-ins (pingdotgg#23038) * feat: show automation messages as compact timeline rows (pingdotgg#22638) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): the mobile client's release reads stay on upstream's repository apps/mobile is upstream's client and checks upstream's releases, so the release page and index it shares with the CLI default to upstream. Satellite's own CLI update passes RELEASE_REPOSITORY. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(satellite): reject retired migration id 100 and split the release index helper runSatelliteMigrations now refuses Revdoc's retired id 100, so the rule no longer lives only in a comment. Satellite's CLI calls releaseIndexPageUrl with its repository; cliReleaseIndexPageUrl remains the upstream wrapper the unmodified mobile client imports. Comment fixes from the review. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Jair Meza <jair3202@gmail.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: SamuelBarnholdt <33251499+SamuelBarnholdt@users.noreply.github.com> Co-authored-by: Victor Vogel <thevictorvogel@gmail.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de> Co-authored-by: travelvector <96337328+travelvector@users.noreply.github.com> Co-authored-by: Julius Marminge <julius@marminge.se> Co-authored-by: Marcus Hof <13001502+MarconLP@users.noreply.github.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Jorge Cervantes <jcervantes@grupoesquimal.mx> Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com> Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com> Co-authored-by: Alb11747 <albertli_042@hotmail.com> Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com> Co-authored-by: Guillermo Casanova <75276669+Gigioxx@users.noreply.github.com> Co-authored-by: TONY JOSEPH SEBASTIAN <37629628+tonyjosephsebastians@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com> Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Tristan Knight <admin@snappeh.com> Co-authored-by: Hubert Bieszczad <48803618+Brentlok@users.noreply.github.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: project516 <138796702+Project516@users.noreply.github.com> Co-authored-by: MatiasGadeberg <57716018+MatiasGadeberg@users.noreply.github.com> Co-authored-by: Pixel Perfect <me@pixp.cc> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Jacob Hands <jacob@jacobhands.com> Co-authored-by: syberia <n.kuhtin@gmail.com> Co-authored-by: Fuksss <fuxik12345@gmail.com> Co-authored-by: ishaanko <ishaanko.mail@gmail.com> Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com> Co-authored-by: Victor Vogel <satsdev@only21mil.xyz> Co-authored-by: Igor Makowski <56691628+Mnigos@users.noreply.github.com> Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: steve-ai-vibe <steve.ai.vibe@gmail.com> Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Co-authored-by: sheehanmunim <80079528+sheehanmunim@users.noreply.github.com> Co-authored-by: Robert Soriano <sorianorobertc@gmail.com>
Release and CI kept failing on the same handful of tests that pass on rerun. Each one had a real race; this fixes the cause in each instead of raising timeouts. (The release runner split landed separately in #22524. This branch is merged with current
main, including #22533.)Web
The mouse leaked between tests. Playwright's mouse stays where the last test left it, so a component that mounts under it gets
pointerenterand:hoverbefore the test runs. That is theComposerBannerStackflake (about 14 failures today, [Bug]: Flaky browser and server tests on 4-vCPU CI runners, and a Windows-only update.test.ts failure #22324) and why test(web): park the pointer before RightPanelTabs keyboard tests #21901 had to park the pointer for one test.render()now parks the mouse off the page when its screen disposes, via aresetPointerbrowser command. It runs on dispose, not before mount: anawaitbefore the first mount broke 21 tests that set up state just beforerender(). The test-only workaround from test(web): fix release browser test failures #22508 is removed.Diff workers raced Pierre's 10s startup limit. Each worker loads Shiki on start, about 1.5s idle and over 10s on a loaded runner.
PullRequestDetailPanelnever needed real workers, so it now uses Pierre's main-thread fallback (first "Add to agent" on one CPU: 7–20s before, 4–6s after), and the 30s timeout from test(web): fix release browser test failures #22508 is gone.StyledDiffCodeViewraises the startup limit except in the test of that limit, and its queries stay in the test's own container, because a timed-out test keeps running and later tests clicked its leftover buttons.ProjectFaviconPickerDialog. The atom registry drops an unsubscribed atom on its next task. A row asks for its URL while rendering but subscribes after commit, so a URL published in between was lost. The fake asset atoms are nowkeepAlive. Under CPU load: 2/6 failed before, 10/10 passed after.MessagesTimelineMermaid copy. Only the first Mermaid test failed: it paid Mermaid's cold load (over 10s on the loaded release runner). The file now loads and renders Mermaid once before its tests.ProjectSettingsPanelscope. One test drove three menu passes through navigation and ran out of its 15s budget under load. It is now three tests that each mount at their own URL. This drops the check that the menu updates on navigation inside one mount.Server
ClaudeAdapterV2steer hang (all 9 of today's 120s timeouts). A steer waits up to 5s for foreground subagents to move to the background, but that timer starts after the steer reads skill files from disk, so the test's clock move could land before the timer existed. test(server): Claude steer test no longer hangs for 120s under CI load #22533 made the test tick the clock up to 100 times instead, which still fails when the file read outlasts the ticks. The adapter now takes the deadline as the steer's first step, before any I/O, so one 5s clock move always covers it. The test starts the steer at once and awaits aDeferredfor the background request instead of polling, and keeps test(server): Claude steer test no longer hangs for 120s under CI load #22533'sDeferredfor the late answer. With a forced 50ms file-read delay plus 50 scheduler yields, all 6 steer cases still pass.transferBudgetV230s timeout. Shell streams group and skip unchanged shells, so a split turn may never send an item at the last sequence. The test waits for the final shell instead.OpenCodeServerLedger. The fixture read the process before the inner shell had started; it now waits for areadyline.killGroupignores onlyESRCHwhen the group is already gone.AcpAdapterV2detached PIDs. The mock agent exited before the detached fixture wrote its PID file; it now waits for apublishedline.Verification
taskset) after the fixes:ClaudeAdapterV210/10,transferBudgetV220/20 (9/12 failed before),AcpAdapterV210/10 (8/10 failed before),OpenCodeServerLedger16/16, diff worker files 3/3 runs,ComposerBannerStack5/5.Made with Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code