Skip to content

feat(desktop): ship proof-first dashboard redesign#9737

Draft
byanunay wants to merge 29 commits into
BasedHardware:mainfrom
byanunay:design/dashboard-glass
Draft

feat(desktop): ship proof-first dashboard redesign#9737
byanunay wants to merge 29 commits into
BasedHardware:mainfrom
byanunay:design/dashboard-glass

Conversation

@byanunay

@byanunay byanunay commented Jul 14, 2026

Copy link
Copy Markdown

What changed and why

Replaces the overwhelming desktop Home with a proof-first dashboard that exposes one grounded hero, real Up next and conversation content, and paged Home / Connect data / Features destinations. Connect data reuses the canonical Apps import surface, all hero actions hand off to the shared floating-bar timeline, and the visual/content direction is preserved in the finalized HTML design reference.

Product invariants affected

  • INV-CHAT-1 — Home hero actions enter the floating bar's existing shared timeline; no second composer or connector flow is introduced. This is the current registry name for the continuity invariant previously referred to as INV-6 in desktop notes.
  • INV-AUTH-1 — OmiApp.swift changes only the main window style from the native title-bar container to Omi's hidden-title-bar chrome; auth/session behavior is unchanged.
  • INV-UI-1 — the dashboard keeps Omi's locked neutral palette and shared OmiColors / OmiType tokens while adding Geist, Lucide assets, accessible glass fallbacks, and reduced-motion-aware interaction states.

How it was verified

  • xcrun swift test — 2,472 tests passed with 0 failures.
  • Focused dashboard/theme suite — 26 tests passed with 0 failures.
  • ./scripts/agent-logic-harness.sh --swift-only — passed the lifecycle/state suite, including PTT state, voice-turn ownership, and chat-continuity coverage.
  • scripts/omi-harness run e2e/flows/home-stage.yaml --lane bridge — 8/8 steps passed with no coordinate clicks; verified Home / Connect data / Features paging, cascade state, both background styles, and return Home.
  • Built and launched /Applications/omi-dashboard-proof.app, then walked the signed-in user path. Verified the recent-conversation hero, Up next, recent conversations, canonical Apps imports, Features controls, transparent glass, and flush custom chrome. The Home hero CTA opened the floating bar's existing expanded chat timeline.
  • scripts/omi-harness run e2e/flows/ptt-lifecycle.yaml --lane bridge — 5/5 steps passed; recording/release completed with no stale events or invalid transitions.
  • The first live continuity-gauntlet run was invalidated by an already-running hero CTA query overlapping its typed marker. The required isolated rerun remains pending before merge.

Tests

  • desktop/macos/Desktop/Tests/ProofFirstDashboardTests.swift covers page order, automation actions, cascade/source policy, and prompt gating.
  • desktop/macos/Desktop/Tests/ProofFirstDashboardTests.swift also covers the proof-first/legacy prompt-policy boundary.
  • desktop/macos/Desktop/Tests/DashboardCaptureStateTests.swift covers capture and connector state behavior.
  • desktop/macos/Desktop/Tests/OmiTransparencyTests.swift, OmiTypeTests.swift, and OmiIconTests.swift cover reduced-transparency fallback and the shared type/icon primitives.
  • desktop/macos/e2e/flows/home-stage.yaml covers the real three-page dashboard path and setting changes through the automation bridge.

Root cause and durable guard (bug fixes)

  • SwiftUI Material inside an opaque window could not blend with the desktop. The dashboard now uses the proven behind-window NSVisualEffectView pattern with a non-opaque clear window and a deterministic reduced-transparency fallback.
  • The native .titleBar window style left a separately composited AppKit strip above Omi's custom chrome. .hiddenTitleBar removes the duplicate layer, and both chrome and canvas use the same 0.24 overlay.
  • Embedding Apps in horizontal paging initially allowed its toolbar to collide with dashboard chrome and its content to draw outside its page during motion. The canonical Apps entry is inset below the persistent dashboard controls and clipped to its page boundary.
  • Dashboard policies and bridge snapshots are covered by focused unit tests and the signed-in home-stage flow so future UI changes are checked through the actual user path, not compile-only verification.

Scoped cleanups (optional)

  • Renamed the ⌘O setting to “Ask Omi shortcut” without changing the shortcut.
  • Replaced the fake Reduce Transparency control with the existing functional Transparent / Solid Dark preference.
  • Restricted the old post-onboarding prompt banner to legacy Home.
  • Documented legacy Home's sunset policy and the single canonical Apps connector surface.
  • Restored recent conversations on Home and refreshed stale dashboard e2e coverage.
  • Added the finalized HTML/CSS/JS mock under desktop/macos/docs/dashboard-design-reference/ as documentation-only source material.

Review in cubic

Anunay Chauhan added 29 commits July 14, 2026 13:45
@Git-on-my-level
Git-on-my-level marked this pull request as draft July 14, 2026 19:10
@Git-on-my-level

Copy link
Copy Markdown
Collaborator

Thanks @byanunay — this is an ambitious, well-structured redesign. The proof-first hero cascade, accessibility-aware transparency fallback, proper font/icon licensing (Geist OFL, Lucide ISC/MIT), and the accompanying test + e2e coverage show strong craft.

A few observations for the human maintainers who'll own the product call:

Product direction (needs human judgment): This replaces the entire desktop Home with a new three-page dashboard (Home / Connect data / Features) plus a new "proof-first" design toggle alongside the existing legacy toggle. That's a major user-facing surface change — the decision of whether and when to ship this direction belongs to the product maintainers, not automation. The day-zero → recommendation → recent-activity cascade is a sensible approach for surfacing value early, but the maintainers should validate the information hierarchy and the dual-toggle rollout plan.

Pending verification flagged by the contributor: The PR description notes the continuity-gauntlet rerun is still pending after the first run was invalidated. Maintainers should track that before merge.

Checks: The desktop-specific checks (Swift Release Compile, Swift Build & Tests, desktop-core-e2e-t0, contracts) all pass. The Formatting / Hygiene / Detect Changes checks show skipped/cancelled states — worth confirming that's expected for a desktop-only draft before it leaves draft.

Scope: The change is large but cohesive around a single product surface (desktop dashboard). I'm not asking for a split.

Since this is a draft and a product-direction decision, I'm leaving it for human maintainer review rather than taking a formal position. No approval from automation.


by AI on behalf of David — if you need David’s attention urgently, please @Git-on-my-level and escalate with need human response.

@Git-on-my-level Git-on-my-level added feature-fit-review Needs review of product/feature direction with Omi mission/vision needs-maintainer-review Needs human maintainer review before merge labels Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature-fit-review Needs review of product/feature direction with Omi mission/vision needs-maintainer-review Needs human maintainer review before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants