Vibejack: sync upstream v1.3.13 -> v1.4.6#27
Merged
standardnguyen merged 474 commits intomainfrom Apr 17, 2026
Merged
Conversation
…ry hack (#21749) Co-authored-by: OpeOginni <brightoginni123@gmail.com>
Beta releases no longer trigger unnecessary Winget submissions, and release finalization now completes even when some build artifacts are missing.
Skip Windows and Linux code signing, along with artifact downloads for the beta branch to ensure beta builds don't go through production release processes.
Ensures users on the prod channel have their data persisted to the same database as latest and beta channels, preventing data fragmentation across different release channels.
Cherry-picked from ea463e604cdd2a3e83e1c286e39b789455f0d413
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
…pathspecs (#22560)
Fresh-branch rebase consolidating 9 patches onto v1.4.6 (469 upstream commits across 11 tags). Strategy mirrors the 2026-04-02 v1.3.13 sync: new dev branch from v1.4.6, ours-only files checked out from dev-backup-v1.3.13, overlapping files 3-way merged (25 clean) or reset to upstream and re-stripped (17 manual). New telemetry caught in v1.4.x: - packages/opencode/src/tool/mcp-exa.ts - new Exa Labs MCP client. Stubbed: call() returns undefined. - packages/opencode/src/server/ui/index.ts - new fallback proxy to app.opencode.ai for missing web UI assets. Returns 404 instead. - packages/opencode/src/session/retry.ts - GO_UPSELL_MESSAGE linked to https://opencode.ai/go. URL removed. - packages/opencode/src/provider/models.ts - models.dev remote fetch fully gutted (reverted to our prior strip). Script restructure: upstream moved models-snapshot generation from build.ts to a new generate.ts. Strip logic (require MODELS_DEV_API_JSON, drop opencode/opencode-go providers) reapplied there. ShareNext rewrite: upstream converted to Effect.Service. New stub layer implements Interface as no-ops. share-next.test.ts rewritten against the new API. Lost in upstream refactor (already gone since v1.3.13 sync): - OSC leak fix (prependInputHandler removed from opentui) - Permission integration tests (PermissionNext effectified) 30/30 verify-clean.sh PASS. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream renamed packages/opencode/src/server/instance.ts to packages/opencode/src/server/instance/index.ts and moved all server/routes/*.ts under server/instance/*.ts in v1.4.x. The old instance.ts was classified as "ours-only modified" during the fresh- branch rebase and checked back out from dev-backup-v1.3.13, producing a file with stale `./routes/*` imports that no longer exist. Local tests caught it after removal (1 import error down from 189 test failures) but the deletion never made it into c73030f. Dockerfile CI surfaced it as a build failure. The app.opencode.ai proxy strip that lived in the old file now lives in server/ui/index.ts (part of the same sync). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dev is a fresh-branch rebase from upstream v1.4.6 with consolidated patches; main contains the v1.3.13-era tree with 170+ patch/fix/merge commits from prior syncs. There is no sane 3-way merge across 859 changed files. This is a "merge -s ours": the resulting tree equals dev's, but the commit has main as a second parent so PR #27 becomes mergeable without discarding main's history pointer. Pre-sync main tree is preserved at main-backup-v1.3.13 on origin for reference. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream v1.4.x introduced an OpenTelemetry/OTLP observability layer (packages/opencode/src/effect/observability.ts) that reads OTEL_EXPORTER_OTLP_ENDPOINT from the environment. It is off unless the user sets that env var, but the @opentelemetry/* packages are installed regardless. The Vibejack strip policy is zero default phone-home AND zero telemetry SDKs in the dependency tree (check-deps.sh enforces the latter). Rather than allowlist @opentelemetry/* as "technically safe while unconfigured," strip the integration entirely so the dep-check stays strict: - delete packages/opencode/src/effect/observability.ts - replace `Observability.layer` with `EffectLogger.layer` in the three callers (run-service.ts, app-runtime.ts, bootstrap-runtime.ts) - remove OTEL_EXPORTER_OTLP_ENDPOINT/HEADERS flags from flag/flag.ts - remove @effect/opentelemetry from root package.json catalog - remove @effect/opentelemetry, @opentelemetry/exporter-trace-otlp-http, @opentelemetry/sdk-trace-base, @opentelemetry/sdk-trace-node from packages/opencode/package.json - regenerate bun.lock If upstream later inlines OpenTelemetry code without the package, the verify-clean.sh URL scan catches any hardcoded OTLP endpoints. If upstream re-adds the packages, check-deps.sh fails the build. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Missed two call sites in the initial strip commit: - packages/opencode/src/session/llm.ts - packages/opencode/src/agent/agent.ts Both imported `@effect/opentelemetry/Tracer` and conditionally resolved an OtelTracer service when cfg.experimental.openTelemetry was set. Replaced both with `const tracer = undefined`. The experimental config flag is now a no-op; leaving the schema entry so existing configs parse without error. Build + Binary Forensics, Unit Tests, and Docker Build CI checks all failed on the prior commit with "Could not resolve: @effect/opentelemetry/ Tracer". Local build and tests pass with this fix. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
standardnguyen
approved these changes
Apr 17, 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.
Fresh-branch rebase absorbing 469 upstream commits across 11 tags (v1.3.14 through v1.4.6).
New telemetry caught and stripped
packages/opencode/src/tool/mcp-exa.ts(new file) - Exa Labs MCP client phoning home to mcp.exa.ai. Stubbed:call()returns undefined. Callers in websearch.ts and codesearch.ts still compile but receive no results.packages/opencode/src/server/ui/index.ts(new file) - fallback proxy through app.opencode.ai for missing web UI assets. Replaced with 404.packages/opencode/src/session/retry.ts-GO_UPSELL_MESSAGElinked to https://opencode.ai/go. URL removed.packages/opencode/src/provider/models.ts- upstream reverted our models.dev strip as part of the Effect refactor. Re-stripped: url() empty, fetchApi() returns empty catalog.Major refactors absorbed
server/routes/*toserver/instance/*. Oldserver/instance.ts(where we had stripped the app.opencode.ai proxy) was renamed toserver/instance/index.ts; our stale copy removed; proxy strip now lives in server/ui/index.ts.Results
Deep telemetry scan
6a-6f all clean.
x-opencode-*headers only fire when providerID starts with opencode (zen gateway, stripped). No new analytics packages, no suspicious base64/eval, no build-pipeline injection.Pre-sync state preserved at
dev-backup-v1.3.13on origin.🤖 Generated with Claude Code