LAC-2496: Upstream sync 2026-06-30 (catch-up + 68 commits)#32
LAC-2496: Upstream sync 2026-06-30 (catch-up + 68 commits)#32lacymorrow wants to merge 703 commits into
Conversation
Co-authored-by: Test <test@opencode.test>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Test <test@opencode.test>
Co-authored-by: Test <test@opencode.test>
Co-authored-by: starptech <starptech@starptechs-MBP.fritz.box>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local>
Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
…#34420) Co-authored-by: Brendan Allan <git@brendonovich.dev>
Resolves LAC-2496. Continues the upstream-sync work from LAC-2416 / sync/upstream-catchup-2026-06-26 by merging the remaining ~68 upstream commits up to upstream/dev tip 8289883 (chore: generate). Conflict resolution: - packages/tui/src/app.tsx: combined upstream's new PermissionProvider (added around ProjectProvider) with the lash ExecutionModeProvider + WorkingDirProvider wrappers that surround <App />. Provider tree is now: PermissionProvider > ProjectProvider > ... > LocationProvider > ExecutionModeProvider > WorkingDirProvider > App. Other complex files in the parent task's escalation list (prompt.ts, core layer-node refactor, tool registry changes, test migrations, console i18n, etc.) all auto-merged cleanly. Lash patches preserved: - agent_cycle = shift+tab keybind (packages/tui/src/config/keybind.ts) - getCwd() / @shell-mode imports in prompt.ts + tool/shell.ts - useKittyKeyboard config in app.tsx - lash branding / CLI structure
There was a problem hiding this comment.
Code Review
This pull request introduces a major architectural refactoring of the application's client contract, routing, and state synchronization to support a multi-server and multi-workspace model. Key changes include transitioning to reactive, directory-scoped, and tab-scoped state management for prompt inputs, file views, comments, permissions, and notifications. It also introduces a new desktop-optimized directory and file picker powered by @pierre/trees, refactors the titlebar to support drag-and-drop tab reordering via @dnd-kit/solid, and adds a comprehensive manual performance benchmarking suite with Playwright and Chrome tracing. Additionally, several regression tests have been added to cover tab closing, line comments, request docks, todo docks, and hidden terminals. I have no feedback to provide as there are no review comments to assess.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
…pstream commits already in this branch; take our tree) * origin/dev: sync: merge upstream/dev catch-up (629 commits) (#31)
Summary
Resolves LAC-2496 — manual escalation of the LAC-2416 weekly auto-sync.
sync/upstream-catchup-2026-06-26(PR sync: merge upstream/dev catch-up (629 commits) #31 vehicle) by merging the remaining 68 commits up toupstream/devtip8289883de8(chore: generate).2602afff35.Conflict resolution
Only one true conflict materialized — everything else (including the files flagged for escalation in the parent task spec) auto-merged cleanly.
packages/tui/src/app.tsx— combined upstream's newPermissionProvider(added aroundProjectProvider) with the lashExecutionModeProvider+WorkingDirProviderwrappers that surround<App />. Final provider order:Files the parent task pre-flagged as complex (
packages/opencode/src/session/prompt.ts, the core layer-node refactor, the tool registry changes, the ~60+ migrated tests, the console i18n bundle) all auto-merged with no human intervention required.Lash invariants verified
agent_cycle = shift+tabkeybind preserved (packages/tui/src/config/keybind.ts:129).getCwd()/@shell-modeimports preserved inpackages/opencode/src/session/prompt.tsandpackages/opencode/src/tool/shell.ts.useKittyKeyboard: {}preserved inpackages/tui/src/app.tsx.Test plan
git diff --name-only --diff-filter=Uis empty (no remaining conflict markers).bun turbo typecheck— 29/29 tasks succeeded (~11m cold, ~3m warm).Notes on the "67 commits" estimate
Parent task estimated the surface as 67 commits / 143 conflicting files. Actual: ~700 commits since origin/dev tip (because the LAC-2416 sync branch advanced PR #31's base without origin/dev catching up), but only one UU conflict after the merge because the sync branch was already current with most of upstream's structural refactors. The escalation was still the right call — auto-resolve heuristics couldn't have known the prompt.ts hunks would land cleanly without a hand check.
Parent: LAC-2416.