Commit Graph

190 Commits

Author SHA1 Message Date
schroda
fdf78145f0 [VersionMapping] Update to latest server gql schema changes
Server now supports partial mutation responses.
2024-06-03 03:09:58 +02:00
schroda
cf996d67bb Add "isMobileWidth" util function 2024-05-23 02:37:40 +02:00
schroda
297ec2580b Copy manga title on long press 2024-05-23 02:28:43 +02:00
schroda
ea6eac5066 Consider tracker logged out if token is expired
Server returns logged in state for a tracker even while the token has expired
2024-05-22 23:24:05 +02:00
schroda
e9ee43b9b4 Use "DayJs" instead of "Date" 2024-05-21 22:22:12 +02:00
schroda
09ee5e6862 Extract dayjs setup into file 2024-05-21 20:45:13 +02:00
schroda
d889be558e Remove unnecessary "??" operator usage 2024-05-20 17:44:27 +02:00
schroda
a65ca228fe Keep initial opened chapter as duplicate reference
In case "skip duplicated chapters" is enabled and the next chapter is from a different scanlator, the initial opened chapter should still be used to remove duplicated chapters.

Otherwise, the original scanlator would get lost and the scanlator of the next chapter would get used, which was only a fallback chapter, because the initial chapters scanlator did not have a next chapter.
2024-05-13 04:04:41 +02:00
schroda
760de9e791 Fetch "chapters with state" sorted by asc "source order"
It was possible that the chapters were out of order which e.g. could cause issues with selecting the next chapters to download
2024-05-13 01:24:13 +02:00
schroda
5cb541b684 Add functionality to save source browse searches 2024-05-08 13:45:56 +02:00
schroda
93f76d6b7e Reduce active apollo queries 2024-05-08 13:45:42 +02:00
schroda
f2be29ea3a Show search tips for MyAnimeList 2024-05-07 14:42:02 +02:00
schroda
86ec83a2ef Handle missing trackers in backup validation result 2024-05-07 02:28:08 +02:00
schroda
63543a48e3 Add option to disable server update checks 2024-05-07 01:08:08 +02:00
schroda
51a0173927 Add option to disable webUI update checks 2024-05-07 01:06:33 +02:00
schroda
4d04b9cecd Only abort pending image requests
In case images are requested of a slow source, aborting image requests that are already in progress will cause the server to take forever for new source image requests because it's still processing the aborted image requests.
Thus, aborting ongoing image request might cause more harm than good, since the server will basically become "unresponsive" for new images requests of this source.

By only aborting pending requests, that have not been sent to the server yet, new image requests will only be handled once the active requests are done, preventing the server from getting spammed with image requests that potentially are just getting aborted immediately again (e.g. due to scrolling quickly in the source browse page), but still will be handled by the server, blocking new requests
2024-05-06 02:37:00 +02:00
schroda
f66051d398 Check for duplicated library manga on add to library 2024-05-04 14:43:41 +02:00
schroda
5ab921aba7 Fix TypeError in Mangas::downloadChapters
In case a manga was completely downloaded, the grouped chapters did not contain a list for the specific manga id, resulting in an TypeError due to trying to use the array as if it was not undefined
2024-04-30 00:39:47 +02:00
schroda
7866fdb9f1 Never use cache for manga chapters with state query
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
2024-04-29 14:54:18 +02:00
schroda
3f507e0a30 Keep order of chapters when removing duplicates 2024-04-29 12:37:11 +02:00
schroda
f1ec97b0e6 Extract fetch logic into parent setting components 2024-04-28 02:58:38 +02:00
schroda
773d2b1026 Add missing error handling 2024-04-28 02:58:24 +02:00
schroda
3b276f9f58 Keep downloaded thumbnails when clearing server cache 2024-04-27 00:03:37 +02:00
schroda
09bf1163fa Remove logging of image request failures 2024-04-26 17:29:58 +02:00
schroda
0c4ce2c9c5 Use cache to query chapters with state
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.
2024-04-23 13:54:04 +02:00
schroda
23e639a4e9 Ignore duplicated chapters for download limits
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
2024-04-23 13:46:59 +02:00
schroda
6e4596c649 Include manga chapter fields in update subscription
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
2024-04-22 22:22:18 +02:00
schroda
2066851793 Optionally migrate track bindings 2024-04-21 00:02:43 +02:00
schroda
0d8bb789a0 Rename metadata migration setting flags 2024-04-20 23:26:34 +02:00
schroda
1a16dba7bd Add option to update tracking on manual mark as read 2024-04-20 23:15:02 +02:00
schroda
d35ef4fa7f Remove incorrect "change_categories" options type from Chapters::performAction 2024-04-20 22:56:45 +02:00
schroda
a1c0ec82b8 Add setting to disable tracking update while reading 2024-04-20 22:25:40 +02:00
schroda
6f12ae7e4a Correctly download ahead for batch download action 2024-04-20 21:52:18 +02:00
schroda
b1f97fdf69 Chapters download menu download ahead only if required
Instead of checking if download ahead is required because not enough unread downloaded chapters existed, it just downloaded the next n unread undownloaded chapters
2024-04-20 02:40:10 +02:00
schroda
52e077ff19 Add chapters download menu 2024-04-20 01:43:06 +02:00
schroda
6b066fe8ca Extract Mangas action option types 2024-04-20 01:42:05 +02:00
schroda
8ebd028d25 Update to node v21.7.3
Use "Object::groupBy"
2024-04-20 01:31:19 +02:00
schroda
473e85a8ed Feature/use second level mui imports (#743)
* Require "Theme" to be passed to "SxProps"

Decreases typescript performance otherwise

* Disallow "top" and "third-level" MUI imports

* Exclude "node_modules" in tsconfig
2024-04-14 15:50:12 +02:00
schroda
d0d21b00d5 Fix/server side UI settings saved per device instead of global (#740)
* Make last used migration dialog flags global settings

Were saved per device

* Make "hide library entries" a global setting

Was saved per device
2024-04-14 15:12:17 +02:00
schroda
76125a7617 Feature/update dependencies (#738)
* [Tooling] Create script to update dependencies

* Lock dependency versions

* Update dependencies

Wait for eslint related dependencies to be compatible with v9
2024-04-14 15:10:34 +02:00
schroda
f036f01f70 Fix/properly reset cache and queues on server url change and backup import (#725)
* Reset cache on server url change

* Reset image queue

* Completely reset apollo store
2024-04-10 01:23:08 +02:00
schroda
6c43e974e2 Fetch images via html img elements (#727) 2024-04-10 01:22:47 +02:00
Angel
5f7240d93b Include credentials in requests (#721)
* feat(request manager): adds header to send cookies, and other auths with every request

* refactor(.gitignore): removes local env from .gitignores
2024-04-10 00:04:30 +02:00
schroda
5edb14aefc Feature/settings auto downlaod add new exclude reuploads setting (#717)
* [Codegen] Update generated files

* [Tooling] Run ts-node with transpile only option

* Add new ignore re-uploads from auto download setting
2024-04-07 21:47:07 +02:00
schroda
29860482a6 Feature/browse source manga long press remove add manga from library (#710)
* 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
2024-04-07 15:33:08 +02:00
schroda
aab3e25031 Feature/improve restoring grid snapshots (#713)
* 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
2024-04-07 15:22:03 +02:00
schroda
0d0cd54249 Fetch latest track data from tracker (#692) 2024-04-01 02:06:35 +02:00
schroda
5a2f77d124 Trigger track progress on last page read of chapter (#690) 2024-04-01 01:22:49 +02:00
schroda
4f7a05f6fe Add bookmarked filter in library (#687) 2024-04-01 01:12:26 +02:00
schroda
fe2cb682b6 Use first unread chapter for continue read buttons (#689) 2024-04-01 00:57:47 +02:00