Skip to content

BUG-141 - Source Expand Icons And Video Thumbnails Can Be Visually Oversized

Summary

The download-list expand-all-sources and collapse-all-sources actions reused generic tree icons, which made the source-row actions less recognizable. Video thumbnail preview sizing also capped width but not height, so extreme portrait or corrupt-aspect thumbnails could produce unreasonably tall tooltips.

Fix

  • Added source-specific expand/collapse icon resources and wired them into the download toolbar and context menu.
  • Added a video thumbnail display height cap alongside the existing width cap.
  • Updated FFmpeg thumbnail generation to preserve aspect ratio inside a bounded 480x270 box.
  • Updated tooltip rendering to enforce both width and height bounds, including already-cached thumbnails generated before this change.

Acceptance Criteria

  • [x] Expand-all-sources and collapse-all-sources use source-specific icons.
  • [x] Generated video thumbnails are bounded by width and height.
  • [x] Cached or otherwise loaded preview bitmaps are bounded at render time.
  • [x] Native preview-seam tests cover the bounded FFmpeg scale filter.

Implementation Evidence

  • 5a749a3 BUG-141 cover bounded thumbnail dimensions
  • 7fa4206e BUG-141 bound thumbnails and refresh source icons

Validation Evidence

  • python -m emule_workspace test native --config Debug --platform x64 --suite-name parity --build-output-mode ErrorsOnly passed 749 tests.
  • python -m emule_workspace validate
  • Debug x64 app build through python -m emule_workspace build app --variant main --config Debug --platform x64 --build-output-mode ErrorsOnly at 20260530T184733Z-build-app.
  • Release x64 app build through python -m emule_workspace build app --variant main --config Release --platform x64 --build-output-mode ErrorsOnly at 20260530T184754Z-build-app.