* Fixed a missed case where downloading a single file that is an epub (or cb7, zip, 7z) file would cause a critical error and the download would fail without any information.
Series Parsing now, at the end of the Parse() call if we still haven't figured out the Series, will default to taking the file name and cleaning it. This allows files that have no numbers to be picked up.
* Hooked up logic for collections based on EPUB3.2 Spec and Fixed improper tags in EPUBs since it is XML and we are using HTML to parse it.
* Fixed a bug with src:url url replacing so that it's much cleaner regex
* SP# is now a way to force the file to be a special rather than pushing it into a Specials folder.
* Made it so if there is a Special (for any Parse call), volume and chapters will be ignored.
* Fixed a unit test missing Theory and fixed a regex case
* Removed "Anthology" from being a special parsing keyword as series are being found where "Anthology" is in the series name.
* SP# is now a way to force the file to be a special rather than pushing it into a Specials folder.
* Implemented the ability to download files (series, volume, chapter)
* Added RBS checks to ensure user is either an admin or has download role
* Added the ability to change a users feature RBS. Changed the Role seed to use reflection
* Switched to using existing NaturalSortComparer for ordering filenames before we reprocess them to ensure they are in the correct natural reading order.
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* If the user is on Debug, allow logging DB params to the logger. Implemented the ability to change logger from UI and to keep the DB settings of LogLevel and Port in sync with appsettings.
* Exclude a lot more clutter from hitting Sentry
* Removed github action
* Small cleanup
* Fixed a bug on getting next/previous chapters where if chapters were not inserted into the DB in the natural order, then the next/prev chapter would be skewed.
* Make GetNextChapterId static
- Updated route task for 'recently-added'.
- Refactored GetRecentlyAdded task instead of creating new API task. This way is more efficient and prevents bloat.
- Adding pageSize to UserParams.cs (got lost in PRs).
* Added book reader reading direction preference
* Adds a new marker to the AppUserProgress to capture nearest anchor for resuming scroll point when reading books. Refactored bookmark api to return a BookmarkDto which includes this new data.
* Fixed the readme image displaying issue and changed up a bit more of the layout.
* Added book reader reading direction preference
* Adds a new marker to the AppUserProgress to capture nearest anchor for resuming scroll point when reading books. Refactored bookmark api to return a BookmarkDto which includes this new data.
* Generate SeriesMetadata when creating Series from Scanner.
* Ignore errors from BookService
* Fixed a case where we used First() when it should have been FirstOrDefault() to fail when there are no cover images (or images)
* Updated README to be explicit that kavita.db needs to be writable.
* Implemented a new Exception type that is for throwing a message to UI without logging in Sentry.