v0.2.0 - Multi-Chat Sessions & File Attachments
🎉 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