* 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>
* Fix signalr admin messages sending (#1809)
* Changed messsage hub to use userIds
* SignalR events are fixed
* Fixed broken advanced tab on library settings
* Fixed regex timeout security issues.
* Added a migration for GMT+1 users where their UTC dates were getting broken somehow.
* Removed a console.log
* Fixed a migration name
---------
Co-authored-by: Snd-R <76580768+Snd-R@users.noreply.github.com>