Skip to content

chore(sync): upstream sync 2026-08-04 — 242 commits, 4 conflicts resolved - #371

Open
github-actions[bot] wants to merge 243 commits into
devfrom
sync/upstream
Open

chore(sync): upstream sync 2026-08-04 — 242 commits, 4 conflicts resolved#371
github-actions[bot] wants to merge 243 commits into
devfrom
sync/upstream

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown

Upstream sync 2026-08-04

Rebuilt fresh from current dev (09b9ffe776, includes #372 token-auth and #380 Mantle) and merged upstream/dev @ f0afb6750e.

242 upstream commits · 591 files · +83,212 / −9,680

This supersedes the 2026-07-27 push. The branch was rebuilt from current dev the way sync-upstream.sh:100 does it, so it is not a descendant of the previous head — the update was a --force-with-lease replacing e230f997be.


Conflicts resolved (4) — semantic, not ours/theirs

All four were hand-merged to preserve both upstream intent and ANR customization. All four are now recorded in rerere and committed to .sync/rr-cache, so the next sync replays them untouched (store grew 14 → 20 entries).

packages/opencode/src/acp/event.ts
Upstream refactored the inline event loop into a consume() method with connection tracking (connected, connectionWaiters, disconnected()). This file carries ANRCODE_CHANGE {"issue":331,"branch":"anr/331/fix-silent-catch-handlers"}.

Taking "theirs" would have silently reverted issue #331 — upstream's consume() uses .catch(() => {}), the exact silent-swallow that ticket removed. Resolution keeps upstream's structure and restores ANR's console.debug("ignored", err) at both catch sites: the outer consume() call and the inner handle() catch that upstream also left silent.

packages/core/src/models-dev.ts
Upstream migrated the default source models.devmodels.opencode.ai. ANR adds OPENCODE_API_ENDPOINT cache-key handling. Resolution adopts upstream's new default and preserves the ANR endpoint branch, updating its inner comparison to the new URL so the models.json fast path still works.

packages/app/package.json
ANR commit 1d81dd45b1 (release gate) had dropped --conditions=solid --only-failures from test:unit. Dropping --only-failures is deliberate and correct — it would undermine the full-suite validation gate this pipeline depends on. But --conditions=solid is required for solid-js resolution (test:unit:watch still carries it), so losing it looks like collateral. Resolution restores --conditions=solid, leaves --only-failures out.

This file was one of the three # UNRESOLVED (2026-07-05) entries in conflict-rules.conf; it is now genuinely resolved and remembered. The other two (packages/core/test/git.test.ts, packages/tui/test/cli/cmd/tui/sync-fixture.tsx) did not conflict this run — those stale entries can be dropped.

bun.lock — resolved ours per conflict-rules.conf, then reconciled via bun install (succeeded, 623 packages).


ANR customization preserved

markers files
dev 107 63
this branch 107 63

Verified per-file, not just in aggregate — no file lost markers. Confirmed no conflict markers remain anywhere in the tree.


⚠️ Validation status — CI is the gate

The local bun turbo typecheck and bun turbo test gates did not complete against this merge. Two attempts were killed for environmental reasons (one process-terminated, one had its working tree swapped mid-run by an unrelated checkout). No local result should be read as a pass.

bun install did succeed and the lockfile reconciled cleanly. Everything else — the semantic-break and runtime-break gates sync-upstream.sh normally requires for safe_to_push — is unproven locally and rests on this PR's CI run.

⚠️ For @dontapackages/opencode/test-output.log

An accidentally-committed test artifact (added 2d5c1bd746, 2026-07-16 "Fixing tests"). Tracked on dev, absent upstream, not gitignored. It contains 7 lines like ===================================== that match the conflict-marker safety scan at sync-upstream.sh:177, which excludes only bun.lock and .sync/rr-cache.

Any batch without an escalation will match that scan, git merge --abort, and exit 4. This sync was run manually rather than through the script specifically to avoid it. Left in place per instruction — it needs either git rm --cached + gitignore, or an added scan exclusion, before the automated sync can run green.


🤖 Generated with Claude Code

arvsrn and others added 21 commits July 20, 2026 15:57
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Jay <53023+jayair@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Includes the physical-pixel rendering and native Ghostty sprite work from anomalyco/ghostty-web#3.
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: tobwen <1864057+tobwen@users.noreply.github.com>
@github-actions github-actions Bot added the needs-manual-review Automated upstream sync needs human resolution label Jul 21, 2026
opencode-agent Bot and others added 26 commits August 4, 2026 09:50
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
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: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
…yco#40136)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts:
#	bun.lock
#	packages/app/package.json
#	packages/core/src/models-dev.ts
#	packages/opencode/src/acp/event.ts
@dstokes0523 dstokes0523 changed the title chore(sync): upstream sync 2026-07-27 — ready for review chore(sync): upstream sync 2026-08-04 — 242 commits, 4 conflicts resolved Aug 4, 2026
@dstokes0523 dstokes0523 removed the needs-manual-review Automated upstream sync needs human resolution label Aug 4, 2026
Both failures share a root cause: ANR defines `test` scripts for packages
upstream does not test, so upstream has no reason to keep those suites green
and any upstream change that invalidates them surfaces only in our CI.

packages/desktop — upstream added draft-store.ts and its test, which import
node:sqlite. Bun 1.3.14 has no such built-in, so the file errors at load.
Upstream defines no `test` script here, so it never runs this under Bun.
Exclude it via --path-ignore-patterns rather than patching upstream source.

packages/console/app — upstream changed googleHelper.normalizeUsage to report
outputTokens as candidatesTokenCount + thoughtsTokenCount but left
providerUsage.test.ts at the old candidates-only expectation. Update the two
expectations to match upstream's intended semantics.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-sync Automated upstream sync, validation passed — ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.