* Code cleanup.
Fixed OPDS images missing api key.
Fixed theme color on site manifest not being black.
* Removed a console.log from timeago pipe
* Reading list page is now alphabetical and the modal for adding to a reading list is ordered by most recent.
* Fixed a bug where remove read from reading list failed due to Calculating Start and End date assuming chapter would always be there.
* Fixed a bug where reading list cover would get reset when editing the reading list.
* Fixed a bug where reading list item didn't have not read badge. It's on old style.
* Fixed a bug where user-preferences was hitting an admin only api when there was a better alternative
* Slight memory improvement on a common db call
* Fixed a bug where resetting to default theme when a theme was deleted was throwing an exception and failing.
* All Login dtos now have the active KavitaVersion to make external apps able to handle what version of the API they are connecting with.
* Fixed up a case where getVolume repo method always assumed there was a volume by that Id.
* Implemented the ability to generate reading lists from StoryArc and StoryArcNumber ComicInfo fields.
* Refactored to add AlternativeSeries support.
* Fixed up the handling when we need to update reading list where order is already present.
* Refactored how skipping empty reading list pairs works
* Updated number inputs with a more mobile friendly control
* Started writing lots of unit tests on PersonHelper to try and hammer out foreign constraint
* Fixes side-nav actionable alignment
* Added some unit tests
* Buffed out the unit tests
* Applied input modes throughout the app
* Fixed a small bug in refresh token validation to make it work correctly
* Try out a new way to block multithreading from interacting with people during series metadata update.
* Fixed the lock code to properly lock, which should help with any constraint issues.
* Locking notes
* Tweaked locking on people to prevent a constraint issue. This slows down the scanner a bit, but not much. Will tweak after validating on a user's server.
* Replaced all DBFactory.Series with SeriesBuilder.
* Replaced all DBFactory.Volume() with VolumeBuilder
* Replaced SeriesMetadata with Builder
* Replaced DBFactory.CollectionTag
* Lots of refactoring to streamline entity creation
* Fixed one of the unit tests
* Refactored all of new Library()
* Removed tag and genre
* Removed new SeriesMetadata
* Refactored new Volume()
* MangaFile()
* ReadingList()
* Refactored all of Chapter and ReadingList
* Add title to all event widget flows
* Updated Base Url to inform user it doesn't work for docker users with non-root user.
* Added unit test coverage to FormatChapterTitle and FormatChapterName.
* Started on Unit test for scanner, but need to finish it later.
---------
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>