Menu

#337 feat(ui): dashboard full-screen with dock integration + go-to-setup button

closed
nobody
None
2026-06-25
2026-06-25
Anonymous
No

Originally created by: Akarsh-Hegde

Summary

Implements dashboard full-screen app experience with dock icon visibility and enhanced setup access:

  1. Full-screen dashboard window — Opens maximized so the app appears in the dock and system taskbar
  2. Dynamic activation policy — Switches from Accessory (tray-only) to Regular (dock) when dashboard opens, protecting the popover from becoming a Cmd+Tab window
  3. New open_setup command — Exposes the setup wizard to the frontend for re-running setup from the dashboard
  4. Setup completion flow — "Open Meridian" button now opens the dashboard instead of just closing the wizard
  5. 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

Related

Tickets: #347

Discussion

  • Anonymous

    Anonymous - 2026-06-25

    Originally posted by: coderabbitai[bot]

    [!IMPORTANT]

    Review skipped

    Auto reviews are disabled on base/target branches other than the default branch.

    Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.


    ⚙️ Run configuration

    Configuration used: Organization UI

    Review profile: ASSERTIVE

    Plan: Pro Plus

    Run ID: da8f3535-3bec-4b4f-aa10-f441faf729f4

    You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

    Use the checkbox below for a quick retry:
    - [ ] 🔍 Trigger review

    ✨ Finishing Touches
    🧪 Generate unit tests (beta) - [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feat/dashboard-fullscreen-dock`

    Comment @coderabbitai help to get the list of available commands.

     
  • Anonymous

    Anonymous - 2026-06-25

    Originally posted by: Akarsh-Hegde

    All 3 review findings addressed in commit 94a3217:

    • Bug 1 fixedon_window_event(Destroyed) listener attached to the dashboard window in both tray.rs and system.rs; reverts to Accessory when the window is closed so the dock icon disappears correctly
    • Bug 2 fixedsystem.rs::open_dashboard now also reverts to Accessory on build failure (was already done in tray.rs, missing in the command path)
    • Convention fixed#[tracing::instrument(skip(app))] added to open_setup

    All pre-push checks pass (fmt + clippy + cargo test + UI build). Good to merge.

     
  • Anonymous

    Anonymous - 2026-06-25

    Ticket changed by: Akarsh-Hegde

    • status: open --> closed
     

Log in to post a comment.