Skip to content

v4.1.35 — a stuck conversion no longer blocks the queue, and Newest actually means newest

Latest

Choose a tag to compare

@new-usemame new-usemame released this 15 Aug 03:10
· 5 commits to main since this release
af8b6a6

Eight fixes, and the one most likely to have bitten you is the converter: a book
that would not finish converting was also holding up everything queued behind it.

docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.1.35

A stuck conversion no longer blocks the queue. Converting a book, PDFs most
often, could start and then sit there forever, with nothing in the log but a line
saying the target format did not exist yet. The converter writes to two output
streams and we kept reading only one of them while it ran, so once the other
filled up it stopped and waited for us while we waited for it. The same fault was
in the KEPUB path, where a failure also had no error text to show. Reported by
@auspex.

Newest actually means newest. Drop several books into the ingest folder at
once and most of them landed in the middle of your library, filed under the
publication date inside the file rather than the day they arrived — only the last
book of each batch was being stamped. Separately, books sharing a date came back
in whatever order the database happened to walk, so a batch could come out
backwards and paging could repeat or skip a book. Both are fixed, across the new
interface, the classic one, OPDS, shelves and the duplicate finder. Reported by
@jdaybell, with @Oakwhisper catching that the earlier tie-break fix was not the
whole cause.

Reading on a Kobo now moves KOReader too. The book page showed the Kobo's
progress, so it looked like the sync had worked, but the position was never
written to the place KOReader pulls from. It is now. The two sides share a
percentage rather than an exact spot, so it lands near where you stopped, and it
needs the NextGen Progress Sync plugin on the device. Reported by @IceSentry, and
kept honest by @sroebert's testing.

Typing a tag that already exists offers that tag first. Typing "Romance"
pre-selected "Paranormal Romance" and Enter applied it. Suggestions are now
ordered exact match first, and nothing is highlighted until you arrow into the
list, so Enter adds what you typed. Applies to tags, authors, series and
publishers in both editors. Reported by @magdalar.

Metadata enforcement picks itself back up after a killed run. If the enforcer
was killed rather than exiting cleanly — an out-of-memory kill, an impatient
docker stop — the lock it holds stayed behind and every later run cancelled
itself, so edits kept appearing on screen but stopped being written into your book
files. A run now takes over a lock whose process is gone.

A failed first start no longer locks you out. If creating the settings
database failed on the very first run, an empty one was created anyway, which on
the next boot looked like an existing install — so no admin account was created
and there was no way in and no way to retry.

Starting it outside Docker. Installed as a Python package, it now starts with
python -m cps. Starting it by the path to cps.py is unchanged. Thanks to
@chloeroform.

The in-app What's New page has all of this with links to the screens involved —
it is under the "?" menu.