* 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>
* Fixed bookmarking failing to convert to webp
* Brought the ag-swipe/ng-swipe code into Kavita due to being abandoned by developer and angular requirements.
* Fixed average reading time per week finally
* Cleaned up some extra decimals on time duration pipe
* Don't try to update index.html for base url on local. Fixed ag-swipe on prod mode.
* Updated a link on theme manager to point to the new github
* Range knobs should be primary color on firefox too
* Implemented the ability to get thumbnails of pages inside an archive or pdf.
* Updated packages and fixed opds-ps 1.2 issue
* Fixed lock file
* Allow Kavita's Swagger to hit instances with CORS
* Added IP/Request logging for Security Audits
* Linked up Summary tag from CBL into Kavita.
* Redid the migration so SecurityEvent now has UTC date as well.
* Split security logging to a separate file
* Update to new versions of checkout and setup
* Added a PR check on PR body to ensure that it doesn't contain any characters that break our discord hook.
* Updating action
* optimize regex in action
* Fixed an issue where fit to width would cause the actual height of the image to be shown for pagination bars, instead of rendered.
* Added some new code in GetPageFromFiles to ensure pages that exceed array map down to last file.
* Added comment about robots
* Fixed up unit tests for new ReaderService signature
* Kavita now cleans up empty reading lists at night
* Don't allow nightly cleanup to run if we are running media conversion tasks
* Fixed some bugs in typeahead, it should behave much more reliably.
* Fix an issue where emulate comic book wasn't extending to the bottom properly
* Added support for Series Chapter 001 Volume 001
* Refactor XFrameOptions="SameOrigins" out to allow users to override in appsettings.json.
* Added a rate limiter for some endpoints, but it doesn't seem to be triggering
---------
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Moved Collapse Series with relationships into a user preference rather than library setting.
* Fixed bookmarks not converting to webp after initial save
* Fixed a bug where when merging we'd print out a duplicate series error when we shouldn't have
* Fixed a bug where clicking on a genre or tag from server stats wouldn't load all-series page in a filtered state.
* Implemented the ability to have Login role and thus disable accounts.
* Ensure first time flow gets the Login role
* Refactored user management screen so that pending users can be edited or deleted before the end user accepts the invite. A side effect is old legacy users that were here before email was required can now be deleted.
* Show a progress bar under the main series image on larger viewports to show whole series progress.
* Removed code no longer needed
* Cleanup tags, people, collections without connections after editing series metadata.
* Moved the Entity Builders to the main project
* Updated to net7.0
* Updated GA to .net 7
* Updated System.IO.Abstractions to use New factory.
* Converted Regex into SourceGenerator in Parser.
* Updated more regex to source generators.
* Enabled Nullability and more regex changes throughout codebase.
* Parser is 100% GeneratedRegexified
* Lots of nullability code
* Enabled nullability for all repositories.
* Fixed another unit test
* Refactored some code around and took care of some todos.
* Updating code for nullability and cleaning up methods that aren't used anymore. Refctored all uses of Parser.Normalize() to use new extension
* More nullability exercises. 500 warnings to go.
* Fixed a bug where custom file uploads for entities wouldn't save in webP.
* Nullability is done for all DTOs
* Fixed all unit tests and nullability for the project. Only OPDS is left which will be done with an upcoming OPDS enhancement.
* Use localization in book service after validating
* Code smells
* Switched to preview build of swashbuckle for .net7 support
* Fixed up merge issues
* Disable emulate comic book when on single page reader
* Fixed a regression where double page renderer wouldn't layout the images correctly
* Updated to swashbuckle which support .net 7
* Fixed a bad GA action
* Some code cleanup
* More code smells
* Took care of most of nullable issues
* Fixed a broken test due to having more than one test run in parallel
* I'm really not sure why the unit tests are failing or are so extremely slow on .net 7
* Updated all dependencies
* Fixed up build and removed hardcoded framework from build scripts. (this merge removes Regex Source generators). Unit tests are completely busted.
* Unit tests and code cleanup. Needs shakeout now.
* Adjusted Series model since a few fields are not-nullable. Removed dead imports on the project.
* Refactored to use Builder pattern for all unit tests.
* Switched nullability down to warnings. It wasn't possible to switch due to constraint issues in DB Migration.
* Moved logic from TachiyomiController.cs to TachiyomiService.cs
* Added GetLatestChapter Unit Tests
* Tachiyomi more tests.
Implemented test for yearly volumes
* MarkVolumesUntilAsRead unit test
* Registered tachiyomi service.
Added new test
* Fixed test pages
* Added missing check if its single-file volume
* Removed dead code
* Added method documentation and breaked thousands with `_`
* Review details and renamed test method to be more descriptive
* Review changes
- Removed automapper
- Added spaces after commas
- Added class documentation (copied from controller)
- Made Culture static
- Added 'R' doc linking to docs.ms
- Added trycatch to service when saving progress and logged
- Removed redundant qualifiers
* finishing touches
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>