Skip to content

chore: sync with upstream (2026-10-26) - #64

Merged
riccardovandra merged 223 commits into
mainfrom
sync/upstream-2026-10-26
Oct 26, 2026
Merged

riccardovandra merged 223 commits into
mainfrom
sync/upstream-2026-10-26

Conversation

@riccardovandra

Copy link
Copy Markdown
Owner

Merges 222 commits from pingdotgg/t3code main (through 4e493b1492, "docs: read GitHub Actions logs through cafe (pingdotgg#25343)") into the fork. Notable upstream changes: the new design is on by default, Settings and Usage now open as modals under the _chat layout, the orchestration instructions were rewritten into a compact form, and many Effect lint rules became errors.

Conflicts and resolutions

  • packages/provider-core/src/server/orchestrationInstructions.ts: upstream compacted the sections and moved the ACP fallback into its own constant. Took upstream's file and re-applied the fork's changes on top: Docs Cloud / project-files sections and the AI PM ideas section appended at the end, plus the docsCloud parameter through t3CodeOrchestrationInstructions, the ACP state and the first-run/system prompt helpers. The fork's old copy of upstream's long worktree-launch text was dropped in favour of upstream's new wording.
  • apps/web/src/routeTree.gen.ts and routes: upstream moved settings.* routes to _chat.settings.*. Moved the fork's settings.tools.tsx and settings.mcp-servers.tsx the same way (route ids /_chat/settings/tools and /_chat/settings/mcp-servers; URLs are unchanged) and regenerated the route tree.
  • apps/web/src/components/sidebar/mainAppLocation.ts: took upstream's router-subscription tracker and modal-page split; kept /ai-pm as a sidebar utility page.
  • apps/web/src/components/ChatView.tsx: kept the fork's resolveProviderInstanceDisplayName import (used by useAgentOpenedDocs); dropped registerFaviconProjectForThread, which upstream no longer calls here.
  • apps/web/src/components/settings/settingsSearch.ts: kept the fork's MCP servers entry, using upstream's new sentence-case labels.
  • apps/mobile/src/features/settings/SettingsRouteScreen.tsx: took upstream's row-list refactor and re-added the fork's MCP servers row under Server settings.
  • apps/mobile/src/features/threads/ThreadFeed.tsx: kept the DocsCloudCard import and took upstream's slimmer assets import.
  • apps/server/src/auth/RpcAuthorization.ts: kept the fork's settings-aware requiredScopesForSettingsUpdate(payload, current) and used upstream's shared decodeSettingsUpdate.
  • packages/contracts/src/rpc.ts: kept the fork's skills and MCP tools imports; took upstream's reduced threadSearch import.
  • apps/server/package.json, knip.jsonc, docs/user/project-settings.md: kept both sides (saxes + skills; apps/docs-cloud + infra/task-cache; the Tools sentence in upstream's reworded paragraph).
  • pnpm-lock.yaml: took upstream's and reinstalled. Removed the @pnpm/exe packageManagerDependencies entries that the local install added. The only remaining differences from upstream are the fork's own dependencies (docs-cloud, skills, MCP SDK in server dependencies).

Judgment calls

  • Upstream made several Effect diagnostics errors. Updated fork code to match: RpcAuthorization (Effect.undefined, yield the error directly), DocCommentDelivery (filterOrFail), DocsCloudImport (asSome, succeedNone, decodeEffect), the fork's Codex MCP-name read in CodexAdapterV2 (orElseSucceed), and Effect.forEach in two docs test files.
  • settingsScopeNavigation.test.ts builds its own router, so its /settings route id is still correct there. The registered route types now say /_chat/settings, so the test compares String(match.routeId).

Verification

  • node scripts/fork-brand.ts --check: passes (180 files).
  • vp run typecheck: passes in apps/server, apps/web, apps/mobile, packages/contracts, packages/provider-core.
  • vp test run on the 111 fork-touched test files plus tests next to conflicted files: all pass except:
    • ServerEnvironment.test.ts "publishes proven install ownership": the known upstream failure on macOS.
    • OpenCode2OrchestratorV2.integration.test.ts: 6 of 9 fail with 60s scenario timeouts. They fail the same way on the fork's current main and pass on pristine upstream/main, so the fork already had this before the merge. Worth a separate fix.
    • apps/docs-cloud compile.test.ts timed out once under parallel load and passes when run alone.

Opus 5.5 via Claude Code in T3 Code.

🤖 Generated with Claude Code

t3dotgg and others added 30 commits October 24, 2026 23:57
…pingdotgg#24760)

With the Working shelf on, a thread that stops working stays there for 2s. A server auto-settle in that window sends it straight to Settled, so threads no longer flash in the inbox and vanish. "Thread completed" waits the same 2s and fires once.

The server now settles fast enough to land inside the window: it reads a pull request when a shell merge or close command ends, sweeps a thread when its background work ends, and runs per-thread settle checks in parallel, one per thread at a time.

Takes over pingdotgg#22458.

Co-authored-by: Omar <76748259+omar9848492@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…mbers drafts (pingdotgg#24750)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#24770)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…4696)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…4784)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#24769)

Mobile push said "Thread completed" when a run ended and its continuation started a moment later, then again when the work really finished. Every completion now waits the relay's existing 5s confirm window and is dropped if the thread is live again. A thread that auto-settles during the hold still alerts its completion, then clears its card on a new window. Failed runs publish at once.

Follow-up to pingdotgg#24760.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#24748)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…PR (pingdotgg#24830)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pt eats the command (pingdotgg#24775)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#24813)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…miss (pingdotgg#24832)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#24839)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ll JSON (pingdotgg#24723)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…point capture (pingdotgg#24851)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
juliusmarminge and others added 29 commits October 25, 2026 21:02
…ment now show (pingdotgg#25229)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#25295)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e app (pingdotgg#25233)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…t in effects (pingdotgg#25234)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tton (pingdotgg#25315)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…25118)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ges (pingdotgg#25316)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gn (pingdotgg#25323)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s lifetime (pingdotgg#25226)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nd (pingdotgg#25329)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#25317)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#25336)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otices (pingdotgg#25335)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@riccardovandra
riccardovandra merged commit 190ee21 into main Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.