Skip to content

Sync fork with upstream anomalyco/opencode (134 commits) - #10

Open
dannypaz wants to merge 135 commits into
devfrom
claude/amazing-goldberg-mg1jhc
Open

Sync fork with upstream anomalyco/opencode (134 commits)#10
dannypaz wants to merge 135 commits into
devfrom
claude/amazing-goldberg-mg1jhc

Conversation

@dannypaz

Copy link
Copy Markdown
Owner

Issue for this PR

N/A — scheduled upstream sync, not tied to an issue.

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Merges upstream/dev (anomalyco/opencode, 134 commits, 2026-07-21 through 2026-07-29) into this fork's dev, on top of the fork's 17 existing commits. No fork-specific commits or features were removed — this is a forward merge that pulls in new upstream code while preserving everything the fork has already changed or removed.

Note: the task that requested this named the upstream repo as opencode/opencode, but that org doesn't exist on GitHub. The project's own README, CONTRIBUTING.md, and install script all point to anomalyco/opencode as the real upstream, so that's what was fetched and merged.

Four real content conflicts came up during the merge, all resolved by hand:

  1. packages/app/src/components/settings-v2/general.tsx — kept the fork's version. Upstream refactored this file to pull settings logic out into a new general-controllers.ts module, but that refactor's only user-facing addition is an "check for updates" button, which conflicts with this fork's removal of the auto-update feature. The fork's inline version already covers every other setting (theme, shell, sounds, appearance, permissions) that the new controllers module provides.
  2. packages/app/src/components/titlebar.tsx — kept the fork's version of the TitlebarV2Right render call (and its data-tauri-decorum-tb Windows/Tauri handling, which upstream dropped in the same refactor). Upstream's side only differed by wiring in v2RightState(), which feeds the same removed update-check UI.
  3. packages/desktop/electron-builder.config.ts — combined both sides: kept upstream's new metainfoFpm(appId) addition to the Linux deb/rpm packaging (an unrelated AppStream metainfo fix, unrelated to updates), but dropped the new publish: { provider: "github", ... } blocks, since those wire up electron-builder's auto-update publishing, which this fork has removed.
  4. packages/desktop/src/main/index.ts — both sides added an unrelated constant in the same spot (fork's NETLOG_ENABLED opt-in flag, upstream's SIDECAR_VERSION flag). Kept both; each is used elsewhere in the file.

Major architectural notes (please read)

This fork has removed several features that upstream continues to actively build on top of: session sharing, OpenTelemetry, Sentry crash reporting, CLI self-upgrade/version-check, PostHog download stats, and the Electron auto-updater. All four conflicts above trace back to that last one (the auto-updater). As upstream keeps extending update-related UI and packaging, expect this same set of files to conflict again on the next sync, and expect the conflict surface to grow if upstream builds more on top of session sharing, telemetry, or the CLI upgrade path.

Specifically worth a maintainer's attention:

  • Upstream refactored settings-v2/general.tsx into a general-controllers.ts + general-controller-behavior.ts architecture (new files, merged in cleanly, currently unused by the fork). The fork's general.tsx was kept in its pre-refactor, inline form. If the fork wants to stay aligned with upstream's settings architecture going forward, someone should deliberately migrate general.tsx onto the new controllers rather than let the fork's copy keep diverging.
  • I could not run a full bun install / typecheck / build in this sandbox — the environment's network egress policy blocks github.com/ghapi (used to fetch a github: dependency, ghostty-web), so dependency installation fails here. The conflict resolutions above were reviewed by hand and cross-checked against both branch histories, but CI should be treated as the real verification step for this PR before merging.

How did you verify your code works?

Reviewed each conflicting hunk against both branches' full file contents and git history to confirm intent, then verified no leftover conflict markers and no reintroduction of removed features (share, OpenTelemetry, Sentry, auto-updater, self-upgrade) anywhere in the merged tree. Could not run install/build/tests locally due to sandbox network restrictions (see above) — relying on CI.

Screenshots / recordings

N/A — no UI behavior change beyond what's inherent to the upstream merge.

Checklist

  • I have not included unrelated changes in this PR
  • I have tested my changes locally (blocked by sandbox network restrictions, see notes above — CI should verify)

Generated by Claude Code

arvsrn and others added 30 commits July 21, 2026 17:56
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>
opencode-agent Bot and others added 29 commits July 28, 2026 04:20
)

Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
…nomalyco#38119)

Co-authored-by: Brendan Allan <git@brendonovich.dev>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
…erg-mg1jhc

# Conflicts:
#	packages/app/src/components/settings-v2/general.tsx
#	packages/app/src/components/titlebar.tsx
#	packages/desktop/electron-builder.config.ts
#	packages/desktop/src/main/index.ts
@cursor

cursor Bot commented Jul 29, 2026

Copy link
Copy Markdown

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.

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.