e2f65278ec
OPDS 2.0 feeds may list a publication in summary form (title, cover, and only a rel="self" link of type application/opds-publication+json), serving the full record (acquisition links, description, publisher, subjects) only when the client follows that link on click, as Thorium does. Readest ignored it, so such books showed no download option and no description. Add opdsPublication.ts with getPublicationDetailHref and parsePublicationDocument (OPDS 2.0 JSON and Atom entry, absolutizing link/image hrefs), and dereference the link in the OPDS page when a feed-selected summary advertises one, upgrading the detail view in place once it loads. Also render an OPDS 2.0 JSON HTML description as sanitized markup instead of literal tags by falling back from the typed content to the plain description string in getOPDSDescriptionHtml. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>