Skip to content

v4.1.24 — highlights stay put, the interface speaks French and Dutch, update notices work again

Latest

Choose a tag to compare

@new-usemame new-usemame released this 29 Jul 10:39
83c7adf
docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.1.24

KOReader no longer deletes highlights it was unable to read

To work out what you removed, the sync plugin compares the highlights on your device now against the ones it last sent, and anything missing is reported to the server as a deletion. Whether it had actually managed to read the device was decided by the device type rather than by the read itself — so a read that came back with nothing looked exactly like a book you had cleared by hand, and every highlight in it was deleted. Coming back with nothing is not unusual: closing the book mid-sync is enough, as is a locked database or an SD card being pulled. The server does not bring a deleted highlight back, so the loss was permanent.

A sync that cannot see your highlights now leaves them alone. Removing your last highlight still syncs as a deletion. This one needs plugin 4.1.24 on each device.

Found while investigating #920. Reported by @iroQuai.

The new interface now reads in French and Dutch throughout

With the interface set to French or Dutch, much of it still showed English — the sidebar, search, upload, book pages, shelves and settings, plus the appearance and theme options and the whole list of search filter conditions. Nothing failed when this happened: the interface uses its English text as the lookup key, so a missing translation quietly renders the English rather than reporting anything, and only someone reading the screens would notice.

Both are now complete across all 821 phrases the interface can translate — French went from 276, Dutch from 84. Wording was matched against the older screens, so tags and shelves keep one name wherever you are. The check that is meant to catch a missing phrase could only see phrases written out at the point they are displayed, which is why the filter conditions and theme settings slipped past it while it reported both languages as complete; it now works from the full set of phrases the app ships for translation.

Russian is complete too, including the "Browse languages" button — contributed by @standhaftsohnsergius. Update notes like these stay in English on purpose. Other languages are still largely untranslated in the new interface and are tracked separately.

Reported by @hayvan96 (#615) and @iroQuai (#886, #1217).

Your install notices new releases again

The "update available" line on the admin page compared your version against a release list fetched once, when the container started. An install running for a week was still comparing against week-old information, and the notice for anything published since never appeared — and restarting the container is the one thing someone who does not know an update exists has no reason to do. The latest release is now looked up when you open the page, cached for six hours, and fetched on a background thread so a slow lookup never holds up anyone else's browsing.

--version on the command line and the updater's own version report were also naming the newest published release rather than the one you are running, which made the updater tell some installs they were already current when they were not.

Reported by @chloeroform (#1108).

A failed KOReader sync now tells you why

A sync that did not go through reported only "Server push failed". The plugin knew the reason and discarded it into a debug log that is off unless you have turned it on, so a sync that never left the device looked identical to one the server had rejected. The reason now appears on screen and is recorded in crash.log.

Adding a book no longer fills the log with permission warnings

Every book that came in printed five warnings about a folder it could not write to. Nothing visible was broken, but because the one-time database upgrades could never record that they had finished, they ran again from scratch on every single import. The background services now agree on where the app keeps its own files, so the upgrades run once and the log stays quiet.

Reported by @auspex (#1162).


Thanks to @iroQuai, @hayvan96, @chloeroform, @auspex and @standhaftsohnsergius.

Full detail in CHANGELOG.md. Something still broken? Open an issue or join the Discord.