v0.8.0
Highlights
π§ Onboarding, redesigned (#64)
- Magic-first first-run (β€2 min): mic + in-app playground with built-in on-device speech (zero download), accessibility step that shows the payoff before asking β and keeps working if you decline (popup fallback), then a guided real-world dictation task. Skippable at every screen; skipping jumps straight to engine setup.
- Guided engine setup: two-layer detection (reuses running/installed engines, never re-installs), platform-optimal defaults (Apple Silicon β oMLX, Linux β Ollama), hardware-aware model recommendations, and a pre-execution review card β every default editable (models, base URL, key), disk-checked, with automatic downgrade suggestions and one progress bar from install to ready.
- 7 cloud presets: OpenAI, OpenRouter, Anthropic, Google, Fireworks, Cerebras, and Custom (LAN/self-hosted OpenAI-compatible endpoints, key optional). Partial applies no longer touch roles you didn't configure β local dictation + cloud commands mix freely.
- Menu bar as the long-term carrier: live health panel (mic / dictation / AI / speech rows, click-through to fix), once-ever unlock notifications ("capability + a sentence you can say"), download progress in the tray.
- First-run timeline in Stats over a local-only funnel (data never leaves the device).
π Notebook unification (#63)
- The workflow Notebook widget and notebooks are now one thing: pick an existing notebook to co-write or type a new name β it's created on save.
- Notes is a document-flow reading view: borderless paragraphs, oldest-first, hover/keyboard-revealed actions, day headers.
- Notebooks can be deleted (entries return to History); deleting a meeting now cleans up its transcript segments.
π§ Under the hood
- Fixed a tray-refresh deadlock, an event-tap that stayed dead after granting Accessibility, and detection false positives on shared ports.
- Real TypeScript gate for the frontend (the previous check ran on zero files) + latent test fixes.
Auto-update: users on β₯0.6.0 get this in-app (macOS + Linux AppImage).