Skip to content

Fix manga removal and library deletion regressions - #120

Merged
JeremiahM37 merged 1 commit into
mainfrom
fix/119-manga-library-delete
Sep 16, 2026
Merged

JeremiahM37 merged 1 commit into
mainfrom
fix/119-manga-library-delete

Conversation

@JeremiahM37

Copy link
Copy Markdown
Owner

Local manga imports had no removal action or API route. This adds confirmed removal in Library → Manga and DELETE /api/library/manga/{id}, preserving the file on disk and unlinking wanted entries and tags atomically.

Also fixes library removal failures exposed by the regression tests: deleting the last item on a page now returns to an existing page, delayed responses cannot overwrite the current category, and pending removals disable repeat clicks. Audiobookshelf errors are returned instead of reporting a successful deletion. Typed routes reject IDs from other media categories. Kavita series remain managed in Kavita; an explicit source=local selects a local manga ID when Kavita is configured, preventing provider/local ID collisions.

Regression coverage includes all three library categories on desktop/mobile, cancellation, failed deletion and retry, filtered/last-page results, persistence after reload, a real CBZ import/removal journey, authentication, provider failures, and database rollback. Every browser test now fails on uncaught JavaScript errors. New tests run in the existing CI suite.

Validation:

  • Full project verify: PASS: 3/3 steps passed, including the React build, Go tests/build, and 64 browser tests (12 new journeys).
  • go test -race ./... -count=1.
  • go test -tags=integration -race ./internal/integration/... -count=1.
  • go vet ./....
  • Mobile screenshot inspected; delete control has a 44×44 touch target.

Closes #119.

@JeremiahM37
JeremiahM37 merged commit 24859d0 into main Sep 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Manga library items cannot be deleted — no DELETE /api/library/manga/{id} route and no delete button in UI

1 participant