mirror of
https://github.com/skoelle/marcer-gamedvd-launcher.git
synced 2026-09-17 18:50:25 +00:00
2.0 KiB
2.0 KiB
Known Bugs & Issues
Critical Bugs
No open critical bugs.
Medium Bugs
No open medium bugs.
Documentation Inconsistencies
No open documentation inconsistencies.
Code Quality / Minor
No open code quality issues.
Fixed / Non-Issues (Verified)
| Item | Status | Notes |
|---|---|---|
demo.sh location |
✅ OK | Exists at repo root, README link correct |
| Magic strings centralized | ✅ Done | FavoritesRootName, DefaultFileName, DefaultTitle |
| Scroll fractions as constants | ✅ Done | BottomScrollFraction, TopScrollFraction |
AvailableLines helper |
✅ Done | ProgramHelpers.AvailableLines |
| Colors configurable | ✅ Done | Colors section in config |
| Win32 constants documented | ✅ Done | Marked "intentionally hardcoded" |
Hatari.ConfigFile optional with bundled fallback |
✅ Done | Empty ConfigFile falls back to bundled MarcerGameDvd-Hatari.cfg |
FavoritesService.Save() swallow comment |
✅ Done | Explains intentional behavior |
UIErrorService no-rethrow doc |
✅ Done | Explains design decision |
ArgsTemplate {cfg} empty ConfigFile fallback |
✅ Done | HatariLauncher.Launch() falls back to bundled config |
MenuRenderer.RedrawEntry() resize bounds check |
✅ Done | Row validated against availableLines + Console.WindowHeight, catch in WriteConsoleLine |
HatariLauncher ArgsTemplate validation |
✅ Done | Constructor validates both {zip} and {cfg} placeholders |
| ZIP launch file existence check | ✅ Done | File.Exists defense-in-depth in InputController |
RightArrow/LeftArrow in AGENTS.md |
✅ Done | Added to key bindings |
OverlayDirectoryBrowser path traversal |
✅ Non-issue | .. segments filtered at entry, IsSubPathOf as additional safety net |
ShowConsoleMessage params overload |
✅ Done | Added convenience overload with flat argument list |
Priority Recommendation
All identified issues have been resolved. See the Fixed table above for details.