Repository navigation
chore(sync): merge 274 upstream commits through 2026-11-10 - #429
Merged
Merged
Conversation
Co-authored-by: GPT 6.1 Sol <codex@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#32403) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… of rejected (pingdotgg#32405) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#32408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#32395) Co-authored-by: Cursor <cursoragent@cursor.com>
…pingdotgg#32391) Co-authored-by: GPT 6.1 Sol <codex@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…32389) Co-authored-by: GPT 6.1 Sol <codex@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…gg#27397) Co-authored-by: maria-rcks <maria@kuuro.net>
…e's service (pingdotgg#26324) Co-authored-by: notcompromised <peyton.lamb111@gmail.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…#19659) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: Honey Paptan <hpaptan@gmail.com>
…ngdotgg#19660) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Remove Cursor CLI credential and macOS Keychain fallbacks for account usage and limits, including their settings and web/mobile prompts. Preserve usage through the Cursor SDK sign-in, CURSOR_API_KEY exchange, and explicit auth tokens for limits. Verified focused Cursor tests and full CI on the final head. The scope and intended loss of usage for CLI-only environments were explicitly approved by the maintainer. Model: GPT 6.1 Sol. Harness: Codex through T3 Code.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#32401) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…d Escape to the PTY (pingdotgg#32666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#27941) Co-authored-by: Orin <orin@orin.ws> Co-authored-by: maria-rcks <maria@kuuro.net>
…s the thread (pingdotgg#28454) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#27541) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…etails card (pingdotgg#27582) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…in folders (pingdotgg#25883) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#33628) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s later subagent results (pingdotgg#33469) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ing CLIs (pingdotgg#33448) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#33438) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…to itself (pingdotgg#33695) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#33263) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ame is long (pingdotgg#33181) Co-authored-by: Julius Marminge <julius0216@outlook.com>
shuv1337
marked this pull request as ready for review
November 10, 2026 11:06
This was referenced Nov 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Merge all 274 upstream commits through
pingdotgg/t3code@e4d86abca9into fork main2d23b39403, preserving fork history and features. Ready for review: CI Full and required PR/Windows checks are green. No release, app installation, or upstream write was performed.Plan executed
v0.1.8-nightly.20261107.4340(58 commits,abf67b5ad7),v0.1.8(156,6ca41d664e), then pinned upstream main (60,5064a07f11).Upstream highlights
Protected fork behavior
t3_mcp_server_*tools and permissions (feat(mcp): let agents manage shared MCP servers #428), and tracked local cross-project delegation (delegate_task: run tracked tasks in another local project #427) remain.Review fixes — head
7a29f96ab6218444d59e: port the upstream installer-command cases to fork variables, ownership markers, aliases and messages. Every shell fixture now sets a temporaryHOME; under Vitest the installer refuses aHOMEoutside the temporary directory. The command regression also runs on macOS.643eeae992: disable the dev proxy under Vitest, even with agent server variables inherited. Added a failing-before/passing-after config regression; bothChatView.browser.test.tsxandChatView.modelPick.browser.test.tsxpass with all three agent port variables present (safe port 9, not the live server).7a29f96ab6: restore refusal to rewrite a service unit with no home and the fork-specific restart message. Extended the existing service test; it fails before and passes after the fix.check:changed(format, lint, knip, GraphQL, affected typechecks and 86 tests). All three commits passed pre-commit checks.shuvbot: 50 files, 492 tests passed / 17 skipped. The five PowerShell installer timeouts reported during review are pre-existing on fork main, not merge-induced; they did not recur in this run.src/lib/runtime.test.tsfailed under concurrent validation load (two timeouts and their cascading export-count failure), and its isolated recheck passes all three tests. The two intermittent telemetry failures in the earlier sync run are the same load-related, pre-existing flake, not merge-induced. A two-worker attempt then failed three browser cases (CommandPalette, ExpandedImageDialog, AcpSessionManagementSection). The final default-worker attempt, after the server suite ended, passed 543/544 files and 5,798/5,799 tests, with only DiffFilePathCopyButton failing; that case passes a focused recheck. ExpandedImageDialog still failed the focused recheck. Both requested ChatView cases pass again with agent variables present. These local browser failures remain follow-up work, not a claim of locally green web validation; the complete CI Test Web job passes.HOME, XDG directories and fork/upstream home variables; scripts tests never receive the live install paths. Onshuvbot,readlink -f ~/.local/bin/s2code-nightlybefore and after the runs remains/Users/shuv/.shuv2code-v2-nightly/runtime/versions/0.1.7-nightly.20261107.112/t3.Earlier sync validation — head
068e8f65b0--helpwas also smoke-tested against an isolated temporary home.T3CODE_*installer settings. The sandboxed, ported suite result is reported above.apps/server/src/persistence/Migrations: 19 files / 33 tests. Migration 26's existing regression exposed JSON arrays becoming strings on this SQLite version; explicitjson(...)at the scalar-subquery boundaries fixes it. No migration was replayed against live state.check:changed origin/maindid not pass: its 442-file test step hit the 900-second runner limit, and it saw a duplicate-export knip issue before that was fixed. Subsequent knip and final-deltacheck:changedruns pass, including formatter, lint, GraphQL, affected typechecks and tests. These do not replace the timed-out full-scope result.mcp-tool-use --contextran; no paid-model score is claimed.CI
Previous full-suite run https://github.com/shuv1337/s2code/actions/runs/42792316299 failed its Test job on the merge-induced installer-command regression; its Test Web and all eight Test Server jobs passed.
Replacement full-suite run for
7a29f96ab6: https://github.com/shuv1337/s2code/actions/runs/42800316911 — SUCCESS, all 18 jobs green, including Test, Test Web, all eight Test Server shards, Build and Typecheck, and Check. Required PR CI, context budget and Socket checks pass. Windows shim and real CLI archive checks also pass: https://github.com/shuv1337/s2code/actions/runs/42800330988. Upstream-gated mobile/deploy jobs are skipped. Ready for review; not merged, released or installed.Local evidence is retained under
/tmp/s2-pr429-*.logand/tmp/s2-sync-*.log. No scratch plans or generated test artifacts are committed.Agent context budget
The measured budget test passes. The
agent-context-increaselabel is necessary; the CI gate itself is retained unchanged.Risks / deliberate divergence
Complete conflict ledger (all staged conflicts)
Conflict ledger
Stages: 1 = upstream nightly
.4340(58 commits); 2 =v0.1.8(156 commits); 3 = pinned maine4d86abca9(60 commits).97 distinct conflicted paths across 111 stage/path occurrences. Auto-merged files are not included below.
CI and releases
Kept the fork's CI/context-budget and nightly-only release policy. Ported compatible desktop build changes; removed obsolete mobile preview workflow paths, kept fork production mobile configuration. The incoming mobile-dev-client workflow remains upstream-repository-gated and does not publish from this fork.
.github/workflows/ci.yml— stage 2, 3..github/workflows/mobile-eas-preview-fork.yml— stage 3..github/workflows/mobile-eas-preview.yml— stage 3..github/workflows/mobile-eas-production.yml— stage 3..github/workflows/release-desktop.yml— stage 1, 2..github/workflows/release.yml— stage 1, 2.docs/operations/release.md— stage 1.Marketing (deferred)
Kept the pre-v0.1.8-merge fork marketing subtree. Upstream locale routing/localized landing and download pages are deliberately not ported; the earlier text-wrap fix remains.
apps/marketing/src/layouts/Layout.astro— stage 2.apps/marketing/src/pages/[...locale]/download.astro— stage 2.apps/marketing/src/pages/[...locale]/index.astro— stage 2.apps/marketing/src/pages/sitemap.xml.ts— stage 2.Desktop CLI and identity
Integrated CLI installation/removal, PATH handling and first-launch behavior using fork executable names, ownership markers and channel isolation. Updated tests to assert fork names.
apps/desktop/src/app/DesktopCliCommand.test.ts— stage 2.apps/desktop/src/app/DesktopCliCommand.ts— stage 2.apps/desktop/src/app/DesktopCliShim.ts— stage 2.apps/web/src/components/settings/CliCommandSettingsRow.tsx— stage 2.CLI/runtime/update/SSH
Combined upstream installer/uninstaller, pinned runtime, update diagnostics and SSH changes with fork release sources, aliases, home/environment isolation and launcher ownership. Preserved internal t3 runtime asset names. Agent approval URLs follow fork hosted config, never upstream defaults.
apps/server/src/cli/invocation.ts— stage 2.apps/server/src/cli/service.ts— stage 1.apps/server/src/cli/uninstall.test.ts— stage 2.apps/server/src/cli/uninstall.ts— stage 2.apps/server/src/cli/up.ts— stage 1.apps/server/src/cloud/bootService.test.ts— stage 1.apps/server/src/cloud/bootService.ts— stage 1.apps/server/src/cloud/pinnedRuntime.ts— stage 2.apps/server/src/cloud/publicConfig.ts— stage 3.apps/server/src/cloud/selfUpdate.test.ts— stage 3.apps/server/src/cloud/selfUpdate.ts— stage 3.packages/shared/src/cliRelease.ts— stage 3.packages/ssh/src/tunnel.test.ts— stage 3.packages/ssh/src/tunnel.ts— stage 3.scripts/build-cli-archive.test.ts— stage 1.scripts/build-cli-archive.ts— stage 1.scripts/build-desktop-artifact.test.ts— stage 2.scripts/build-desktop-artifact.ts— stage 2.scripts/install.ps1— stage 2.scripts/install.sh— stage 2.scripts/lib/brand-assets.ts— stage 1.Orchestration, MCP and remote delegation
Ported upstream lifecycle, history and transport changes while retaining shared MCP tools, local cross-project delegation, remote delegation, pools/failover and worktree support. Kept model selection on queued turns alongside spent-instance failover; included providerTurns in remote history projection.
apps/server/src/auth/PairingGrantStore.ts— stage 2.apps/server/src/environment/ServerEnvironment.ts— stage 2.apps/server/src/mcp/OrchestratorMcpService.ts— stage 2.apps/server/src/observability/RpcInstrumentation.ts— stage 2.apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.test.ts— stage 2.apps/server/src/orchestration-v2/Orchestrator.ts— stage 1, 3.apps/server/src/peer/PeerLinks.ts— stage 2.apps/server/src/peer/RemoteDelegation.ts— stage 2.apps/server/src/ws.ts— stage 2.Contracts, settings and shared client runtime
Merged new contracts/permissions/settings and client projection fields without removing fork RPC/MCP/voice/Keychain grants or shared MCP secret handling.
apps/server/src/settingsSecrets.ts— stage 1, 2.packages/client-runtime/src/state/commandPermissions.test.ts— stage 1, 2.packages/client-runtime/src/state/server.ts— stage 2.packages/contracts/src/clientRpcPermissions.ts— stage 1.packages/contracts/src/environment.ts— stage 2.packages/contracts/src/orchestrationV2.ts— stage 1.packages/contracts/src/rpc.ts— stage 2.packages/contracts/src/settings.ts— stage 1, 2.Providers
Kept Cursor CLI/Keychain usage and its 1.3.1 SDK retry patch, adding upstream usage/account improvements rather than accepting support removal. Combined OpenCode runtime-version probing/upgrade handling with fork Go usage limits and model discovery.
packages/provider-cursor/package.json— stage 1.packages/provider-cursor/src/server/accountUsage.test.ts— stage 1.packages/provider-cursor/src/server/accountUsage.ts— stage 1, 3.packages/provider-cursor/src/server/usageLimits.ts— stage 1.packages/provider-opencode/src/server/driver.ts— stage 3.Mobile
Merged native controls, symbols, navigation/settings and draft model selection with fork mobile identity, voice/WebRTC dependencies and draft catalog persistence.
apps/mobile/app.config.ts— stage 3.apps/mobile/modules/t3-native-controls/ios/T3NativeControlsModule.swift— stage 2.apps/mobile/package.json— stage 2.apps/mobile/src/App.tsx— stage 2.apps/mobile/src/components/ui/AppSymbol.tsx— stage 2.apps/mobile/src/features/settings/ScheduledTaskPickerScreens.tsx— stage 2.apps/mobile/src/state/use-composer-drafts.test.ts— stage 2.apps/mobile/src/state/use-composer-drafts.ts— stage 2.Removed upstream UI
Accepted upstream removal; use the new WelcomePage/composer flow instead. Fork voice hosts remain mounted in the root route.
apps/web/src/components/chat/useProposedPlanSend.ts— stage 2.apps/web/src/components/onboarding/WelcomeWizard.tsx— stage 2.docs/user/welcome-wizard.md— stage 2.Web UI
Combined new onboarding/settings/composer flows with fork branding, voice hosts, Keychain controls and persisted model/catalog choices. Removed obsolete settings imports/state after the upstream updates-panel rewrite.
apps/web/src/appInit.tsx— stage 2.apps/web/src/components/HostedEmptyState.tsx— stage 2.apps/web/src/components/auth/ConnectAgentSurface.tsx— stage 2.apps/web/src/components/chat/useComposerSend.ts— stage 2.apps/web/src/components/settings/SettingsPanels.tsx— stage 2, 3.apps/web/src/components/settings/settingsSearch.ts— stage 2.apps/web/src/components/settings/useAvailableSettingsSearchItems.ts— stage 2.apps/web/src/composerDraftStore.test.ts— stage 2.apps/web/src/composerDraftStore.ts— stage 2.apps/web/src/routes/__root.tsx— stage 2.Agent context budget
Measured the merged provider prompts/tool schemas and updated the tracked budget to actual bytes. Preserve the CI gate and request its explicit agent-context-increase label; no gate removal.
apps/server/src/provider/agentContextBudget.json— stage 2, 3.Dependencies and manifests
Reconciled upstream dependency/native patch updates with fork-only dependencies and Cursor SDK patch. Regenerated the lockfile; retained fork package/channel identity instead of bumping fork release versions.
apps/server/package.json— stage 2, 3.pnpm-lock.yaml— stage 1, 2.pnpm-workspace.yaml— stage 2.scripts/package.json— stage 2.Documentation
Kept fork naming, provider/voice capabilities and operational constraints while incorporating upstream usage changes and removing obsolete onboarding guidance.
README.md— stage 2.docs/internals/voice-input.md— stage 1.docs/user/background-service.md— stage 2.docs/user/composer.md— stage 1, 2.docs/user/install.md— stage 2.docs/user/outside-agents.md— stage 2, 3.docs/user/providers-acp.md— stage 2.docs/user/providers-antigravity.md— stage 2.docs/user/providers-codex.md— stage 1.docs/user/providers-muse.md— stage 2.docs/user/providers-pi.md— stage 2.docs/user/remote-access.md— stage 2.docs/user/source-control.md— stage 2.AI-assisted by gpt-6-astra (openai-codex) in pi / shuvpi.