Skip to content

v0.10.0

Latest

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 03 May 04:39
c729151

Highlights

This release introduces a major Assistant Mode with deep OpenCode server integration, a new OpenCodeSupervisor for resilient server lifecycle management, and a host of mobile and model-selection improvements.

Features

Assistant Mode & OpenCode Integration (#214)

  • Assistant Workspace: New assistant mode with internal token authentication, dedicated routes, and session management
  • SSE Streaming: Real-time event streaming from the OpenCode server, aggregated through a new SSE pipeline
  • OpenCode Server Auth: Settings UI and backend resolver for OpenCode server credentials, including SSE password resolution
  • Server Health Monitoring: Continuous health checks integrated with the new supervisor
  • Internal API: New internal routes for notifications and settings, plus internal token authentication
  • Skills Dialog: New RepoSkillsDialog for managing repo-scoped skills

Assistant Workspace UX

  • Session List (#198): Dedicated assistant session list view
  • New Session CTA: Quick-start button in assistant workspace sidebar
  • Welcome Message: Auto-seeded welcome message on new assistant session creation
  • Configurable Default Agent: Set a default agent with smart resolution logic
  • Session Activity Separation (#202): Decoupled session activity state from streaming state for cleaner UI

Model Selection

  • Favorites System (#201): Star and quick-access favorite models in ModelQuickSelect and ModelSelectDialog
  • Model State Persistence (#209): Selected model now persists across sessions with improved sync
  • Provider Disambiguation: Provider name prefix shown when model display names are ambiguous

Repo & Worktree Management

  • Base Branch Support (#197): New CreateWorktreeDialog with base branch selection for worktree creation
  • Repo URL & Worktree Props: SourceControlPanel now receives repoUrl and isRepoWorktree for richer source control UX
  • Repo Quick Switch in Sidebar: Restructured sidebar navigation with integrated repo quick switching
  • Improved Repo List: Better path handling, controls, and component structure (#196)

Mobile Improvements

  • Mobile Session Actions (#206): Touch-optimized session management actions
  • Tap-First Speech-to-Text (#207): Reworked STT to a tap-first interaction model, replacing hold-to-record
  • Mobile STT Feedback (#203): Improved speech-to-text feedback on mobile
  • Permission Polling: React Query–based permission synchronization for live updates

Navigation & Layout

  • Desktop Sidebar Navigation (#199): New desktop sidebar with consolidated header actions
  • Settings Back Navigation (#210): Extracted navigation helpers and improved settings back behavior

Refactoring

  • OpenCodeSupervisor (#200): New lifecycle state machine (idle → starting → healthy/unhealthy → recovering → failed) with:
    • Operation locking to prevent concurrent start/stop/restart/reload races
    • 4-step recovery pipeline: restart → debug capture → rollback last known good → seed default config
    • Health polling with configurable interval, threshold, and toggle (HEALTH_POLL_MS, HEALTH_FAILURE_THRESHOLD, HEALTH_WATCH_ENABLED)
    • archiveBrokenConfig method on SettingsService for backup before rollback
  • parseModelString helper: Extracted in useOpenCode hook for reuse and clarity
  • Navigation helpers (#210): Extracted from inline component logic

Fixes

  • Swipe-Back Suspension (#215, #216): Suspend swipe-back gesture on the More drawer; remove unused variables
  • Permission Removal (#205): Remove permissions immediately after responding instead of waiting for a poll
  • Pending Question Reconciliation (#204): Reconcile pending questions by directory; improve TTS fallback
  • getProviders Async Wrapping: Wrapped in async lambda for React Query queryFn correctness
  • JSX Structural Issues: Fixed in RepoDetail component

Reverts

  • Reverted feat: seed Assistant workspace with update-configuration skill and improved docs pending follow-up

Chore

  • Bump version to 0.10.0

Full Changelog: v0.9.21...v0.10.0