* Lots of cleanup on the warnings in the solution. Deprecated IsLastWriteLessThan and made a new method HasFileBeenModifiedSince.
* Added some tests for the new extension method.
* Changed filter import to use correct import
* Scan Series now uses Refresh Metadata for Series, rather than library one.
* Fixed an issue where cover generation wasn't properly taking forced update into consideration. Removed a case of cover generation for no reason.
* Fixed series downloads not triggering backend call
# Fixed
- Fixed: Clean the pdf extension from Series title for PDF types
- Fixed: Fixed a bug where a forced metadata refresh wouldn't trigger a volume to force a refresh of cover image
- Fixed: Fixed an issue where Removing series no longer on disk would not use the Series Format and thus after deleting files, they would not be removed.
- Fixed: Fixed an issue with reading a single image file, where the cache code would not properly move the file
- Fixed: For Specials, Get Next/Prev Chapter should use the filename instead of arbitrary Number (which is always 0). Use the same sorting logic when requesting volumes on series detail, so sorting can happen in the backend.
# Added
- Added: (Accessibility) Nearly every page has had a title set for it
===============================================================================
* Clean the pdf extension from ParseSeries
* Fixed a bug where forced metadata refresh wouldn't trigger the volume to update it's image.
* Added titles to most pages to help distinguish back/forward history.
Fixed a bug in the scanner which didn't account for Format when calculating if we need to remove a series not on disk.
* For Specials, Get Next/Prev Chapter should use the filename instead of arbitrary Number (which is always 0). Use the same sorting logic when requesting volumes on series detail, so sorting can happen in the backend.
* Fixed unit tests
* 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.