v0.4.8 - Misc Fixes and Enhancements
Published on November 4, 2021 by Joseph Milazzo
I started this release with the intention of it being small and targeted to rewrite search and make it more expansive, however half way through I realized, I really need the metadata code from the v0.5 release before I can implement my plan, so therefor, this release became a misc update aimed at fixing bugs found with the new influx of users.
This release is also smaller because I split the items going out. There was a large bug in the previous release where during scans, not all cover images would generate. I wanted to get that fix out, so I split most of the other stories (like webtoon polish) into another release (v0.4.9).
Breaking Change: Note that in this release, I have changed where all the config for the application lives. If you are not on docker, you don't need to do anything. Kavita will move your files to config/ directory on first run. If you are a docker user, all you need to do is change your mount point from:
docker run --name kavita -p 5000:5000 \ -v /your/manga/directory:/manga \ -v /kavita/data/directory:/kavita/data \ --restart unless-stopped \ -d kizaing/kavita:latest
to
docker run --name kavita -p 5000:5000 \ -v /your/manga/directory:/manga \ -v /kavita/data/directory:/kavita/config \ --restart unless-stopped \ -d kizaing/kavita:latest
aka data became config. If you forget this step, Kavita will notice and kill the server so you don't loose data.
You can find the release here.
Added
- When a series is added to the server, push that updated information to the Recently Added stream, without requiring refresh
- Recently Added and In Progress streams now have bulk actions operations
- Let the user click the incognito glasses from within the reader to turn off incognito mode. This is a one time change so they don't have to leave reader, open, and go to page.
- Added the ability to use bulk selection to add multiple series to a Collection. Using the same interface as reading lists, you can add a new collection or use an existing.
- Added missing background-image, border-image, list-style-image css property rewrites to the epub reader (common in epub-based comic books)
- Bulk deletion of series is now possible
Changed
- Moved all config (db, logs, cache, appsettings.json, etc) to config/ directory. This is a breaking change for Docker users. You must rebuild your containers following the readme/wiki.
- In Progress stream now shows user progress on the cards
- When a user is logged out automatically, don't show unauthorized error, just redirect them to login
- Do not allow non-admins to change their passwords when authentication is disabled
- Removed some verbose debugging statements and moved some debug to information to be more prevalent to logs for default installs.
- Reduced some error logging when an image is a cover image, we intentionally skip, so we should intentionally not log an error
- When the DB fails to save, log out all the series the user should look into for constraint issues and push a message to the admins connected to site. This has a side effect that we will allow the rest of the chunks to process even if one fails.
- Stat upload will now schedule itself between midnight and 6am in server time for upload
- Epubs with only absolute positioned content (common in comics) will now suppress the bottom action bar
- Changed how we calculate if bottom action bar is needed in the epub reader to be more reliable with absolute positioned images (comic epubs)
- Last Active field will now be updated for a user when they open an instance of Kavita in which they are already authenticated giving a better understanding to admins on when a user was last active on their server.
Fixed
- Remove base url messages from screens as this feature was cut last release and shouldn't show
- Register user screen had white text color on a whitish text box. Colors have now been fixed across the app.
- Fixed an issue where inputs on the registration page were not black
- Fixed some resizing when typing a password and having a large amount of users with authentication off on login page
- Don't inform the user about authentication messages when they don't touch that control on server settings page
- Typeahead (collection input) now has same height as other input boxes
- Fixed a missing css escape for '@import url()' syntax in css files for the Book Reader
- Fixed a bug where backups directory wasn't mounted for docker users
- Fixed a critical bug which caused some series to be skipped during a library scan.
- Fixed a bug where searching on localized name would fail to show on the search.
- Fixed a bug where extra spaces would cause the search results not to show properly.
- Fixed a regression where specials with keywords like "oneshot" wouldn't actually become a special of the series. This was due to not falling back to parsing series from folder name and just taking filename series.
- Fixed a missed parsing case where comic special parsing wasn't being called on comic libraries
- Fixed an issue where the dropdown on the admin server page would not work on Safari or other iOS browsers.
- Fixed an issue when css escaping epub files, where imports would sometimes fail to rewrite url paths due to other naming convention
- Fixed parsing issues resulting in broken pages due to unique situations like imported css files with no content, different comment formats than expected in CSS files, etc.
- Removed an empty File for when covers/ had nothing in it.
- Fixed an issue where docker users were not properly backing up the database.
- Fixed a bug in the scanner where we fall back to parsing from folders for poorly named files. The code was exiting early if a chapter or volume could be parsed out.
- Fixed a case where cover image selection preferred nested folders vs files in root directory for archives. This results in improved cover image selection.
- Ignore Hidden and System folders when doing a library scan
- Accept all forwarded headers to fix an issue where **some** epubs could have nested requests on HTTP, when user is using HTTPS reverse proxy, thus causing images or fonts to fail to load.