- Add MCP Server modal (remote URL or local command) with validation
- Remove confirmation dialog before deleting MCP servers
- Default remote servers to oauth: true so OAuth flows auto-trigger
- Update placeholders to GitHub Copilot MCP and sequential-thinking
- Fix Docker dev stack bun --compile EXDEV error (cross-device rename)
- i18n support for en and zh locales
* fix(headless): align openwrk compile path with OpenTUI Solid
Use the upstream @opentui/solid build plugin and preload/tsconfig wiring so compiled openwrk binaries keep TUI runtime compatibility instead of emitting broken React runtime behavior.
* ci: run openwrk checks on feature branch pushes
Trigger CI for fix/openwrk-react-shim and add an openwrk binary build job so bundling regressions are caught before merging to dev.
* ci: relax binary validation to runtime smoke
Use openwrk --version/--help checks instead of grepping embedded strings so the branch CI validates bundling without false failures from defensive error text.
* fix(desktop): build openwrk sidecar via headless build script
Route desktop sidecar preparation through packages/headless/script/build.ts so OpenTUI plugin settings are applied consistently and Linux CI no longer compiles openwrk with incompatible JSX defaults.
* fix(headless): disable compiled-binary TUI by default
Avoid the runtime 'React is not defined' crash in compiled openwrk builds by auto-disabling TUI in bunfs binaries and falling back to plain output.
* fix(headless): keep TUI default and harden non-TUI fallback
Default start to TUI on tty, keep serve/non-tty as plain mode, and add a bundled Solid transform path for compiled binaries while handling TUI startup failures with a plain-output fallback.
* fix(headless): warn instead of crash on opencode version mismatch for external binaries
When the desktop app spawns openwrk with --opencode-bin pointing to a
bundled binary, openwrk resolves the expected version from the latest
GitHub release. If the bundled binary is even slightly behind, the
strict assertVersionMatch throws and the daemon exits immediately,
leaving users unable to start sessions.
Downgrade the check to a warning for external (explicitly provided)
binaries so the daemon can proceed. The desktop app already validates
the binary via engine_doctor before passing it.
Fixes#121, related to #97, #98
* fix(app): stop StatusBar from overlapping sidebar and remove duplicate Settings buttons
The StatusBar used a fixed position overlay that covered sidebar Settings
buttons. Move it into document flow inside <main> so it no longer overlaps.
Remove the redundant Settings buttons from both sidebars — the StatusBar
gear icon already provides access to Settings.