Changed with 0c4ce2c9c5, but it does not work because the chapters state could have changed in the meantime, changing the chapters included in the query response, which is not represented by the cached query
There is a potential that the cached chapters state is outdated, but this is a marginal issue and is preferred over sending a request to the server everytime for data that is most likely already known.
The triggered downloads will also reflect what is currently shown in the UI, so it will most likely never be known if some chapter state was outdated.
In case the next 5 chapters should get downloaded and they are all the same chapter from different scanlators, then the download actually only included 1 chapter.
To fix this duplicated chapters are counted as 1 chapter
In case a manga was fully read and a new chapter was found during a library update, the resume button was not correctly updated and pointed to the first chapter.
This regression was introduced with fe2cb682b6
Instead of checking if download ahead is required because not enough unread downloaded chapters existed, it just downloaded the next n unread undownloaded chapters
* Require "Theme" to be passed to "SxProps"
Decreases typescript performance otherwise
* Disallow "top" and "third-level" MUI imports
* Exclude "node_modules" in tsconfig
* [Tooling] Create script to update dependencies
* Lock dependency versions
* Update dependencies
Wait for eslint related dependencies to be compatible with v9
* Extract CategorySelect usage into hook
* Extract logic to change manga in library state into hook
* Change manga in library state on long press when browsing source
* Update local storage functions
* Update local storage hooks
* Add session storage
* Improve storing virtuoso grid snapshot
* Use "useSyncExternalStore" for browser storage access
* Get rid of location replacements in "AppbarSearch"
Use session storage instead to prevent reloading the page all the time due to changing the location
* Get rid of location replacements in "SourceMangas"
Use session storage instead to prevent reloading the page all the time due to changing the location
* [Codegen] Update generated files
* Use new "unbindTrack" mutation
* Add option to delete remote track on unbind
* [VersionMapping] Require server version "r1510" for preview
In the reader the preloaded page requests were triggered before the actual page got rendered and thus, the image request of the rendered page had to wait for all the preloaded images to finish
Prevent exhausting the available concurrent requests to the same domain by the browser with just image requests.
This prevents e.g. when browsing a slow source from having 6 concurrent image requests and having to wait for the next page request until one of those requests has finished
* Use "fetch" instead of "axios"
Axios does not support prioritizing requests
* Deprioritize image requests
The browser requests images (<img>) with low priority by default.
Due to switching to loading images via axios (f852ce70e7), the image requests had the same priority as other requests and thus blocked e.g. xhr requests