Custom cursor
0.8.2· 22 changes

Release 0.8.2

9 new features, 8 changes, 5 bug fixes

Added

  • The floating bar has a React Orb appearance, built on ogl, with per-state hue, intensity, and audio reactivity (#570)
  • The three.js orb, now named ElevenLabs Orb, carries matched colors and motion for every bar state (#570)
  • Settings can show or hide the menu bar tray icon and the glowing bar border (#570)
  • Dictation can stream provisional text while you speak, behind an advanced setting. The audio thread keeps a ten second sliding window and emits cumulative partials about every 600ms, drawn dimmed until the final decode replaces them. Partials are display only and never typed.
  • A Models settings pane holds the dictation model and the assistant model in one place: Fast, Balanced, and Most accurate tier cards over Whisper tiny.en, large-v3-turbo, and large-v3, with inline download state and an arm64-gated on-device Parakeet option
  • Whisper large-v3 joins the model catalog
  • Settings > Models is one dictation-model list with a single action per row: Download, progress with cancel, Use, Active. The full catalog sits under Advanced, trash appears only on downloaded inactive models, and the bundled tiny.en is never deletable. Onboarding offers the download. (#578)
  • Dictation can insert text without touching your clipboard, through unicode events posted to the focused process, with paste and per-character fallbacks. Copy to clipboard is now its own toggle. (#571)
  • Claude Opus 5.5 joins the model catalog. Anthropic serves its computer use only through a newer tool format that Juno does not send yet, so for now it answers questions but cannot drive the desktop, and the model list says exactly that rather than calling it a chat model.

Changed

  • The orb's perlin-noise texture is vendored into the bundle, so the orb renders offline (#570)
  • A thin white separation halo replaces the black depth halo behind the bar, sized to stay inside the bar window (#570)
  • Your speech to text provider persists to the central store and is honored at startup
  • Each model carries one capability table, verified against the provider docs, replacing four hand-maintained model-ID lists and a supports_computer_use flag that was true for every model in the catalog and put a Computer Use badge on every row. (#580)
  • The frontend moves to React 19, TypeScript 7, and Vite 8. No version bump and no tag: the release is held for one production build and a full QA pass. (#574)
  • The Vite dev server stops watching in-repo agent worktrees, so another agent editing files there no longer spams a QA session with reloads. (#575)
  • The assistant defaults to Claude Fable 5.1 again. The previous default, Claude Opus 5, is one of Anthropic's legacy models, and the capability table could not tell "legacy" apart from "supports the newer computer-use toolset" because both lived in one field. They are separate now, every row was re-checked against Anthropic's docs, and the model list follows Anthropic's own split: Fable 5.1, Opus 5.5, Sonnet 5 and Haiku 4.5 are offered, and Fable 5, Opus 5, Opus 4.8 and the 4.x models sit behind Advanced.
  • OpenAI's computer-use-preview model is gone from the model list. OpenAI shut it down on 2026-07-23.

Fixed

  • The flame border stops biting inward when melt is zero, so the bar keeps a clean outline (#570)
  • The main window's voice state receives the transcript again. The voice plugin emits { text } and both listeners were reading the payload as a plain string.
  • The live transcription setting survives the voice plugin's controller swap. The plugin builds a fresh controller once its speech to text engine loads, and every constructor hardcoded the flag off. (#579)
  • The example prompts on an empty chat send instead of doing nothing, in the main window and in the bar's chat pane, and wait behind a loader while the backend connects. (#572, #576)
  • The empty chat state scrolls, so the development commands drawer is reachable inside the bar pane. (#577)