Repository navigation
test: delete 11k low-signal tests so CI runs faster and flakes less - #22557
Conversation
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — This is primarily a large test-pruning and dead-export cleanup change, with limited intended runtime impact. It also modifies authentication-directory files and removes authentication-related coverage, so the sensitive-area criteria require human review. 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. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9becd1e to
1061079
Compare
Upstream pruned the neighbouring colon-form colour test (pingdotgg#22557); keep that deletion and this branch's underline cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream pruned the neighbouring orphan-cap test (pingdotgg#22557); keep that deletion and this branch's path-casing cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Take main's test deletions from pingdotgg#22557 and keep the branch's scheduling tests. Restore the two decode helpers and ID imports the contracts scheduling tests use, and keep hasPendingChildRuns exported for the MCP test that covers held and future-scheduled follow-ups. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicted with pingdotgg#22557 (deleted tests and helpers next to ours in ServerBrowser.test.ts; its deleted agent-popup test takes our Idle assertion with it); kept the Exit and Scope imports our popup test still uses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflict with pingdotgg#22557, which deletes two ServerBrowser.test.ts file-picker tests whose fake elements this branch had adapted; kept main's deletion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#22557 removed the symlinked-settings watcher tests and the TestClock import from serverSettings.test.ts. Keep those removals, keep this branch's settings reload tests, and import TestClock again for them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rebase Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rebase Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rebase Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
## 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
Merges `pingdotgg/t3code` `main` at `e64766c56a` (367 commits from `143ab1606d`) into the fork. It branches from `main`; no other merge PR is open. ## Numbers - Landed: 2630 files from `git diff --stat HEAD^1 HEAD`, against 2629 in the upstream range. The gap: - Kept deleted: `pair.ts`, `pair.test.ts` and `useDiscoveredLocalServers.test.ts`. - Kept as fork files: `branding.test.ts` and `addBrowserSurface.test.ts`. - Extra on the merge side: four ported fork browser tests, `fork/ThreadParentLine.tsx` and `inventory.json`. - Fork delta: 812 files, down from 817. ## Conflicts (40, each by its preflight verdict) - **Upstream's test prune (pingdotgg#22557):** upstream's deletions win, fork-only tests stay, and fork adaptations of deleted upstream tests are dropped. - Upstream's deletion accepted for the `ThreadDetailsPrRows`, `PreviewEmptyState`, `previewEmptyStateLogic`, `projectScriptEditor.permissions` and `terminalSessionAvailability` tests. - Four fork browser tests are ported to the new `require-disposable-render` pattern: ThreadForkDialog, MoatlessArtifactChip, PreviewView.frame and MobileSidebarDrawer. - **`threadRoutes.ts`, `ThreadRouteView.tsx`, `ChatView.tsx`:** take upstream's `unlistedThreadDetail` (pingdotgg#19724), plus three fork changes: - An unlisted thread is "missing" once its subscription has failed. - A closed thread is not redirected by `archivedAt`, because it is absent from a Moatless listing and still opens by URL. - `onOpenRelatedThread` shows its toast only for a deleted shell. The `unlisted-thread-adoption` inventory entry now owns `threadRoutes.test.ts` and `ChatView.tsx`. - **`AGENTS.md` (`decide`):** kept the fork bullet and appended upstream's test rules and browser-test section. - **Upstream's change with the fork delta re-stated:** `BranchToolbar` (`showWorkspaceControls`), `GitActionsControl`, `ChatOverlayHosts`, `FilePreviewPanel`, `projectFilesQueryState`, `usePreviewSession` (on upstream's `inactiveAtom`) and `useThreadActions`. - **`getSidebarForkParentThreadId`:** upstream removed it, so it moves into `fork/ThreadParentLine.tsx`. - **New inventory entries:** the `branding-test` path policy and the `preview-session-use-atom-value` duplicate-add exception. - **Sweep:** 19 owned-concern hits, all upstream-owned and taken as upstream's. No new workflow. ## Feature classification ### Usable as-is - Mermaid rendering through pele (pingdotgg#21472) and project icon previews (pingdotgg#20372). - Dialog and composer polish, PR panel fixes and centred tables. - The Waiting thread state (pingdotgg#21500), which shows once the backend sends `blockedOnThreadWait`. - The even-pace tick on Limits (pingdotgg#22408). ### Unsupported in Moatless / needs implementation - `device.easAccount` and EAS Simulator device hosts (pingdotgg#21841–pingdotgg#21846). Added to the `UnsupportedMethodError` union, and the Integrations page that holds them is already flag-gated. - `projects.listIgnoredFiles` and the `ignoredFileListing` capability, which "Add project to another machine" uses (pingdotgg#22180). Added to the union. The dialog falls back to tracked files only while the capability is absent. - `pullRequests.changeBreakdown` (pingdotgg#22189, pingdotgg#22255). Its union already carries `UnsupportedMethodError`, and the tooltip drops the split when the call fails. - T3 Connect reachability (pingdotgg#22172). - Scheduled-task webhook filters and dedupe (pingdotgg#22194, pingdotgg#22234). - `lastEventLoopStall` (pingdotgg#22213) and the `previewClose` scope (pingdotgg#22156). - `compactIdleThreads` and `autoCompactThreshold` (pingdotgg#21682). - MCP diff tools (pingdotgg#15464), the install id (pingdotgg#21506) and the writing-style setting (pingdotgg#22203). ### Backend behavior to consider reproducing in Moatless - **Settlement and waits:** `blockedOnThreadWait`, orphaned follow-ups and delegated waits (pingdotgg#21499, pingdotgg#22581, pingdotgg#20037, pingdotgg#20025). - **Stop and wake:** `latestRunStopRequested` stops a stopped usage-limit thread from auto-resuming (pingdotgg#21114). A wake run settles when the provider never opens the wake turn (pingdotgg#19196). Snooze survives a run's completion (pingdotgg#22202, pingdotgg#17118). - **Runs and shells:** run failures are persisted (pingdotgg#19646), and shell updates coalesce for a slow client (pingdotgg#14859). - **VCS:** bare repositories (pingdotgg#17340, pingdotgg#16688, pingdotgg#18152, pingdotgg#20368), stack layers (pingdotgg#20415, pingdotgg#20388), VCS safety fixes (pingdotgg#15036, pingdotgg#19802) and PR provider robustness (pingdotgg#18780). - **Other:** update and restart safety (pingdotgg#22253), terminal and checkpoint performance (pingdotgg#21242, pingdotgg#21291), resource metrics (pingdotgg#22122), provider polling (pingdotgg#18851) and tool-token expiry (pingdotgg#18552, pingdotgg#19491). `docs/fork/gaps.md` is updated under *Methods the backend does not dispatch* and *Runtime fixes upstream made to its own server*. ## Verification Full `verify.mjs` run: every check except `test` passes (duplicate-adds, tripwires, resolution-check, unsupported-methods with ADD 2 / DROP 0 / KEEP 2, lockfile, fmt, lint, typecheck and build). Test failures and what was done about each: - **Machine failures seen in earlier merges:** `shared` `AgentScope`, `t3` `OrchestratorReplayFixtures` and `provider-opencode` `OpenCodeServerLedger`. The `GitVcsDriver` and `RepositoryIdentityResolver` partial-clone tests fail because of the sandbox's `insteadOf` rewrite. - **New and environmental:** `t3` `ProviderInstanceRegistry` reads the sandbox's own `ANTHROPIC_*` and `CLAUDE_CONFIG_DIR`. With those unset, all 9 of its tests pass. - **`web`:** - The fork's `AppRoot.test.tsx` broke on upstream's new `useEffect` (pingdotgg#20886). It now stubs `useEffect` and passes. - Four browser files failed to import in the parallel run and pass alone. - **Playwright:** 1.60 wants chromium build 1223, which this sandbox lacks. Browser tests ran against 1243 through a symlinked `PLAYWRIGHT_BROWSERS_PATH`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Moatless task: https://moatless.soaplabstest.com/tasks/c3df6407-7ad0-483c-a46c-e8b603326150
Upstream deleted 11k low-signal tests (pingdotgg#22557), which conflicted with 33 files the fork had touched. Each conflicted test keeps the fork's own tests and drops the upstream tests that were deleted, along with helpers and imports only they used. Where upstream deleted a whole file that held fork tests, those tests moved to fork-owned files (forkThreadDetail, forkT3ProjectFile, forkComposerBannerStack and forkThreadRelationshipsControl.agents); the two browser tests now render with the disposable `render` helper and retrying assertions, as upstream's new lint rules require. The fork's service editor tests follow the editor test's new harness. Source conflicts: CommandPalette keeps the Jira import without "use client", Sidebar keeps the compact row's project-name condition beside upstream's moved pin, and composerEventScope keeps the side-chat helpers exported for split view. Upstream dropped resolveT3McpToolSummaryAction, so the sidekick banner reads the summary action from the tool definition instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream pruned low-value tests (pingdotgg#22557, pingdotgg#22592, pingdotgg#22593, pingdotgg#22599) and split ChatView, ChatComposer and ConnectionsSettings into smaller files. Tests (took upstream's deletions, kept every T4-added test): - ServerEnvironment, ClaudeAdapterV2 "Stop is pending", RepositoryIdentityResolver root/TTL tests: took the deletion; T4 had only adapted these upstream tests. - GitManager, WorktreeMcpService, ClaudeAdapterV2 (interrupt-ack timeout; now uses harness.awaitTerminal), RepositoryIdentityResolver (ssh -G), composerDraftStore, presentation, server, sharedSettings, contracts settings, projectSettings, GitHubCredentials, build-desktop-artifact: kept the T4 tests. - EffectWorker: kept the Claude interrupt assertions as a T4-only test. - tunnel: kept the two Persist runner tests with the runScript helper they need. - contracts server.test: kept the T4 import only. - Re-exported isNonRetryableProviderTurnControlFailure and the SSH launch/pairing/stop script builders, which upstream made private, for T4 tests. Web (ported onto upstream's split): - ChatView: kept threadRuntimeStopRequested import. - ChatComposer: isStopping now flows through ComposerFooterControls. - ConnectionsSettings: saved-environment Rename moved to SavedEnvironmentRows. 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> --------- 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>
…uites (#1217) * test: delete 208 low-signal tests and fix two order-dependent core suites Modelled on pingdotgg/t3code#22557. Nine reviewers read every test file against one rubric: delete duplicates, trivial logic, mock-call mirrors, smoke, type-redundant, prop-wiring and incidental wall-clock tests; keep lifecycle, auth and scopes, sandbox boundaries, persistence, protocol translation, routing, real-bug regressions, intentional perf gates and the Lean-mirrored verification suites. - 208 cases deleted across 89 files, 2 files removed. - channel-image-tool and filesystem-tool failed every case when run alone: their s3.ts mocks hand-copied an export list that drifted. They now spread the real module under the overrides. - isolate-executor drops a 3s wall-clock bound that flaked under load; the spawn count already proves the pool stops respawning. - policyDecisionLogMessage is no longer exported; only its file uses it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYXhKb3Kzo8iDLVupq3Tv4 * test(core): keep every harness type in the MicroVM bridge table Each adapter builds its own bridge (codex has its own branch in the registry and runtime), so the rows were not duplicates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYXhKb3Kzo8iDLVupq3Tv4 * test: restore the Slack reasoning flush and Retry-After tests without real time The Slack flush test moves the suite's frozen clock past the interval instead of sleeping 550ms. The Retry-After test records the delay the forwarder asks Bun.sleep for instead of timing a real port. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYXhKb3Kzo8iDLVupq3Tv4 * test: keep the public workspace config projection test and reuse scriptFetch toPublicWorkspaceConfigResponse shapes a public API response and that test was its only coverage. The Retry-After test now scripts its 429 through the file's existing scriptFetch instead of a second fetch stub. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYXhKb3Kzo8iDLVupq3Tv4 * test: restore tests that were the only coverage of their behaviour Review found nine deletions that no other test covered: the channel trace-link default, the persistent subagent default, workspace guidance, the policy audit-versus-enforce log wording, removeEnv failing on a server error, the NATS subject token round trip, side-effect-free --help for every command, account-qualified skill refs and the provider factory wiring. policyDecisionLogMessage is exported again for its test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYXhKb3Kzo8iDLVupq3Tv4 --------- Co-authored-by: phicks-debug <phicks-debug@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The review against pingdotgg/t3code#22557's low-signal rubric found that Game Text's cost sat in a few heavy tests, not in many trivial ones. - native-package-delta reaches the 256-segment ceiling inside one writer session instead of starting the native writer 410 times (84 s -> 15 s). - The native join oracle runs 8 seeds by default; the 32-seed sweep runs with `pnpm test:game-text:fuzz --native` (46 s -> 12.5 s). - Benchmark-tooling, 50,000-line scale and 8-round lifecycle soak checks move to `test:game-text:benchmark`, `:scale` and `:soak`; wall-clock assertions leave the default gate. - Cheaper fixtures and oracles in shared-index, index-reads, quality and workspace-scale tests, columnar-join and package-text scales. - 35 redundant cases deleted; workbench-tools.test.ts, which no runner included, now runs in test:architecture; the never-shipped dictionary experiment is removed (recoverable from b6bc97b). The area's serial test time fell from 418.6 s to 194.7 s. Implemented with Codex (gpt-6.1-sol). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Our test suite got huge and noisy. Release runs fail most of the time on flaky browser tests, and a lot of tests check things types already guarantee, mirror the code, or wait on real timers. They cost time and give no signal.
This deletes them: about 11,000 of 25,928 tests (43%). 456 test files are deleted outright and 1,195 more are trimmed. Summed test-file time drops 59%.
How the tests were picked
Follow-on cleanup
--exportsfailed on ~420 exports that only deleted tests used. Those are un-exported now, and ~48 declarations nothing calls are deleted, so there is no production behavior change.builtInProviderAdapterDrivers.tsonly fed a test, so it is gone andadding-a-provider.mdis updated to match.provider-testingandmarketinglose their now-emptytestscripts, andprovider-testingdrops dev deps it no longer uses.reactCompilerCoverage.test.tsfiles (documented perf guard), and slimmed copies ofbundledDev.test.tsandfileEditorVirtualization.test.ts, which guard a Vite upgrade and a patched dependency.test:perf:v2-wirefile list, the mobile react-test list, the knip entry forsign-macos.ts, and doc references to deleted files.Verification
knip:checkpass locally on the rebased head.pinnedRuntime,ServerEnvironment,ProviderInstanceRegistry,AcpSessionRuntime.processTree) fail the same way onmainon this machine. One web browser test,TelemetryExportSettings, timed out once under load; this PR does not touch it.shardWeights.jsondrops deleted files and scales trimmed ones by their measured speedup, so server shards stay balanced.@base-ui/react/autocomplete. With fewer tests, Vite's dependency scan no longer found it and reloaded mid-run, which broke a test iframe.maincurrently fails typecheck and web tests on a stalemermaidimport inMessagesTimeline.browser.test.tsx(from #21472). This PR removes that warmup along with the Mermaid tests it served.Reviewed with sol-loop: 2 rounds with GPT-6.1 Sol. Sol verdict: approved
Created with Claude Opus 5.5 (test selection by Claude Haiku 5.5) in Claude Code.
🤖 Generated with Claude Code