Releases: vestigiumincaligne/polka
Releases · vestigiumincaligne/polka
Release list
v0.1.19
v0.1.18
OPDS: fix fb2.zip download hang, add templated search link and summary - Serve /Images/zip with a Content-Length (build the zip in memory) so OPDS clients (MoonReader) stop hanging "at 100%" on download. - Advertise search both as an OpenSearch description and as a direct templated link, since clients support different mechanisms. - Add a <summary> to entries alongside <content> for clients that render one but not the other.
v0.1.17
OPDS: fix download auth loop, clickable authors/genres, richer entries - Send a WWW-Authenticate: Basic challenge from /Images/* when there is no session cookie, so OPDS clients (MoonReader) stop looping on the password prompt at download and can load covers. - Make the OpenSearch template an absolute URL — mobile clients often fail to resolve a relative one. - Include format and size in OPDS entry descriptions. - Book page: authors link to the author's books, genres link to the genre shelf (book details now expose author ids and genre codes).
v0.1.16
Warn when the library directory is empty or archives are missing A common setup mistake: the inpx catalog is imported (metadata only) but the book archives are mounted at a path other than POLKA_LIBRARY_DIR, so every read fails with "not on disk". Surface this explicitly: warn at startup if the library dir is missing/empty, warn after an import if sampled archives are not found, and show the library status + a banner in the admin panel.
v0.1.15
Read books named by id without extension inside archives Optimized Flibusta dumps (f.fb2-*) name fb2 entries by book id with no ".fb2" extension, so opening "<id>.fb2" failed with "entry not found". Fall back to a bare-id entry match (exact name still wins, and matching the stem keeps a cover "<id>.jpg" from being picked instead).
v0.1.14
Transcode JPEG XL covers to JPEG (Flibusta dumps) Recent Flibusta dumps store covers as JPEG XL, which most browsers no longer render. Decode them server-side and re-encode to JPEG via the pure-Go wazero backend of gen2brain/jpegxl (build tag nodynamic keeps every cross-build CGO-free).
v0.1.13
Read Flibusta epub books packed as inner 7z
v0.1.12
Flibusta covers: match extensionless entries + diagnostic logging The real reason covers stayed blank: inside covers/<archive>.zip the cover files are named just by book id with NO extension (e.g. 294098), but we only matched <id>.jpg. Now we match an entry whose stem equals the id and sniff the image type from its magic bytes (defaulting to JPEG). Verified against an extensionless-entry archive. Also much better diagnostics: library.Open now reports exactly what it tried — which archive variants exist on disk and, when an archive opens but the file isn't inside, the entry count and a few real names (so a naming mismatch is obvious). The read/cover/download handlers log these at WARN/INFO. Example: 'entry "999999.fb2" not found among 3 entries (e.g. 836016.fb2, 836017.fb2); …zip: not on disk'.
v0.1.11
library: always try both .zip and .7z archive siblings archiveCandidates now tries the .7z and .zip variants regardless of the extension the inpx records (or none), so a mismatch between the inpx folder name and the on-disk archive can never hide a book.
v0.1.10
Flibusta sidecar covers: read book covers from covers/*.zip|7z Optimized Flibusta dumps keep book covers out of the fb2, in a parallel covers/ folder: for a book archive f.fb2-A-B.7z the covers live in covers/f.fb2-A-B.zip as <book-id>.jpg. extractCover now tries this sidecar first (cheaper than decompressing the book, and it covers books with no inline cover), then falls back to the inline fb2/epub cover. Flows through library.Cover, so web cards, the book page and the OPDS image links all pick it up. Handles zip and 7z cover archives.