Originally created by: Akarsh-Hegde
Summary
Reworks the menu-bar popover to the Claude Design Meridian Tray layout, wired entirely to real daemon data — and fixes that the popover was never actually shown from the tray.
Popover redesign (tray/src/)
- Live block — ticking timer, app glyph, category chip, confidence "% match", and top window title, all from the active session.
- Time Tracker tiles — Focus / Coding / Review / Comms aggregated from today's sessions, with real "incl. N autonomous AI" time.
- Pause row — mapped to the real
toggle_daemon on/off control.
- Worklogs row — conditional on real
drafts_count → open_worklogs.
- Footer — Open Meridian / Permissions / Quit (new
quit_app command).
- Vanilla HTML/CSS/JS (offline webview — system font stacks, no CDN/React); follows
prefers-color-scheme.
Backend (tray/src-tauri/)
- Extend
StatusPayload/AppState with the active session's category/confidence/title and the per-category today breakdown.
- Enrich
refresh_active / refresh_today; widen the popover window to 384×590.
Fix: popover never appeared from the tray
show_menu_on_left_click(true) opened the native menu and nothing ever called .show() on the popover window. Left-click now toggles the popover (positioned under the icon); right-click keeps the menu.
Verification
cargo check + cargo clippy + cargo fmt clean; pre-commit & pre-push hooks passed.
- Rendered light / dark / paused / offline states via mock data; confirmed the live
active_session carries real category/confidence.
- Built and ran the signed
.app; popover opens on tray left-click with live data.
🤖 Generated with Claude Code
Ticket changed by: Akarsh-Hegde