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.
* Readme refactored to be more clean and clear, taking inspiration from wiki.js's readme.
* Initial backend for Collections and basic metadata implemented.
* More build flavors for Raspberry Pi users and updated Install since we don't need users to set their own JWT Token Key. Update a typo in appsettings.json file for prod.
* Fixed#224. Sort before getting a First?Last() chatper
* The rough ability to add and get series metadata and tags.
* Fix a bug on getting metadata for when it doesn't exist.
* Fixed a bug where flattening directories with some unique filenames could cause reading order of images to be out of order.
* Added a seed code to ensure all series have SeriesMetdata
* Ensure all instances of opening an epub is using "using" so we don't lock the file. When we have a malformed html file, log the issues and inform the user we can't open the file.
* Book reader now handles @Import "" statements in CSS and inlines the css into css file that references them. This allows for them to be scoped. In addition, if the html or body tag had classes, we now send back a single div with those classes.
* Fixed GetSeriesDtoForCollectionAsync which was not properly returning series
* Implemented cover image for collection tag. Fixed an issue in metadata update call.
* Add check for user access when resolving series for a collection tag. When asking for all tags, if the user is not an admin, only give promotoed tags back.
* Implemented updateTag api
* Implemented the ability to update series the tags have access to.
* Cleanup, sorting, and null check
* More sorting changes
* Ensure we can delete tags when editing a series tags
* Fix order of update to make sure a tag is properly deleted
* Code smells
* More build flavors for Raspberry Pi users and updated Install since we don't need users to set their own JWT Token Key. Update a typo in appsettings.json file for prod.
* More regex! Bonus is now a keyword for specials
* Regex enhancement, Sort chapters on next/prev chapter to ensure they always in proper order, and don't set JWT on starup when in development mode.
* Fixes KAVITA-H. Check to ensure non numeric characters are not in range string before attempting to parse a float out.
* More regex! Bonus is now a keyword for specials
* Regex enhancement, Sort chapters on next/prev chapter to ensure they always in proper order, and don't set JWT on starup when in development mode.
* Implemented the ability to change the JWT key on runtime.
* Added .7z file extension support
* Cleanup
* Added Feathub link
* Code cleanup
* Fixed up a build issue on CI
* Fixed a parsing case
* Integrated Sentry into the solution with anonymous users. Fixed some parsing issues and added BuildInfo into a separate project.
* Fixed some bad parser regex
* Removed bad reference to NLog
* Cleanup of some files not needed
* Removed an error log statment which wasn't valid. Was showing error when a comicinfo.xml was not found in a directory.
* Fixed#191. Don't overwrite summary information if we already have something set from UI.
* Fixes#192
* Fixed#194 by moving the Take to after the query runs, so we take only distinct series.
* Added another case for Regex parsing for VanDread-v01-c01.zip
* Remove automatic retry for scanLibraries as if something fails, it wont pass magically. Catch exceptions when opening books for parsing and swallow to ignore the file.
* Delete extra attempts
* Switched to using FirstOrDefault for finding existing series. This will help avoid pointless crashes.
* Updated message when duplicate series are found (not sure how this happens)
* Fixed a negation for deleting volumes where files still exist.
* Implemented the ability to automatically scale the manga reader based on screen size.
* Default to automatic scaling
* Fix an issue where malformed epubs wouldn't be readable due to incorrect keys in the OPF. We now check if key is valid and if not, try to correct it. This makes a page load about a second on malformed books.
* Fixed#176. Refactored the recently added query to be restricted to user's access to libraries.
* Fixed a one off bug with In Progress series
* Implemented the ability to refresh metadata of just a single series directly
* Fixed a parser case where Series c000 (v01) would fail to parse the series
* Fixed#189. In Progress now returns data properly for library access and in multiple libraries.
* Fixed#188 by adding an extra message for bad login and updating UI
* Generate a fallback for table of contents by parsing the toc file (if we can find one)