Replace the old markdown artifact sidebar with the Obsidian-style live preview editor panel and wire Artifacts clicks to open it. Remove the scratchpad placeholder editor.
* feat(session): add live-preview notes scratchpad
Add a Notes panel between chat and right nav with a CodeMirror-based markdown editor that hides heading and emphasis markers unless the cursor is on that line/segment.
* fix(notes): render live-preview decorations
Switch markdown live-preview styling to a StateField-backed decorations pipeline and use a zero-width widget for marker hiding. Update evidence screenshots to show headings/emphasis rendering.
* fix(app): streamline automation and setup onboarding
Shift automations and skills flows toward clearer non-technical onboarding and fix the template click path to open the creation modal instead of jumping sessions. Also remove default Control Chrome seeding to avoid shipping a brittle MCP default and add clearer Telegram BotFather guidance with direct bot-link follow-ups.
* fix(app): restore control-chrome defaults and startup update cadence
- 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): 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.
Add request timeouts, stop repeated sidebar retries, and surface a settings/back fallback during connecting so users can switch workspaces when a remote is unreachable.