Phase 1 Progress - Convert UI Cleanup (dev23):
Architecture Improvements:
- Add SetSelectedSilent() method to ColoredSelect to prevent callback loops
- Create convertUIState manager with setQuality(), setResolution(), setAspect(), setBitratePreset()
- Eliminate syncingQuality flag (quality widgets use state manager)
- Eliminate syncingAspect flag and syncAspect() function (aspect widgets use state manager)
- Eliminate syncingBitratePreset flag (bitrate preset widgets use state manager)
Impact:
- Sync flags reduced from 5 to 2 (60% reduction)
- Automatic widget synchronization (no manual SetSelected calls)
- Single source of truth for UI state
- Foundation for eliminating remaining sync flags
Remaining: syncingBitrate, syncingTargetSize (text entry debouncing needed)
Files modified:
- internal/ui/components.go (SetSelectedSilent method)
- main.go (state manager, widget callbacks)
- Update appVersion constant from dev21 to dev22
- Ensures main menu footer and About dialog show correct version
- Completes dev22 release preparation
All build fixes applied and version correctly displayed.
Fixed compilation errors in queueview.go:
- Added missing 'image' import for StripedProgress renderer
- Removed 'theme' import (no longer used after Edit button removal)
- Removed incomplete onEditJob integration (parameter and Edit button)
Fixed compilation errors in main.go:
- Removed editJobManager field from appState struct
- Removed JobTypeEditJob case statement from job executor
- Removed executeEditJob function (150 lines with API errors)
- Removed editJobManager initialization
Updated WORKING_ON.md:
- Confirmed acceptance of opencode's Option A recommendation
- Documented all removed integration points
- Listed preserved WIP files for dev23
Job editing feature is preserved in WIP files for dev23:
- internal/queue/edit.go (not committed, ready for dev23)
- internal/ui/command_editor.go (not committed, ready for dev23)
- internal/queue/execute_edit_job.go.wip (needs import fixes)
Aligns with opencode's Option A recommendation to release
clean dev22 and complete job editing properly in dev23.