263 lines
10 KiB
Markdown
263 lines
10 KiB
Markdown
# Bug Tracker
|
|
|
|
Track all bugs, issues, and behavioral problems here. Update this file whenever you discover or fix a bug.
|
|
|
|
**Last Updated**: 2026-01-05 16:05 UTC
|
|
|
|
---
|
|
|
|
## 🔴 Critical Bugs (Blocking Functionality)
|
|
|
|
### BUG-005: CRF quality settings not showing when CRF mode is selected
|
|
- **Status**: 🔴 OPEN
|
|
- **Reporter**: User (2026-01-04 21:10)
|
|
- **Module**: Convert
|
|
- **Description**: When user selects "CRF (Constant Rate Factor)" as the Bitrate Mode, the Quality Preset dropdown does not appear. The UI remains empty where the quality settings should be.
|
|
- **Steps to Reproduce**:
|
|
1. Open Convert module
|
|
2. Set Bitrate Mode to "CRF (Constant Rate Factor)"
|
|
3. Expected: Quality Preset dropdown appears
|
|
4. Actual: No quality controls show up
|
|
- **Impact**: High - Cannot adjust quality in CRF mode, which is the default and most common mode
|
|
- **Root Cause**: Likely over-corrected the visibility logic in `updateQualityVisibility()` function. Made rules too strict after fixing BUG-001 and BUG-002.
|
|
- **Investigation Notes**:
|
|
- CBR mode is set by default (works correctly - hides quality controls)
|
|
- Previous fixes made `updateQualityVisibility()` check for: `hide || hideQuality || remux`
|
|
- Where `hideQuality = mode != "" && mode != "CRF"`
|
|
- Need to verify the logic flow when switching to CRF mode
|
|
- **Files to Check**:
|
|
- `main.go:8851-8883` - `updateQualityVisibility()` function
|
|
- `main.go:8440-8532` - `updateEncodingControls()` function
|
|
- `main.go:7875-7888` - Bitrate mode selection callback
|
|
- **Assigned To**: opencode (handoff from Claude)
|
|
- **Verified**: No (not fixed yet)
|
|
|
|
### BUG-006: Windows app crashes mid-conversion with no logs
|
|
- **Status**: 🔴 OPEN
|
|
- **Reporter**: User (2026-01-05)
|
|
- **Module**: Convert / Queue / Logging (Windows)
|
|
- **Description**: VT crashes during batch conversions (typically the 3rd or 4th job). FFmpeg continues running, but the app exits and no logs are created afterward.
|
|
- **Steps to Reproduce**:
|
|
1. On Windows, queue multiple conversions in Convert module
|
|
2. Start queue
|
|
3. After several jobs, app crashes while FFmpeg keeps running
|
|
4. Expected: App stays alive, logs updated
|
|
5. Actual: App crashes, logs missing
|
|
- **Impact**: High - data loss in UI state, no diagnostics
|
|
- **Root Cause**: Unknown. Suspected background goroutine / UI thread issue or log path failure on Windows.
|
|
- **Investigation Notes**:
|
|
- Need to confirm whether `%APPDATA%\VideoTools\logs\videotools.log` is created at all
|
|
- Crash likely happens before log writes or after log file handle is lost
|
|
- **Files to Check**:
|
|
- `internal/logging/logging.go` (init + panic handling)
|
|
- `main.go` (conversion execution, queue updates)
|
|
- Windows build path for `getLogsDir()`
|
|
- **Assigned To**: Unassigned
|
|
- **Verified**: No
|
|
|
|
---
|
|
|
|
## 🟠 High Priority Bugs (Major Issues)
|
|
|
|
None currently open.
|
|
|
|
---
|
|
|
|
## 🟡 Medium Priority Bugs (Annoying but Workable)
|
|
|
|
None currently open.
|
|
|
|
---
|
|
|
|
## 🟢 Low Priority Bugs (Minor Issues)
|
|
|
|
None currently open.
|
|
|
|
---
|
|
|
|
## ✅ Recently Fixed (Last 7 Days)
|
|
|
|
### BUG-001: Quality Preset showing in CBR/VBR modes (should only show in CRF)
|
|
- **Status**: ✅ FIXED (2026-01-04)
|
|
- **Reporter**: User
|
|
- **Module**: Convert
|
|
- **Description**: Quality Preset dropdown was showing when Bitrate Mode = CBR instead of only showing for CRF mode
|
|
- **Impact**: Confusing UI, wrong controls visible
|
|
- **Root Cause**: Duplicate visibility logic in `updateEncodingControls()` and `updateQualityVisibility()` conflicting with each other. Also `updateRemuxVisibility()` unconditionally showing containers.
|
|
- **Fix**:
|
|
- Consolidated visibility logic into `updateQualityVisibility()` as single source of truth
|
|
- Made `updateRemuxVisibility()` call `updateEncodingControls()` instead of directly showing containers
|
|
- Removed explicit `.Hide()` call on quality section initialization
|
|
- Added `updateQualityVisibility()` call after section creation
|
|
- **Files Changed**: `main.go:8522-8537, 8850, 8875, 8924-8928`
|
|
- **Fixed By**: Claude
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-002: Target File Size showing when not in Target Size mode
|
|
- **Status**: ✅ FIXED (2026-01-04)
|
|
- **Reporter**: User
|
|
- **Module**: Convert
|
|
- **Description**: Target File Size container was visible even when Bitrate Mode was set to CRF
|
|
- **Impact**: Confusing UI, irrelevant controls showing
|
|
- **Root Cause**: `updateRemuxVisibility()` was unconditionally showing all encoding containers when not in remux mode
|
|
- **Fix**: Changed `updateRemuxVisibility()` to call `updateEncodingControls()` which properly shows/hides based on bitrate mode
|
|
- **Files Changed**: `main.go:8924-8928`
|
|
- **Fixed By**: Claude
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-003: AAC and OPUS audio codec colors too similar
|
|
- **Status**: ✅ FIXED (2026-01-04)
|
|
- **Reporter**: User
|
|
- **Module**: Convert (Audio codec selection)
|
|
- **Description**: AAC (#7C3AED purple-blue) and OPUS (#8B5CF6 violet) colors were too similar to distinguish easily
|
|
- **Impact**: Usability issue - hard to tell which codec is selected
|
|
- **Fix**: Changed AAC color from #7C3AED (purple-blue) to #06B6D4 (bright cyan) for much better contrast
|
|
- **Files Changed**: `internal/ui/colors.go:47`
|
|
- **Fixed By**: Claude
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-004: Audio module missing drag & drop support
|
|
- **Status**: ✅ FIXED (2026-01-04)
|
|
- **Reporter**: User
|
|
- **Module**: Audio
|
|
- **Description**: Could not drag and drop audio or video files onto the Audio module tile
|
|
- **Impact**: Forced manual file selection via browse button
|
|
- **Fix**:
|
|
- Added `isAudioFile()` helper function to detect audio file extensions
|
|
- Modified `handleModuleDrop()` to accept audio files when dropping on audio module
|
|
- Added audio module handler in `handleModuleDrop()` to load files and show audio view
|
|
- **Files Changed**: `main.go:2978, 3158-3180, 3186-3195`
|
|
- **Fixed By**: Claude
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-007: Copy Error button lacked actionable details
|
|
- **Status**: ✅ FIXED (2026-01-05)
|
|
- **Reporter**: User
|
|
- **Module**: Queue UI
|
|
- **Description**: Copy Error only included a truncated error string with no context
|
|
- **Fix**: Copy now includes job title, module, input/output, full error text, log path, and log tail
|
|
- **Files Changed**: `main.go`
|
|
- **Fixed By**: Codex
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-008: About page "Logs Folder" not opening on Windows
|
|
- **Status**: ✅ FIXED (2026-01-05)
|
|
- **Reporter**: User
|
|
- **Module**: About / OS integration
|
|
- **Description**: Clicking Logs Folder did nothing on Windows
|
|
- **Fix**: Use `explorer` with normalized path, ensure folder exists
|
|
- **Files Changed**: `main.go`
|
|
- **Fixed By**: Codex
|
|
- **Verified**: Yes, build passes
|
|
|
|
### BUG-009: Contact sheet output saved inside thumbnails folder
|
|
- **Status**: ✅ FIXED (2026-01-05)
|
|
- **Reporter**: User
|
|
- **Module**: Thumbnails
|
|
- **Description**: Contact sheet was stored inside `_thumbnails` folder, adding extra navigation
|
|
- **Fix**: Contact sheet now saves alongside source video; individual thumbs still use folder
|
|
- **Files Changed**: `thumb_module.go`
|
|
- **Fixed By**: Codex
|
|
- **Verified**: Yes, build passes
|
|
|
|
---
|
|
|
|
## 📋 Known Issues (Not Bugs - Design/Incomplete Features)
|
|
|
|
### ISSUE-001: Enhancement Module - Incomplete Implementation
|
|
- **Status**: ⏸️ ON HOLD
|
|
- **Module**: Enhancement
|
|
- **Description**: Enhancement module framework exists but is not fully implemented
|
|
- **Details**:
|
|
- SkinToneAnalysis features are placeholder implementations
|
|
- No UI wired up yet
|
|
- Module commented out in navigation
|
|
- **Plan**: Complete in future dev cycle
|
|
|
|
### ISSUE-002: Widget Deduplication - Incomplete
|
|
- **Status**: 🔄 IN PROGRESS (opencode)
|
|
- **Module**: Convert UI
|
|
- **Description**: 4 widget pairs still need deduplication
|
|
- **Details**:
|
|
- Pattern established with quality widgets (main.go:7075-7128)
|
|
- Remaining pairs:
|
|
- resolutionSelectSimple & resolutionSelect
|
|
- targetAspectSelect & targetAspectSelectSimple
|
|
- encoderPresetSelect & simplePresetSelect
|
|
- bitratePresetSelect & simpleBitrateSelect
|
|
- **Plan**: Handed off to opencode agent
|
|
|
|
### ISSUE-003: ColoredSelect Expansion - Incomplete
|
|
- **Status**: 🔄 IN PROGRESS (opencode)
|
|
- **Module**: Convert UI
|
|
- **Description**: 32 widgets still need ColoredSelect conversion
|
|
- **Details**: Resolution, aspect, preset, bitrate, frame rate selectors need semantic color coding
|
|
- **Plan**: Handed off to opencode agent
|
|
|
|
---
|
|
|
|
## 🔧 How to Report a Bug
|
|
|
|
When you find a bug, add it here with:
|
|
|
|
```markdown
|
|
### BUG-XXX: Short descriptive title
|
|
- **Status**: 🔴 OPEN / 🔄 IN PROGRESS / ✅ FIXED
|
|
- **Reporter**: Name/Date
|
|
- **Module**: Which module (Convert, Audio, Player, etc.)
|
|
- **Description**: What's wrong? What should happen?
|
|
- **Steps to Reproduce**:
|
|
1. Step one
|
|
2. Step two
|
|
3. Expected vs Actual behavior
|
|
- **Impact**: How bad is it?
|
|
- **Root Cause**: (fill in when investigating)
|
|
- **Fix**: (fill in when fixed)
|
|
- **Files Changed**: (list files)
|
|
- **Assigned To**: (agent name)
|
|
- **Verified**: Yes/No
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Bug Statuses
|
|
|
|
- 🔴 **OPEN**: Bug confirmed, not yet being worked on
|
|
- 🔄 **IN PROGRESS**: Someone is actively fixing it
|
|
- ✅ **FIXED**: Fix implemented and verified
|
|
- ⏸️ **BLOCKED**: Waiting on something else
|
|
- ❌ **WONTFIX**: Decided not to fix (explain why)
|
|
- 🔁 **DUPLICATE**: Same as another bug (reference it)
|
|
|
|
---
|
|
|
|
## 📊 Bug Statistics
|
|
|
|
**Current Status**:
|
|
- 🔴 Critical Open: 2 (BUG-005, BUG-006)
|
|
- 🟠 High Priority Open: 0
|
|
- 🟡 Medium Priority Open: 0
|
|
- 🟢 Low Priority Open: 0
|
|
- ✅ Fixed (Last 7 Days): 7
|
|
|
|
**Trends**:
|
|
- 2026-01-05: 3 bugs fixed, 1 new critical bug opened
|
|
- Focus Area: Convert UI visibility + Windows stability/logging
|
|
|
|
---
|
|
|
|
## 🎯 Next Steps
|
|
|
|
1. **BUG-005** (Critical): Fix CRF quality settings visibility - Assigned to opencode
|
|
2. **ISSUE-002**: Complete widget deduplication (4 pairs remaining) - Assigned to opencode
|
|
3. **ISSUE-003**: Complete ColoredSelect expansion (32 widgets) - Assigned to opencode
|
|
|
|
---
|
|
|
|
## 💡 Notes
|
|
|
|
- This file should be updated by ALL agents when they discover or fix bugs
|
|
- When creating git issues, reference the BUG-XXX number from this file
|
|
- Keep the statistics section updated
|
|
- Move fixed bugs to "Recently Fixed" after 7 days, then archive them
|