🚀 Release v1.0.6
Added
- VM Action Protection System: Comprehensive protection mechanism to prevent VM actions while operations are pending
- Context Menu Protection: Lifecycle actions (start, stop, restart, delete, migrate) are hidden when VMs have pending operations
- Keyboard Shortcut Protection: Shell, VNC, and context menu shortcuts are blocked for VMs with pending operations
- Visual Indicators: Pending VMs show dimmed status with special indicators
- Menu Title Updates: Context menu titles show current pending operation status (e.g., "Guest Actions (Starting)")
- Snapshot Protection: Create, delete, and rollback snapshot operations are blocked while VMs have pending operations
- Configuration Protection: VM config editing and storage resizing are blocked during pending operations
- Migration Protection: Migration dialog is blocked for VMs with pending operations
- Refresh Protection: Individual VM refresh and global refresh are blocked while operations are pending
- Auto-Refresh Protection: Auto-refresh cannot be enabled while there are pending operations
- Helper Functions: Added
CanVMPerformActions()andGetVMPendingOperation()for easier pending state checking - Thread-Safe Operations: All pending state operations use proper mutex protection for concurrent access
Fixed
- VM Pending State Timing: Fixed visual glitch where deleted VMs would briefly return to "normal" state before being removed
- Delete Operations: VMs now stay in pending state until refresh completes and they're removed from the UI
- Migration Operations: VMs stay in pending state until refresh shows them in their new location
- Consistent Behavior: All operations now maintain pending state until refresh operations complete
- Better User Experience: Users can see VMs remain in pending state until operations truly complete
Dependencies
- Core Dependencies: Updated key dependencies to latest versions
- github.com/stretchr/testify: bumped from 1.10.0 to 1.11.1
- github.com/rivo/tview: bumped to 0.42.0
- github.com/spf13/cobra: bumped from 1.9.1 to 1.10.1
- golang.org/x/term: bumped from 0.34.0 to 0.35.0
- github.com/gdamore/tcell/v2: bumped from 2.8.1 to 2.9.0
- Build Dependencies: Updated build and CI dependencies
- golang: bumped from 1.24.5-alpine to 1.25.1-alpine
- actions/setup-go: bumped from 5 to 6
- actions/checkout: bumped from 4 to 5
Refactored
- VM Migration Code Organization: Moved migration-specific functions to dedicated file
- New File:
vm_migration.gocreated to house all VM migration functionality - Moved Functions:
showMigrationDialog()andperformMigrationOperation()relocated fromdialogs.go - Clean Separation: Migration logic now properly separated from general dialog functions
- Better Maintainability: Migration features can now be developed and maintained independently
- New File: