Repository navigation
merge: upstream weekly syncs 2026-09-14 (v1.18.30) + 09-21 (v1.18.31) + 09-28 (v1.18.33) + 10-05 (v1.18.34) - #46
lacymorrow wants to merge 161 commits into
Conversation
Co-authored-by: yeqisong <yeqisong@authing.com>
Co-authored-by: Frank <frank@anoma.ly>
Co-authored-by: Aljosha Friemann <1730315+afriemann@users.noreply.github.com>
…#48225) Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
- Merge upstream/dev (v1.18.30, 29 commits) into lash - Keep lash package versions (1.7.x) across all packages - Preserve shell-mode features: getCwd, setCwd, cwd sentinel, ExecutionModeProvider, EventCwdUpdated - Regenerate bun.lock after merge - agent_cycle=shift+tab invariant preserved Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Cross-compiled darwin binaries ship with an invalid Bun signature, which breaks codesign verification and publisher-based allowlists. Sign them on macOS with the Developer ID certificate and hardened runtime, matching V2, then repack the release zips and publish the signed binaries to npm and Homebrew. Refs anomalyco#46313
…omalyco#52183) Co-authored-by: Ryan Wyler <ryan.wyler@gmail.com>
…52415) Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Merges 38 upstream commits (70a2469..03e6717) from anomalyco/opencode dev into the lash branch. Conflicts (19, all standard): - 18 package.json version-line hunks resolved in place, keeping lash versions (1.7.14; console/* stay 1.7.13). No `checkout --ours`, so no pin-drop. - bun.lock regenerated from the upstream base per UPSTREAM_SYNC.md section 13. Float check clean: the only delta vs upstream's lockfile is our 19 internal workspace version lines. Zero third-party drift. Upstream dependency changes verified present (LAC-3413 gotcha check, diffing merge-base -> upstream/dev per conflicted file): - packages/core: gitlab-ai-provider 6.15.0 -> 6.18.0, open 11.0.4 added - packages/opencode: gitlab-ai-provider 6.15.0 -> 6.18.0, open 10.1.2 removed Invariants verified: agent_cycle=shift+tab, EventCwdUpdated, getCwd(ctx.directory), setCwd + cwd sentinel, detectNaturalLanguage, prompt.mode.toggle. Upstream touched none of the flagged complex files (prompt.ts, app.tsx, prompt/index.tsx, types.gen.ts, keybind.ts, bash.ts) this window, so no escalation.
|
Correction:
|
39 upstream commits (03e6717..907b3bc), mostly stats/console/docs plus macOS code-signing and session-identity-header fixes. Conflicts, all standard: - 18 package.json version lines: resolved in place keeping lash 1.7.14 (console/* 1.7.13). No `checkout --ours`, so no dropped upstream dep pins (LAC-3413 gotcha). Verified upstream's S3-lake retirement landed: athena export + @aws-sdk/client-athena/firehose removed, stats/server renamed to src/stat-sync.ts. - bun.lock: regenerated from the upstream base. Float check clean — only our 19 internal workspace version lines differ from upstream's lockfile, zero third-party drift. - packages/opencode/test/cli/run/run-process.test.ts: both sides were fixing the same wall-clock flake in the anomalyco#27371 regression test. Took upstream's `cliIt.live` (serializes the test, removing the competing-spawn pressure at the root) over lash's comment-only budget widening, and kept lash's observed >15s cold-start note from LAC-2386 as a warning against tightening the 30s budget. Complex files (prompt.ts, app.tsx, prompt/index.tsx, types.gen.ts, keybind.ts, bash.ts) untouched by upstream this window — no escalation. Invariants verified: agent_cycle=shift+tab, EventCwdUpdated in SDK types, getCwd(ctx.directory) + setCwd + cwd sentinel + detectNaturalLanguage in prompt.ts, prompt.mode.toggle on ctrl+space.
Summary
Weekly upstream syncs from anomalyco/opencode
devintolash. This PR now carries four weeks:e43330c27e).1c2471149e) — 47 commits (228e9095ba..70a24697ea). Also mergedorigin/lash(v1.7.14 release + install fix16e3ca300b) to keep the branch current.44308f12c8) — 38 commits (70a24697ea..03e67171ab).cf62c6b690) — 39 commits (03e67171ab..907b3bc518), mostly stats/console/docs plus macOS code-signing and namespaced session-identity headers.Conflict resolution (2026-09-21)
package.jsonversion-line conflicts resolved in-place keeping lash1.7.14(nocheckout --ours, per the pin-drop gotcha).@ai-sdk/togetherai2.0.41 → 2.0.68 bump auto-merged outside the hunks; verified present after resolution.bun.lockrestored from upstream base thenbun install; float check clean (delta is internal versions only).Conflict resolution (2026-09-28)
package.jsonversion-line hunks resolved in place keeping lash versions (1.7.14;console/*stay1.7.13). Nocheckout --ours, so no pin-drop.bun.lockrestored from the upstream base thenbun install(neverbun installover conflict markers —UPSTREAM_SYNC.md§13). Float check clean: the only delta vs upstream's lockfile is our 19 internal workspace version lines. Zero third-party drift.upstream/devper conflicted file, since files reverted to ours vanish fromgit diff --cached):packages/core:gitlab-ai-provider6.15.0 → 6.18.0,open11.0.4 addedpackages/opencode:gitlab-ai-provider6.15.0 → 6.18.0,open10.1.2 removedConflict resolution (2026-10-05)
package.jsonversion-line hunks resolved in place keeping lash versions (1.7.14;console/*stay1.7.13). Nocheckout --ours, so no pin-drop.upstream/dev, since files reverted to ours vanish fromgit diff --cached). This window upstream removed things as part of retiring the S3 data lake, and the removals landed:./athenaexport and@aws-sdk/client-athenagone frompackages/stats/core,@aws-sdk/client-firehosegone, andpackages/stats/servermain/exports/start renamed tosrc/stat-sync.ts.bun.lockrestored from the upstream base thenbun install. Float check clean: the only delta vs upstream's lockfile is our 19 internal workspace version lines. Zero third-party drift.packages/opencode/test/cli/run/run-process.test.ts— a new conflict class worth reading. Both sides were independently fixing the same flake: the#27371regression test assertsdurationMs < 30_000, which gets noisy on loaded CI runners. Lash (LAC-2386) had widened the explanatory comment and keptcliIt.concurrent. Upstream switched the test tocliIt.live, which runs it serially so competing subprocess spawns stop charging against its wall clock — that fixes the cause rather than padding the budget, so I took upstream's version. I kept lash's observed>15scold-start figure as a note against anyone later tightening the 30s number, since that datapoint still holds on 2-core runners. Verified by running the file: 13/13 pass.Invariants (verified)
agent_cycle: shift+tab(packages/tui/src/config/keybind.ts:130)EventCwdUpdatedpresent intypes.gen.tsgetCwd(ctx.directory)(4 call sites),setCwd+ cwd sentinel,detectNaturalLanguageinsession/prompt.tsprompt.mode.togglebinding inpackages/tui/src/component/prompt/index.tsxTesting
bun turbo typecheck: 30/30 tasks green (re-run after the 2026-10-05 merge).bun test test/cli/run/run-process.test.ts: 13 pass / 0 fail — covers the hand-resolvedcliIt.liveconflict.CI
All 8 checks were green on
a4806697de(the 2026-09-28 head), includinge2e (windows)(21m57s). CI for the 2026-10-05 merge is running on0375bcaf8c.Two upstream
packages/appPlaywright specs (open-file-expand-folder"trailing Windows separator",file-browser-sidebar-tab-switch"when switching file tabs") failed the Windows job on this branch's 2026-09-14 and 2026-09-21 runs and pass now. Upstream changed nothing inpackages/app/srcor either spec in the merged window (only version-sync commits), so the code under test is unchanged and these are flaky on Windows, not broken. Tracked as LAC-4138 so the flake gets fixed rather than re-diagnosed every sync. It is not a reason to hold this PR.Not yet verified (why this is not self-merged)
Everything checkable without a terminal is checked: CI 8/8,
typecheck30/30, and the lash invariants verified in source, including the double-left-border row layout that regressed once before (LAC-163) — outerborder={["left"]}with the╹connector, thenflexDirection="row"wrapping awidth={1} alignSelf="stretch"inner bar, atpackages/tui/src/component/prompt/index.tsx:1442-1455.What is not verified is the interactive half of the
UPSTREAM_SYNC.mdpost-merge QA checklist: rendered border colors and equal bar heights, Tab vs Shift+Tab routing under real keypresses, execution-mode colors, and shell-modecdupdating the footer cwd. Those need a real terminal driving the OpenTUI app and cannot be done headlessly. That pass is tracked in LAC-3268 (todo, unassigned). One known open defect already sits in that area: LAC-3732,cdnot updating the footer cwd, which predates this sync.lashis the branch your daily shell runs from and this PR carries 161 commits, so I am leaving the merge to you rather than self-merging a four-week backlog that the mandated visual pass has not covered. Nothing technical is blocking it.Paperclip: LAC-3879, LAC-3962, LAC-4045, LAC-4139. Process:
UPSTREAM_SYNC.md.🤖 Generated with Claude Code