Run tauri dev with a separate bundle identifier and OPENWRK_DATA_DIR so dev and production can run side-by-side without clobbering app data or openwrk state.
* feat: proxy owpenbot via openwork-server
Unify client surface by routing owpenbot through /owpenbot/* (+ /w/:id/owpenbot/*), and move QR/token flows off interactive CLI calls. Sandbox mode keeps owpenbot internal (no extra published port) while preserving health + config via the edge.
* chore(desktop): refresh Cargo.lock
Update the Tauri crate lockfile so linux CI can run with --locked.
* fix(owpenbot): make token saves fast and resilient
Persist Telegram/Slack tokens even when owpenbot is offline, bound adapter restarts to avoid long hangs, and refresh UI status with apply warnings.
* chore: update Cargo.lock
Keep desktop Cargo.lock in sync with the crate version so CI cargo --locked passes.
* feat(server): expose all workspaces and support mounted baseUrl
* feat(ui): keep tasks visible across workspaces
* feat(desktop): default engine runtime to openwrk
* feat(owpenbot): route chats by directory bindings
Stop pinning OpenCode in package metadata and resolve the latest release during sidecar bundling/runtime, while still allowing OPENCODE_VERSION to pin for reproducible builds.
* feat(workspace): add Share modal in workspace menu
* feat(workspace): share workspace from session view
* feat(workspace): store OpenWork token per workspace
* feat(workspace): scope OpenWork sharing via /w/:id mounts
* fix(app): scope and defer reload prompts
Avoid reload-required spam by ignoring .opencode/openwork.json, scoping detection to the active workspace, and deferring prompts until sessions go idle. Add per-workspace auto-reload + optional resume so agent/skill/command updates apply without tearing down the UX.
* chore(desktop): sync Cargo.lock
Keep Cargo.lock consistent with the desktop crate version so CI can run cargo test --locked on Linux.
* fix(app): include full prompt text for mentions
* fix(app): send valid file parts for mentions
* chore(desktop): update Cargo.lock
* chore(desktop): regenerate Cargo.lock for linux
* chore(desktop): update Cargo.lock
* fix(desktop): isolate OPENCODE_BIN_PATH in doctor tests
Add a setting in Settings → Advanced → Appearance to hide the native
window titlebar. This is useful for tiling window managers on Linux
(Hyprland, i3, sway, etc.) where window controls are typically handled
via keybinds, making the titlebar redundant.
Implementation:
- Add HIDE_TITLEBAR_PREF_KEY constant for localStorage persistence
- Add Tauri command `set_window_decorations` to toggle decorations
- Add TypeScript binding for the new Tauri command
- Add UI toggle in Settings → Advanced → Appearance section
- Apply setting on change and restore from localStorage on startup
The setting is only shown in the desktop (Tauri) environment and
persists across sessions via localStorage.
Closes#441