Skip to content

chore: sync upstream dev through b8142c7aa8#4

Merged
LogicLyra merged 15 commits into
mainfrom
sync-upstream-dev
Jul 19, 2026
Merged

chore: sync upstream dev through b8142c7aa8#4
LogicLyra merged 15 commits into
mainfrom
sync-upstream-dev

Conversation

@LogicLyra

Copy link
Copy Markdown
Owner

Summary

  • Sync upstream dev through b8142c7aa8f88222873fb79d636e312e28037c2d (14 commits past the previous sync base 69a80663a).
  • Preserve all OpenCode Classic identity, updater, installer, publisher, protocol, package-name, and fork-only push invariants.
  • Corrective commit: none. The single merge conflict was resolved as an orthogonal combine of fork + upstream intents (see below); no behavioral fix was required.

Review

  • Base (origin/main): 867e53a26b8a5a0c810b2c8fe9d4be45c18e249b
  • Candidate (head): 8aa9841eb4ce9ab147d35dd3f054dd2fbf7e3761
  • Merge tree: 6d1bb07c74695561e8a9cec076695354b0ceb91a
  • Merge parents: 867e53a26 (fork) / b8142c7aa (upstream)
  • Pinned upstream tip: b8142c7aa8f88222873fb79d636e312e28037c2d

