v26.05.23.2: serve /images + artist cleanup migrator #4

Merged
bvandeusen merged 0 commits from dev into main 2026-05-23 12:19:16 -04:00
bvandeusen commented 2026-05-23 12:19:13 -04:00 (Migrated from git.fabledsword.com)

Patch release rolling up two post-migration fixes.

Fixes

  • Serve /images/<path> from disk (f653c26): without this route, the SPA catch-all swallowed every thumbnail/original URL and returned index.html, causing the aspect-ratio-shaped grey placeholders in Showcase and Gallery. Added a guarded send_from_directory route registered before the SPA fallback.

Features

  • /api/migrate/cleanup migrator (f5efbea): targeted destructive cleanup — deletes every image_record attributed to one artist (CASCADE handles image_tag, image_provenance, series_page, tag_suggestion_rejection), unlinks originals + thumbnails on disk, optionally sweeps import_task rows under a given source_path_prefix, removes empty import_batch rows, and finally deletes the artist row. Built for the IR-migration rescue case where the scan derived a bogus imagerepo artist from a mismatched bind-mount layout. Honors dry_run for a safe preview; requires force: true to bypass the pre-migration backup guard.

Commits

f5efbea feat(fc5): /api/migrate/cleanup — delete every image attributed to one artist, files + thumbs + DB
f653c26 fix(web): serve /images/<path> from disk so thumbnails+originals render instead of grey placeholders
Patch release rolling up two post-migration fixes. ## Fixes - **Serve `/images/<path>` from disk** (`f653c26`): without this route, the SPA catch-all swallowed every thumbnail/original URL and returned `index.html`, causing the aspect-ratio-shaped grey placeholders in Showcase and Gallery. Added a guarded `send_from_directory` route registered before the SPA fallback. ## Features - **`/api/migrate/cleanup` migrator** (`f5efbea`): targeted destructive cleanup — deletes every `image_record` attributed to one artist (CASCADE handles `image_tag`, `image_provenance`, `series_page`, `tag_suggestion_rejection`), unlinks originals + thumbnails on disk, optionally sweeps `import_task` rows under a given `source_path_prefix`, removes empty `import_batch` rows, and finally deletes the artist row. Built for the IR-migration rescue case where the scan derived a bogus `imagerepo` artist from a mismatched bind-mount layout. Honors `dry_run` for a safe preview; requires `force: true` to bypass the pre-migration backup guard. ## Commits ``` f5efbea feat(fc5): /api/migrate/cleanup — delete every image attributed to one artist, files + thumbs + DB f653c26 fix(web): serve /images/<path> from disk so thumbnails+originals render instead of grey placeholders ```
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledCurator#4