Skip to content

Releases: vestigiumincaligne/polka

v0.1.19

Choose a tag to compare

@github-actions github-actions released this 29 Aug 09:38
Book collections: curated lists matched against the library, bundled …

v0.1.18

Choose a tag to compare

@github-actions github-actions released this 16 Jun 16:22
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

Choose a tag to compare

@github-actions github-actions released this 16 Jun 15: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

Choose a tag to compare

@github-actions github-actions released this 16 Jun 14:56
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 19:12
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 16:15
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 15:31
Read Flibusta epub books packed as inner 7z

v0.1.12

Choose a tag to compare

@github-actions github-actions released this 15 Jun 15:10
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 15:02
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 14:26
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.