* Allow users to setup an account with a fake email and the same username without hitting the validate username code.
* Fixed a bug where opds url could have //.
Fixed a bug where baseurl wasn't being used for invite link generation
* Fixed enum mismatch causing age rating to display incorrectly on UI
* 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
* Fixed a regression where confirm-email was validating for a real email when it's not required.
* Fixed fit to screen breaking as canvas was still showing on the screen when it should have been hidden.
* Fixed a missing age rating in the pipe
* Fixed fit to height not properly aligning the image
* Tweaked Startup check for base url
* Updated a ton of dependencies. PDFs reader got a big update from PDF.js 2.6 -> 3.x
* Rolled back fontawesome update
* Updated to latest angular patch. Fixed search being too long instead of just to the end of the browser screen.
* Fixed alignment on download icon for download indicator in cards
* Include progress information on Want To Read API and when marking something as Read, perform cleanup service on want to read.
* Removed mark-read updating want to read. As there are series restrictions and it could be misleading.
* Tweaked login page spacing when form is dirty
* Replaced an object instantiation
* Commented out a few tests that always break when updating NetVips (but always work)
* Updated ngx-toastr
* Added styles for alerts to Kavita. They were somehow missing. Fixed an issue where when OPDS was disabled, user preferences wouldn't tell them.
* Wired up a reset base url button to match Ip Addresses
* Disable ipAddress and port for docker users
* Removed cache dir since it's kinda pointless currently
* Started the update for OPDS BaseUrl support
* Fixed OPDS url not reflecting base url on localhost
* Added extra plumbing to allow sending a real email when testing a custom service.
* Implemented OPDS support under Base Url. Added pagination to all APIs where applicable.
* Added a swallowing of permission denied on Updating baseurl in index.html for inapplicable users.
* Fixed a bad test
* fixed: BaseUrl option is not supported in Docker
- discussion in #1824, the checks should not have been added in the first place
* changed: contributors require .NET 7.0+ in order to build
* Fixed up an issue where image might be cut off in fit to height
* Removed some calls to backend for translating age rating to a string
* Fixed an issue with sizing on page splitting right to left.
* Ensure all image access requires apikey
* Removed a TODO
* Removed packages not used anymore
* Reverted removing lazysizes
* Removed the svg for image in case it's causing google security issues.
* Removed unneeded service
* Updating password validation
# Changed:
- Changed: Updated password validation to use pattern so user can not submit or create passwords <6 or >32 characters long.
* Removed the svg for image in case it's causing google security issues.
---------
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
# Fixed
- Fixed a formatting issue where there was a unnecessary - at the beginning of titles. (develop)
# Changed
- Updated github action version. (develop)
* Flattening OPDS Structure
# Changed
- Flattened OPDS structure to reduce user taps.
* Fixing format
* Fixing book series titles
* Optimized file size to use pre-calculated data to avoid an I/O touch.
* Fixes#1898 by aligning all content headers to the correct MIME types
* Remove dead code
* Fixed a bug with continue point where it fails on chapters or volumes tagged with a range
---------
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* 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>
* Donate styling
# Changed
- Changed the styling and positioning of the donate button to still be visible but less intrusive and more cohesive to the application.
* Updated pr action
* Revert "Updated pr action"
This reverts commit d3f7c7b2edfdcdbb79acb9e7816247ef5ebc30ea.
* Removed SecurityEvent middleware solution. It was out of scope originally.
* Fixed manage users still calling pending when the api is no more
* Added back the online indicator on manage users
* 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
* Fixed bad yaml
---------
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>
* Use Reading Order to count epub pages rather than raw HTML files.
* Send email on background thread for initial invite flow.
* Reorder default writing style for new users so Horizontal is default
* Changed reading activity to use average hours read rather than events to bring more meaningful data.
* added ability to start reading incognito from the top of series detail, needs a bit of styling help though.
* Refactored extensions out into their own package, added new fields for reading list to cover total run, cbl import now takes those dates and overrides on import. Replaced many instances of numbers to be comma separated.
* Added ability to edit reading list run start and end year/month. Refactored some code for valid month/year into a helper method.
* Added a way to see the reading list's release years.
* Added some merged image code, but had to remove due to cover dimensions not fixed.
* tweaked style for accessibility mode on reading list items
* Tweaked css for non virtualized and virtualized containers
* Fixed release updates failing
* Commented out the merge code.
* Typo on words read per year
* Fixed unit tests
* Fixed virtualized scroll
* Cleanup CSS
* Fixes bus in vertical writing mode.
* Reworks how the images gets resized. They should be more adaptive and pages with single images will get centered.
* Adds back an unintended change
* Revert "Fixes bus in vertical writing mode."
This reverts commit a1cf9675def45fd626a149d90f573104b5d280cd.
* Added debounce and timeout to the updateImageSize to prevent it from getting run before the page loads
* Fixes semicolons missing semicolons
* Improves the detection in checkSingleImagePage.
* 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
* Fixed up a localization lookup test case
* Refactored some webp to a unified method
* Cleaned up some code
* Expanded webp conversion for covers to all entities
* Code cleanup
* Prompt the user when they are about to delete multiple series via bulk actions
* Aligned Kavita to OPDS-PS 1.2.
* Fixed a bug where clearing metadata filter of series name didn't clear the actual field.
* Added some documentation
* Refactored how covert covers to webp works. Now we will handle all custom covers for all entities. Volumes and Series will not be touched but instead be updated via a RefreshCovers call. This will fix up the references much faster.
* Fixed up the OPDS-PS 1.2 attributes to only show on PS links