Build x64 sidecars with Bun baseline targets so Control Chrome and server sidecars run on CPUs without AVX. Sanitize inherited Bun/Node DNS result-order flags and set a safe Bun DNS order before spawning OpenCode and sidecar processes to prevent startup exits.
- Allow to download OpenCode from OPENCODE_GITHUB_REPO (defaults to anomalyco/opencode).\n- Fix PreRelease/Release builds when OPENCODE_VERSION points at a fork tag.
- Allow OpenWork workflows to pull the OpenCode CLI sidecar from a configurable GitHub repo + version (OPENCODE_GITHUB_REPO/OPENCODE_VERSION).\n- Make Settings > Debug show OpenCode binary source + version (e.g. bundled · 1.1.60-openwork.1).
Sandboxed openwrk instances now bind-mount the host's global opencode config directory into /persist/.config/opencode (read-only) so provider configuration matches the host.
* fix(session): hide reverted messages immediately
Apply session.revert.messageID as a UI visibility boundary and update local session state from revert/unrevert responses so undo/redo takes effect without waiting for SSE.
* fix(session): abort before undo/redo
Attempt session.abort before revert/unrevert to avoid 'Session is busy' errors when local status is stale.
Root cause: On macOS, GUI applications don't inherit shell profile modifications (.zshrc, .bashrc). When OpenWork spawns the opencode engine, the PATH doesn't include paths like
/opt/homebrew/bin where Homebrew-installed tools like npx reside.
The fix (packages/desktop/src-tauri/src/paths.rs): Added a common_tool_paths() function that returns typical locations where user-installed tools are found:
- macOS: /opt/homebrew/bin, /usr/local/bin, ~/.nvm/current/bin, ~/.volta/bin, ~/.bun/bin, ~/.cargo/bin, etc.
- Linux: Similar paths adapted for Linux conventions
- Windows: volta, pnpm, cargo, npm global paths
These paths are now prepended to the PATH environment variable when spawning processes.
To test the fix: Build and run the app, then try enabling your Playwright MCP server - it should now find npx correctly without needing to specify the full path.
- Replace loadSessions/refreshSidebarWorkspaceSessions with local store
removal in deleteSessionById to prevent reconcile() from wiping
unrelated sessions
- Remove loadSessionsWithReady calls from sendPrompt to eliminate the
same race condition on message send
- Inject new sessions directly into store and sidebar in
createSessionAndOpen instead of relying on server round-trip
- Make applySessionAgent auto-create a session when none is selected
- Add shell:true to bun spawns in prepare-sidecar.mjs for Windows
Co-authored-by: = <=>