* Added playwright and started writing e2e tests.
* To make things easy, disabled other browsers while I get confortable. Added a login flow (assumes my dev env)
* More tests on login page
* Lots more testing code, trying to figure out auth code.
* Ensure we don't track DBs inside config
* Added a new date property for when chapters are added to a series which helps with OnDeck calculations. Changed a lot of heavy api calls to use IEnumerable to stream repsonse to UI.
* Fixed OnDeck with a new field for when last chapter was added on Series. This is a streamlined way to query.
Updated Reading List with NormalizedTitle, CoverImage, CoverImageLocked.
* Implemented the ability to read a random item in the reading list and for the reading list to be intact for order.
* Tweaked the style for webtoon to not span the whole width, but use max width
* When we update a cover image just send an event so we don't need to have logic for when updates occur
* Fixed a bad name for entity type on cover updates
* Aligned the edit collection tag modal to align with new tab design
* Rewrote code for picking the first file for metadata to ensure it always picks the correct file, esp if the first chapter of a series starts with a float (1.1)
* Refactored setting LastChapterAdded to ensure we do it on the Series.
* Updated Chapter updating in scan loop to avoid nested for loop and an additional loop.
* Fixed a bug where locked person fields wouldn't persist between scans.
* Updated Contributing to reflect how to view the swagger api
* Updated readme with new host information and new feature site.
* Implemented basic fit to screen splitting option for manga reader such that the reader will try to fit the whole cover on the screen via scaling it.
Updated a bunch of defaults in the preferences to give a better experience for first installs.
* Refactored the stat scheduling code slightly to clean it up and have better logging.
* Replaced @import with @use to lower css bundling.
* Changed up the defaults for the reading preferences to give a better experience. Fixed a duplicate render on automatic scaling due to emitting a valuechange with automatic scaling changing fit.
Implemented basic form of fit to screen. Still needs some tweaking and optimization.
* Update link to new feature server and update kavita homepage to use www.
* Updated the serverInfo to match backend. Tweaked some of the css for the changelog
* Added publish date for changelog
* First page works except for tablet
* I'm stumped, taking a break
* Hide the arrow for nav events
* Ensure specials in reading lists don't have their extensions visible
* Testing out removing no-connection
* Fixed a bug in infinite scroller where next chapter spacer when clicked would emit for prev chapter load. Fixed an issue where next/prev chapter loaders would execute when they shouldn't.
* Fit Split is working in all cases as of this code. New optimization is still needed.
* Fit to screen is now working well
* Updated the bookmark effect to look much better
* Updated new issue template to inform users to request features on our site.
* Removed an empty migration
* Navigate users to library page instead of home to prevent history block.
* Cleaned up the Contributing to describe new code structure
* Fixed a critical bug for how we find files for a chapter download (use ChapterId for lookup, not MangaFile.Id). Refactored how downloading works on the UI side to use the backend's filename whenever possible, else provide a custom name (and use backend's extension) for bundled downloads.
* Fixed a bug where scroll intersection wasn't working on books without a table of content, even though it should have.
* If user is using a direct url and hits an authentication guard, cache the url, allow authentication, then redirect them to said url
* Added a transaction for bookmarking due to a rare case (in dev machines) where bookmark progress can duplicate
* Re-enabled webtoon preference in reader settings. Refactored gotopage into it's own, dedicated handler to simplify logic.
* Moved the prefetching code to occur whenever the page number within infinite scroller changes. This results in an easier to understand functioning.
* Fixed isElementVisible() which was not properly calculating element visibility
* GoToPage going forwards is working as expected, going backwards is completly broken
* After performing a gotopage, make sure we update the scrolling direction based on the delta.
* Removed some stuff thats not used, split the prefetching code up into separate functions to prepare for a rewrite.
* Reworked prefetching to ensure we have a buffer of pages around ourselves. It is not fully tested, but working much better than previous implementation. Will be enhanced with DOM Pruning.
* Cleaned up some old cruft from the backend code
* Cleaned up the webtoon page change handler to use setPageNum, which will handle the correct prefetching of next/prev chapter
* More cleanup around the codebase
* Refactored the code to use a map to keep track of what is loaded or not, which works better than max/min in cases where you jump to a page that doesn't have anything preloaded and loads images out of order
* Fixed a bad placement of code for when you are unauthenticated, the code will now redirect to the original location you requested before you had to login.
* Some cleanup. Fixed the scrolling issue with prev page, spec seems to not work on intersection observer. using 0.01 instead of 0.0.
* Code cleanup, refactored FileRepository into Unit of Work.
* Added AutoCloseMenu and ReaderMode user perferences to match UI
* Added extra information to ChapterInfo
* Build changes
* Updated the readme to have open collective information and thanks to sponsors
* Fixed an issue with UnitOfWork refactor and how stats was bootsrapped. Replaced stats.kavitareader with a temp url to test out redirection bug.