Repository navigation
chore(sync): merge upstream v2 through v2.0.20 - #370
Merged
Merged
Conversation
…malyco#51981) Co-authored-by: rekram1-node <[email protected]>
Co-authored-by: thdxr <[email protected]>
Co-authored-by: jlongster <[email protected]>
Co-authored-by: rekram1-node <[email protected]> Co-authored-by: jlongster <[email protected]>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
shuv1337
marked this pull request as ready for review
September 29, 2026 21:55
This was referenced Sep 30, 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.
Issue for this PR
N/A. Upstream sync. Do not merge this PR from the agent.
Type of change
Upstream sync of anomalyco/opencode branch
v2intointegration-v2.What does this PR do?
Merges anomalyco/opencode branch v2 through the v2.0.20 release-sync commit into the Shuvcode fork and keeps fork identity.
84c9be93a56304a108f1a22df0c5d62c26d5b6ca(release: v2.0.20).8d8a7bc844a485eb6c85a220b37f30e9edc41ddf(sync release versions for v2.0.20). Not currentv2HEAD.cb7efec59ca353ac0e7d9f1cce36462905b2dc24(dde6a8860b+8d8a7bc844). Follow-up on that merge:82349b5689stubsconnection.statusin fork plugin test fixtures.integration-v2atdde6a8860b(after PR chore(sync): merge upstream v2 through v2.0.19 #369, v2.0.19).shuvcodeat2.0.20-shuv.1. Noopencodeoropencode2bin.Tag relationship (not the v2.0.19 sibling pattern):
For v2.0.19 the tag
1fd016ef32and the sync commitf02c30eb55shared parentca084b2430and had identical trees. That is not true for v2.0.20.84c9be93a5parent is0f83038253(fix(core): align ChatGPT token sharing with updated partner guide (#52162)). Tree548dafe2ee9c92baa0cb55811373396b0e804af5. The tag is not an ancestor ofv2.8d8a7bc844parent isa2fc1968be(fix(stats): match document background to page theme (#52169)). Tree9a240a8e7270ed71ee7669d2f3ab324eb77c7c01.0f83038253.v2then has three commits the tag does not:4deda18037(fix(app): align ChatGPT usage copy and links (#52163)),c2a39ac592(fix(core): stop promising a ChatGPT usage reset (#52168)), anda2fc1968be. The trees differ in those commits' files (chatgpt-usage-limit.tsx,chatgpt-welcome.tsx,select-dialog.tsx,en.ts,to-session-error.ts,packages/stats/app/src/routes/index.css).v2HEAD is one commit past the sync:df51166711(fix(ci): run V2 Discord notification after skipped build jobs (#52012)). This merge stops at the sync commit, so that CI commit is not included. The three commits above are included because they are ancestors of the sync commit.Conflicts resolved (2):
packages/cli/package.json: keptnameshuvcodeandbinshuvcode(./bin/shuvcode.mjs). Set version2.0.20-shuv.1.bun.lock: took upstream's lockfile, then regenerated withbun installso the workspace entry is[email protected]and the fork plugin packages stay (@shuvcode/gpt-live-plugin,@shuvcode/quota-plugin,marked).bun install --frozen-lockfilepasses.No workflow files changed.
.github/workflows/publish.ymlis the fork file, unchanged. Upstream did not touch it betweendde6a8860band the sync commit, so there was no publish.yml conflict.packages/tui/package.jsonauto-merged: upstream version2.0.20, plus the forkmarkedcatalog dependency and@shuvcode/gpt-live-plugin/@shuvcode/quota-pluginworkspace dependencies.These fork pieces did not conflict and are unchanged:
dialog-pair.tsxstill saysshuvcode service set hostname; the plugin TUI API still has prompt autocomplete;packages/ai/src/protocols/shared.tsstill exportstoolErrorContent;messageToTextstill emits[Tool error]and[Tool error content]; CLI/help tests still assertshuvcode.Fork-identity edit that was not a conflict: upstream added a pairing error,
run \opencode service unset disabled` first. The rest of the fork's service usage text saysshuvcode, so this merge rewrites that one new sentence toshuvcode service unset disabled. Conservative fork behavior. No other new user-facingopencode ` strings came in with this sync.Follow-up required by the merge: upstream added
integration.connection.status. Fork fixtures that build a connection object needed a no-opstatus. Addedstatus: () => Effect.voidinpackages/claude-plugin/test/hooks.test.ts,packages/claude-plugin/test/plugin.test.ts, andpackages/core/test/plugin/provider-antigravity.test.ts. Plugin behavior is unchanged.Nothing else needs a product decision. Cap merges. Do not merge this PR.
How did you verify your code works?
Local only. GitHub Actions were not triggered.
bun installandbun install --frozen-lockfile(bun 1.4.2)bun run checkfrom the repo root, including the pre-push hook: oxlint clean (0 warnings, 0 errors), turbo typecheck 40/40packages/tui: dialog-pair, plugin-model, mini footer view, and the TUI tests this sync changed (group-view, session-verbosity, session-tabs, stats view): 164 pass, 2 skippackages/server: process pairing test (1 pass)packages/cli: web-ui, server-connection, service, noninteractive run, auth, auth-login choices, mcp-auth choices, session-target (59 pass)packages/ai: cache-policy, executor, provider-error, and the anthropic, bedrock, gemini, mistral, openai-chat, openai-responses, and meta provider tests, including recorded and cache variants this sync touched (741 pass, 1 skip)packages/core: aisdk, aisdk-native, tool-registry, session-compaction, session-compaction-transport, credential, database, generate, mcp, model-resolver, chatgpt, opencode, antigravity, session-error, variant (335 pass)packages/schemasession-error (5 pass),packages/claude-pluginhooks and plugin (5 pass),packages/session-uitimeline rows (43 pass),packages/appusage-exceeded dialogs (4 pass, solid condition + happydom),packages/pluginhost resolve (9 pass)Session-ui Playwright component specs were not run here.
Screenshots / recordings
N/A. No fork UI layout change.
Checklist