🔧 Bug Fixes
OpenCode CLI Agent
- Fixed UI freeze when configuring OpenCode - Made
configure_cli_agentasync to prevent blocking the main thread during file I/O operations - Replaced blocking file operations - Changed from
std::fstotokio::fsfor async file read/write - Fixed mutex deadlocks - Properly drop mutex guards before await points to prevent deadlocks
- Added timeout protection - Wrapped async operations with 15-second timeouts to prevent infinite loading states
Dashboard Improvements
- Fixed refresh button infinite loading - Added proper loading state management for CLI agent refresh operations
- Added visual feedback - Refresh buttons now show spinner animation and disable during operations
- Improved error handling - Display error toasts when operations time out or fail
🎯 What's Changed
Previously, clicking "Update configuration with latest models" on the OpenCode card would freeze the entire application because file I/O operations blocked the async runtime. This affected only OpenCode since it writes configuration files, while Amp CLI and Factory Droid don't perform heavy file operations.
Now all file operations run asynchronously with proper timeout protection, ensuring the UI remains responsive even during slow disk operations.
📦 Installation
Download the appropriate build for your platform from the assets below.
Full Changelog: v0.1.28...v0.1.29