Originally created by: Akarsh-Hegde
Summary
Implements dashboard full-screen app experience with dock icon visibility and enhanced setup access:
- Full-screen dashboard window — Opens maximized so the app appears in the dock and system taskbar
- Dynamic activation policy — Switches from Accessory (tray-only) to Regular (dock) when dashboard opens, protecting the popover from becoming a Cmd+Tab window
- New open_setup command — Exposes the setup wizard to the frontend for re-running setup from the dashboard
- Setup completion flow — "Open Meridian" button now opens the dashboard instead of just closing the wizard
- Go to Setup button in settings — Users can re-run onboarding anytime to reconfigure permissions, integrations, or check model status
Implementation
- tray/src-tauri/src/tray.rs: Dynamic activation policy + maximized window in
open_native_dashboard()
- tray/src-tauri/src/commands/system.rs: Same window config in
open_dashboard() command + new open_setup() command
- tray/src-tauri/src/lib.rs: Register
open_setup in invoke_handler
- ui/app/setup/page.tsx: Setup completion button now calls
open_dashboard before closing
- ui/components/views/SettingsView.tsx: New "Go to Setup" button + "Setup & Onboarding" section
Verification Notes
Native macOS behaviors (dock icon, activation policy, maximized window state) require either tauri dev or a packaged build to verify — they won't appear in browser/next dev. Recommend testing with:
cd tray && npm run tauri dev
The popover should remain non-activating (doesn't grab focus, no Cmd+Tab entry) when the tray popover is open.
Test Plan
- [ ] Run
tauri dev and verify dashboard opens maximized with dock icon
- [ ] Verify app stays in Accessory mode (no dock icon) when only tray popover is open
- [ ] Click "Open Meridian" on setup completion screen → dashboard opens and setup closes
- [ ] Navigate to dashboard Settings → click "Go to Setup" → setup wizard re-opens
- [ ] Verify setup wizard can be re-run without breaking state
🤖 Generated with Claude Code
Originally posted by: coderabbitai[bot]
✨ Finishing Touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feat/dashboard-fullscreen-dock`Comment
@coderabbitai helpto get the list of available commands.Originally posted by: Akarsh-Hegde
All 3 review findings addressed in commit 94a3217:
on_window_event(Destroyed)listener attached to the dashboard window in bothtray.rsandsystem.rs; reverts toAccessorywhen the window is closed so the dock icon disappears correctlysystem.rs::open_dashboardnow also reverts toAccessoryon build failure (was already done intray.rs, missing in the command path)#[tracing::instrument(skip(app))]added toopen_setupAll pre-push checks pass (fmt + clippy + cargo test + UI build). Good to merge.
Ticket changed by: Akarsh-Hegde