• bvandeusen released this 2026-05-23 22:06:22 -04:00 | 749 commits to dev since this release

    Patch release rolling up five dogfood-driven fixes from the live IR migration.

    UI fixes

    • Poll task list during scan: Recent Import Tasks list now refreshes every 5 s while a batch is in flight, so the table tracks the counter that's already polling.
    • TopNav grid layout: switching to Gallery or Showcase no longer shifts the centered links — the nav now uses a 1fr / auto / 1fr grid with mirrored side columns so contextual action buttons (Select / Shuffle) don't rebalance the layout.
    • Viewer modal haze + fit-to-view: the modal background is now mid-opacity obsidian + backdrop-filter: blur(8px) (matches TopNav haze) and large images fit the viewport at zoom 1× instead of overflowing.
    • Viewer modal close-on-click-outside: IR-parity. Click on the image still toggles zoom; click on the surrounding haze closes the modal.

    Backend fix

    • Auto-finalize empty scans + accurate active-batch stats: a re-triggered scan that finds every file already on a non-failed ImportTask no longer leaves the batch row stuck in running forever. scan_directory flips the empty batch to complete immediately; /api/system/stats filters its active-batch query to running batches that still have outstanding ImportTask work, so the UI tracks the batch actually doing the import instead of the most recently-triggered empty one.

    Operator notes

    • If you have a previous empty batch stuck in running (counters all zero), one-shot SQL fix: UPDATE import_batch SET status='complete', finished_at=NOW() WHERE total_files=0 AND status='running';
    • Force-update app to pick up the /api/system/stats query change.
    • Force-update web (frontend) for the four UI fixes.
    • Force-update scheduler to pick up the scan_directory auto-finalize behavior.
    Downloads