Skip to content

v0.2.0 - Multi-Chat Sessions & File Attachments

Choose a tag to compare

@777genius 777genius released this 19 Oct 19:54
· 20 commits to main since this release

🎉 What's New in v0.2.0

Frontend Features

  • Multi-Chat Sessions: Create and switch between multiple chat sessions, with automatic persistence using Hive
  • Chat Sidebar: Visual chat list with title, message preview, and real-time usage stats
  • File Attachments: Upload images via drag-drop or file picker with compression support
  • Lightbox Viewer: Full-screen image viewer with zoom capabilities
  • Usage Tracking: Per-chat token and cost tracking with detailed statistics screen
  • Improved UI: Transparent backgrounds, smooth hover effects, and enhanced connection status indicator

Critical Bug Fixes

  • Stop Button Fixed: Agent now correctly stops when clicking the stop button (resolved jobId mapping issue)
  • Memory Leaks Eliminated: Proper cleanup of StreamControllers, subscriptions, and timers
  • Thread Safety: Fixed race condition in JobManager with threading.Lock
  • Better Error Handling: WebSocket errors now logged instead of crashing the app

Developer Experience

  • Development Mode Guide: Comprehensive setup instructions for backend + frontend
  • Fixed Build System: Corrected mono-repo installation paths in Makefile
  • File Picker Support: Added macOS entitlements for proper file access

📋 Full Changelog

Added:

  • Chat session management with Hive persistence
  • File upload with image preview, compression, and progress tracking
  • Usage statistics screen with per-chat breakdown
  • Album view for displaying multiple images
  • Lightbox for full-screen image viewing
  • Hover effects on chat list items showing edit/delete buttons
  • Connection status visual indicator (green/red/spinner)

Fixed:

  • Stop button now correctly cancels running AI jobs
  • Memory leaks in `ChatRepository` and `BackendWsClient`
  • Race condition in `JobManager` (thread-safe dictionary operations)
  • Double job removal bug in WebSocket handler
  • File picker not opening on macOS due to missing entitlements
  • Empty exception blocks now log errors properly

Changed:

  • App branding from "OS AI Frontend" to "OS AI" across all platforms
  • UI backgrounds now semi-transparent for modern aesthetic
  • Connection status shows visual feedback (dot + spinner)
  • Binary name on Windows changed to `os_ai.exe`

Developer:

  • Added comprehensive Development Mode documentation
  • Fixed `make dev-install` to use correct package paths
  • Added macOS file access entitlements (user-selected and downloads)
  • Improved error logging in backend event handlers

🚀 Getting Started

Quick Start

```bash

Install dependencies

make install
make dev-install

Start backend

export ANTHROPIC_API_KEY=sk-ant-...
os-ai-backend

Start frontend (new terminal)

cd frontend_flutter
flutter run -d macos
```

See Development Mode in README for detailed instructions.

📝 Notes

  • This release includes changes to frontend state management
  • Existing chat history from previous versions may not be preserved after upgrade
  • macOS users: Rebuild required for file picker to work (`flutter clean && flutter run`)

🐛 Known Issues

  • Orphaned background tasks continue after WebSocket disconnect (low priority)
  • Album images require manual refresh in some cases

🙏 Built With

Claude Code