Skip to content

v0.13.0

Choose a tag to compare

@comfuture comfuture released this 04 Aug 05:27

New voice-first landing experience

Codori can now start a realtime voice companion directly from the landing screen without first opening a project or a normal chat workspace.

  • Starts a persistent projectless Codex thread configured for the Luna voice model and xhigh reasoning.
  • Keeps the paired transcript out of the landing view while the companion is active.
  • Uses the existing shared realtime session, voice/prompt preferences, server avatar, and single-session ownership.

Fullscreen voice presentation

Landing voice runs in a complete browser-viewport presentation with the avatar centered above a CSS-only animated color field.

  • Four color layers slowly change position, hue, saturation, scale, and rotation.
  • Desktop pointer movement drives a diffuse highlight and damped parallax across the gradient layers.
  • A visible Exit control and the Escape key stop the session and leave fullscreen voice mode.
  • Reduced-motion preferences disable the ambient background animation.

More expressive companion avatar

The shared avatar used by fullscreen and in-thread voice now reacts to Codex activity.

  • Turn start: waving.
  • Tool start: running.
  • Tool or turn failure: failed/sad, with failure cues taking priority.
  • Successful turn completion: jumping/bounce.
  • Built-in state tracks play twice and return to idle; repeated failures restart playback cleanly.

Voice session reliability

  • Codori requests a screen wake lock while a non-preview voice session is active, helping mobile browsers keep the session awake when platform policy allows it.
  • Landing voice microphone activation now waits for the realtime conversation to reach the connected state, removing a startup race where connect() could resolve while the controller was still starting.

Screen wake lock remains best-effort. Manually locking a phone can still suspend browser audio; native background capture remains tracked separately in #91.

Compatibility

Minor release. Existing CLI commands, configuration files, and HTTP APIs remain compatible. The new landing action requires experimental realtime voice to be enabled.

Closes #121 via #122.