Sync fork with upstream anomalyco/opencode dev - #11
Open
dannypaz wants to merge 170 commits into
Open
Conversation
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: opencode <noreply@opencode.ai>
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
Pulls in ~168 upstream commits while preserving this fork's intentional divergences: - Self-updater / CLI auto-upgrade stays removed (dropped the new useUpdaterAction/UpdateAvailableToast/electron-updater UI and the electron-builder "publish" auto-update config upstream added). - Session share feature stays removed (dropped the new viewShare wiring). - No-network models catalog behavior is preserved, adopting upstream's models.opencode.ai naming for the on-disk cache key. - Netlog opt-in gating and the AWS Lambda cloud session control plane are kept as-is alongside upstream's new sidecar v2 architecture. Picked up from upstream: sidecar v2 desktop architecture, settings-v2 general-controllers refactor, AppStream metainfo packaging for Linux, session rename API, and other unrelated fixes/features.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b9dd1685b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
layout-new.tsx was resolved to keep the fork's old useNavigate/setNavigate wiring from packages/app/src/utils/notification-click.ts, but upstream deleted that module (and all its other call sites) in an unrelated refactor (anomalyco#39820). Fork never touched this file, so there was nothing fork-specific to preserve here - this brings layout-new.tsx in line with how the same pattern was already handled correctly elsewhere in the merge (e.g. titlebar.tsx's electronWindows, general.tsx's controller refactor). Caught by Codex review on PR #11.
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.
Type of change
What does this PR do?
Merges upstream
anomalyco/opencodedev(168 commits ahead) into this fork'sdev, while keeping every fork-specific change intact. No fork commits were reverted or altered — this is a forward merge that resolved 11 files with real textual conflicts.Fork-specific behavior that was deliberately preserved (not upstream's version):
useUpdaterActionhook, the "Check for updates" settings row,UpdateAvailableToast, the titlebar update pill/TitlebarUpdateplumbing, theelectron-updaterdependency, and the electron-builderpublish: { provider: "github", ... }auto-update config.viewShare/share-URL wiring in the message timeline.models.dev/models.opencode.aiat runtime, disk cache + build snapshot only). Adopted upstream'smodels.opencode.ainaming purely as the on-disk cache-key string, since the cache-key comparison logic downstream of it had already been renamed upstream.OPENCODE_DEBUG_NETLOGopt-in gating for Electron net logging, and the AWS Lambda cloud-session control plane, are both kept as-is.Notable upstream changes picked up as-is (no fork opinion on these):
OPENCODE_SIDECAR_V2), which now lives alongside this fork's netlog gating inpackages/desktop/src/main/index.ts.settings-v2/general.tsxwas substantially refactored upstream into a controller-based architecture (general-controllers.tsx:createPermissionScopeController,createShellSettingsController, etc.). This fork's copy of that file predated the refactor, so the merge adopts upstream's controller architecture wholesale (only the updater row was cut back out).sdk().api.session.renameinstead ofsdk().client.session.update..metainfo.xmlpackaging for the Linux deb/rpm builds.titlebar.tsx's Tauri-vs-Electron window distinction (electronWindows()) was dropped in favor of upstream's simplerwindows()check — upstream had already fully retired Tauri-specific handling elsewhere in that file, so keeping the two-way split aroundelectronWindows()would have referenced a helper that no longer exists.Architectural concerns worth a maintainer's eye
packages/desktop/src/main/index.ts: the sidecar-v2 vs. sidecar-v1 branching now coexists with this fork's Lambda-based cloud control plane and netlog opt-in. Both merged cleanly with no textual conflict, but nobody has verified the two together at runtime (see verification note below).settings-v2/general.tsx: because the fork's copy was stale relative to upstream's controller refactor, this merge is effectively "take upstream's file, delete the updater row" rather than a line-level reconciliation. Worth a sanity check that no fork-only General-tab behavior was silently dropped along the way.show-notification/get-window-countIPC pair and theparseMarkdownIPC bridge entirely (not something this fork had touched) — confirmed no remaining references anywhere in the app or desktop packages, so this looks like an intentional upstream removal rather than an accidental drop, but flagging it since it's a behavior change riding in on the sync.How did you verify your code works?
electronWindows,Notification, updater symbols, share-feature symbols, etc.) — none found.bun build --target=... --external '*'syntax check on every hand-resolved file — all pass.bun install/typecheck/ test suite in this sandbox:bun installfails fetching a GitHub-hosted dependency tarball (ghostty-web) because this environment's network policy blocks that host. A maintainer with full network access should runbun install && bun turbo typecheckbefore merging.Checklist
Generated by Claude Code