Incoming commits (origin/main..upstream):

  1. 38989c57a chore(tui): upgrade opentui to 0.4.5 (chore(tui): upgrade opentui to 0.4.5 anomalyco/opencode#37522)
  2. 0df2f6245 chore: update nix node_modules hashes
  3. 49d2dd8a3 fix(provider): honor reasoning option semantics (fix(provider): honor reasoning option semantics anomalyco/opencode#37519)
  4. 41405c9eb chore: generate
  5. a46374e90 go: kimi k3 promotion
  6. 45cd8d769 update zen models
  7. 86e04d417 revert(tui): downgrade opentui to 0.4.3 (revert(tui): downgrade opentui to 0.4.3 anomalyco/opencode#37582)
  8. 3476e6baa chore: update nix node_modules hashes
  9. 901c9e732 fix(app): disable unavailable file navigation (fix(app): disable unavailable file navigation anomalyco/opencode#37595)
  10. fab213312 chore: configure trust center domain (chore: configure trust center domain anomalyco/opencode#36910)
  11. 9da9ed9de fix(nix): relax Bun version check for desktop build (fix(nix): relax Bun version check for desktop build anomalyco/opencode#36767)
  12. b95fe7b2d fix(nix): restore desktop integration (fix(nix): restore desktop integration anomalyco/opencode#37197)
  13. ba3f966ed build: bump opentui to 0.4.5 (build: bump opentui to 0.4.5 anomalyco/opencode#37616)
  14. b8142c7aa chore: update nix node_modules hashes

Conflicts (1):

  • packages/console/app/src/routes/go/index.tsx — the fork's fix(console): scale sub-baseline Go limits rewrote the x() mapping so sub-baseline model ratios scale linearly instead of collapsing (UI correctness for bar geometry). Upstream's go: kimi k3 promotion changed baseline 200→100, renamed the Kimi K3 label, reduced bottom, and removed the x-axis ticks/grid/label block. Resolution: kept the fork's x() sub-baseline fix and took all of upstream's chart changes. The two are orthogonal — the fork's x() governs bar positioning (still relevant since baseline=100 puts grok-4.5 at ratio 0.8) and references nothing upstream removed. bun.lock, package.json, and packages/opencode/script/build.ts auto-merged cleanly.

Fork invariants reviewed (all preserved): product name OpenCode Classic, app ID io.github.logiclyra.opencodeclassic, URL protocol opencode-classic, package/data/cache/updater names, installer + CLI/desktop updater + WSL + release workflow + artifact URLs all LogicLyra/opencode-classic, external package-manager installs notify-only, automatic downgrades disabled, inherited upstream publisher blocked, pre-push hook still rejects every destination except the fork. The trust-center change (infra/stage.ts + enterprise FAQ link to trust.opencode.ai) is consistent with the fork's existing posture, which already carries many opencode.ai references in non-identity surfaces; it touches no identity surface.

Merge strategy requested: merge commit (not squash, not rebase) so the upstream commits, fork parent, sync merge, and any future corrective commits remain in history.

Validation

  • Workstation control: clean detached candidate, both parents (867e53a26, b8142c7aa) confirmed ancestors, git diff --check clean, no conflict markers, scope = 51 files / 15 commits ahead of origin/main, fork identity centralized in packages/desktop/src/identity.ts untouched by incoming set.
  • VM (authoritative) gates, candidate 8aa9841eb4, bun 1.3.14, node v24.15.0:
    • dependencies (frozen bun install): PASS
    • audit: PASS
    • static checks: PASS
    • focused tests: PASS
    • workspace typecheck: PASS
    • canonical lint (oxlint): PASS
    • broad package tests (incl. provider reasoning transform.test.ts/provider.test.ts, server/HTTP API, CLI/TUI on opentui 0.4.5): PASS
    • generated-client + production builds (app, console, web/docs, stats, storybook, desktop): PASS
  • Linux package gate (script/ci-linux.sh package): PASS — evidence basename linux-ci-20260718T201819Z-8aa9841eb4-package; all stage + log checksums verified.
  • Installed runtime (script/ci-linux-runtime.sh on the checksum-verified deb): PASS — evidence basename linux-runtime-installed-20260718T205900Z-8aa9841eb4. Renderer origin oc://renderer/index.html, window title OpenCode Classic, version 1.18.3, sidecar loopback 127.0.0.1, opencode-classic:// deep-link forwarding verified, console and pageErrors empty, Settings shows Classic identity, no residual processes, clean sidecar exit. Visual screenshot checksum verified; visual review found no clipping/overlap/blank/error.
  • Artifacts (basename sync-upstream-dev-8aa9841eb4, SHA256SUMS verified):
    • opencode-classic-desktop-linux-amd64.deb sha256 af4d1a72dea84e1388942c89e7e5fa577199fa315d98ff5b90c7ff1c5666eefb
    • opencode-classic-desktop-linux-x86_64.rpm sha256 62361d62f6970ffebb51604673e9de7f100dd32fb5364a22d0813c1d9838b9b8
    • latest-linux.yml sha256 728f7c9f7743bf2173064ce0e6baab2e13010201b812dc49b6c84f4515612773
    • bun.lock sha256 649ce5571a9f1f689f44b62894d847747eacfbd17b2c2a6ec341dae1e3ae89df
    • visual.png sha256 040a711e2af4936a1080af024663e481a95385962836e78d9395f416f558ffed
  • Expected warnings: electron-updater logs No published versions on GitHub because no Classic release has been published yet (startup, rendering, and all other runtime checks pass). Electron sandbox/GPU notices and the console-message deprecation are Xvfb/harness-only.
  • Untested/deferred: RPM installation is not exercised natively (Ubuntu-family QA VM only); RPM is metadata-inspected. macOS/Windows builds and Nix builds are out of scope for this Linux sync gate. opentui keymap emits non-fatal [unknown-token] "leader" skips in TUI tests (binding skipped, not a failure).

No tag, release, publication, direct main push, or write to the official upstream repository occurred. The 42 Dependabot advisories GitHub reports are pre-existing on main and not introduced by this sync.

Please review and merge this PR on GitHub using a merge commit.

@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8aa9841eb4

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread nix/desktop.nix
"$out/share/icons/hicolor/256x256/apps/ai.opencode.desktop.png"
install -Dm644 resources/icons/icon.png \
"$out/share/icons/hicolor/512x512/apps/ai.opencode.desktop.png"
install -Dm644 resources/ai.opencode.desktop.metainfo.xml \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fix the hard-coded desktop metainfo path

For Linux Nix desktop builds, bun run build runs packages/desktop/scripts/prebuild.ts, whose copy-metainfo.ts writes resources/${identity.appId}.metainfo.xml; in this fork with OPENCODE_CHANNEL=prod that file is resources/io.github.logiclyra.opencodeclassic.metainfo.xml, not resources/ai.opencode.desktop.metainfo.xml. This hard-coded upstream path makes the install phase fail with a missing file before the Nix desktop package can be produced.

Useful? React with 👍 / 👎.

@LogicLyra
LogicLyra merged commit 7aca48e into main Jul 19, 2026
7 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants