Covers render in the userscript panel, from a public route (#60) #69

Merged
sulthan merged 2 commits from feat/60-public-cover-route into main 2026-08-10 08:52:58 +07:00

2 Commits

Author SHA1 Message Date
sulthan 8b58019e8c docs: drop the last references to cover scraping (#60)
Review follow-ups. The README's adapter reference and the userscript
testing skill still described a scrape that no longer exists, and the
manga test stub kept a querySelectorAll whose only caller was the
deleted coverFromPage. The handler comment's premise ("every installed
userscript still sends one") stops being true the moment a Reader
reinstalls, so it now says older copies may.
2026-08-10 04:27:22 +07:00
sulthan cc0fa92a1a feat(userscript): render Covers from the public route (#60)
Both userscripts stop scraping Covers and stop putting one on the wire.
A scraped address has no rendering path left now that the backend
acquires, stores and serves every Cover from its own origin (ADR-0007),
and keeping one would reintroduce third-party URLs into exactly the
place #47 came from.

- Adapters no longer read og:image / meta[name=image], and comix's
  img[alt] cover scan and novelfull's metaName helper are deleted.
- apiPut strips `cover` off every outgoing body, so a cached row's
  address (already ours) never travels back either. The server ignores
  the field regardless.
- Both card renderers swap in the existing `.cover.ph` placeholder when
  the image fails to load, so a failure looks designed rather than
  broken - the other half of what #47 reported.
- The deleted scraping's test cases go with it: the comix cover cases,
  the img[alt] and meta[name] stub branches, and the stale og:image
  fixtures. Export lists are unchanged; nothing cover-specific was
  exported.

The cover route itself is already public and uncredentialed, with the
immutable cache directive and 404-for-unknown covered by the tests that
landed with #59.
2026-08-10 04:20:23 +07:00