Commit Graph
100 Commits
Author SHA1 Message Date
schroda e53d064c92 Improve auto background color
Colors need to be normalized per border so that the multiplier is applied to the sum of the normalized colors.
Normalize the returned color with adjusted thresholds compared to the normalization for the color extraction.
During the extraction the normalization shouldn't be too aggressive to prevent messing up the detection for the color with the highest proportion. Once we have detected the color, we want to be more aggressive about normalizing white and black colors to ensure the background color matches true white and black instead of being slightly off
2026-07-20 17:36:22 +02:00
schroda 13544e141b [skip ci] Prevent MUI console error
"A component rendering a native <button> resolved to a non-<button> element..." which was logged in case the button was disabled
2026-07-16 21:37:06 +02:00
schroda 3562f5f647 Add auto reader background color 2026-07-15 22:38:57 +02:00
schroda 7559676e68 Fix standard progress bar transition with large page texts
In case the double page reading mode was used and the current page was a double page, the transition got messed up due to the page text wrapping and growing in height
2026-07-15 14:34:35 +02:00
schroda 79ac2c3d27 Show page number with standard desktop progress bar 2026-07-15 14:28:15 +02:00
schroda d2304e6880 Show total page in reader desktop page select
Example:
- 10 total pages
- 4 is current page

select shows: 4 / 10
2026-07-15 14:19:32 +02:00
schroda 2c4c1dabe0 Fix refetching categories after library database cleanup
GET_CATEGORIES_LIBRARY, GET_CATEGORIES_SETTINGS share the same query key in the cache. However, both select different fields.
When cleaning up the database in the library settings, the SETTINGS query is active and refetches due to the cache eviction.
This then wrote the query back into the cache pointing to the existing CategoryType fragments in the cache.

The problem was that the SETTINGS query selects fewer fields than the LIBRARY query.
Due to the query now existing again in the cache, the LIBRARY query was not refetched.
Instead, it used the cached category fragments, which still included the outdated LIBRARY fields from before the eviction
2026-07-15 02:18:21 +02:00
schroda e76de477a3 Fix chapter cards showing outdated download info after queue clear
In case clearing the download queue caused the subscription to omit items, the received items did not get removed from the cache.
This resulted in the DownloadStateIndicator to show outdated download info.
2026-07-15 01:04:08 +02:00
schroda 4023a8117e Hide manga title copy button when unsupported 2026-07-14 17:10:20 +02:00
schroda 172fa4ad14 Fix last sync date 2026-07-14 17:10:20 +02:00
schroda 732c5d2083 Support installing external JARs 2026-07-14 00:27:13 +02:00
schroda f3748017eb [skip ci] Update github pr workflow step names 2026-07-13 14:43:17 +02:00
schroda 5f99b30243 [skip ci] Check formatting in ci 2026-07-13 14:39:51 +02:00
schroda beddcdb297 Improve manga type detection internationalization 2026-07-11 01:25:03 +02:00
schroda 52ab628f9c Fix batch migration arrow rtl icon 2026-07-11 00:18:57 +02:00
schroda 727b4dc645 Fix image processing arrow direction in rtl 2026-07-11 00:18:16 +02:00
schroda 54616caf7a Fix reader desktop nav bar page/chapter select rtl styling 2026-07-10 23:48:23 +02:00
schroda ba9c69b693 Internationalize missed static strings 2026-07-10 11:57:45 +02:00
schroda 44583b5b2f Fix manga reload from source not updating cache
The potential partial response wasn't handled properly which resulted in apollo not updating the cache for the successful part.
E.g., chapter reload failed, and manga refresh succeeded. The manga data of the response should have updated the manga in the cache.
2026-07-07 20:39:39 +02:00
schroda 3112f7c47e Fix native language codes usage in "browse languages"
The native language code returned by the browser could be a code that is not included in the defined ISOLanguages object. E.g. "en-GB" while the object only has "en".

This caused the "English" browse language to not be able to get selected as an allowed language.
2026-07-06 23:57:04 +02:00
schroda 4629b4f868 Show other manga chapter updates collapsed
Follow-up to 38de1e9e08
2026-07-06 17:15:53 +02:00
schroda 84695de684 Fix "extension stores" setting description without any added stores 2026-07-06 17:04:14 +02:00
schroda 38de1e9e08 Show only first unread chapter per manga per day in updates page 2026-07-05 18:55:09 +02:00
schroda 1246cec55d Fix "sync data" setting include/exclude preview 2026-07-02 22:59:01 +02:00
schroda 65ddc24449 Add sync state to settings 2026-07-02 22:44:10 +02:00
schroda 18d926bac4 Fix library manga menu "mark as read" item visibility
Regression ef9e65cf9a
2026-07-02 19:10:02 +02:00
schroda 0df0b03669 [skip ci] Drop old preview version mapping 2026-07-02 12:56:41 +02:00
schroda dd1199f3be Integrate extension api v1.6 changes 2026-07-02 12:40:11 +02:00
schroda 3812a84514 Add new "opds skip chapters metadata feed" setting 2026-07-02 12:40:10 +02:00
schroda aa6ededa10 Use new "fetchMangaAndChapters" mutation 2026-07-02 12:40:10 +02:00
schroda ef0dbef9cd Use new "binTrackRecord" mutation during migration
Does not cause any requests to the trackers during the migration, which prevents getting rate limited

closes #1104
2026-07-02 12:40:09 +02:00
schroda e316668ba6 Ignore reader chapters query refetch load state due to eviction
With 4f4ca98290 the chapter queries are getting evicted to trigger a refetch. This caused the reader to enter the loading state, which messed up the current reading position.
2026-07-02 12:40:09 +02:00
schroda 816409fcb8 Add sync settings 2026-07-02 12:40:09 +02:00
schroda 43fef26b89 Re-add "Add "kcefEnabled" server setting"
Reverts 29bb60c28b
2026-07-02 12:40:08 +02:00
schroda ea8fe0802d Format generated "apollo-helpers" 2026-07-02 12:40:08 +02:00
schroda d4e46bcd8d Remove apollo-helpers codegen-formatting 2026-07-02 12:40:07 +02:00
schroda 70d18dd372 Update version mapping
Re-enable "Sort browse migration manga selection by title"

Reverts 30a6b73648
2026-07-02 12:40:07 +02:00
schroda f145485949 Update apollo cache eviction 2026-06-21 18:37:45 +02:00
schroda 4f4ca98290 Fix outdated manga chapter data in cache
fixes #1087
2026-06-21 18:36:30 +02:00
schroda d66943242c Cleanup migration aborted signal handling 2026-06-21 16:21:17 +02:00
schroda 792c034599 Extract migration entry search state update into function 2026-06-21 15:41:11 +02:00
schroda 0f12bf0607 Extract migration source search into function 2026-06-21 15:31:12 +02:00
schroda c18d770309 Reset error on manual migration entry selection 2026-06-21 15:17:56 +02:00
schroda 456e3400f1 Show error toasts on migration retry failure 2026-06-21 15:17:55 +02:00
schroda 829bd8a7e5 Collapse "other matches" if only result gets selected 2026-06-21 15:17:53 +02:00
schroda 13605c4819 Show manual search migration matches under "other matches" 2026-06-21 15:17:40 +02:00
schroda 6015b7a84b Reset search/migration state on retry
When resuming a migration search, it was possible that an entry search was partially done.
In this case, when retrying, the sources with search results were not retried.
If all retried source searches failed, it was incorrectly treated as if all source searches failed, since it only considers the actually executed search sources, which only included failed/pending sources.
2026-06-21 15:17:37 +02:00
schroda 675c7284e5 Respect manga chapter filters on library manga bulk download 2026-06-19 13:56:48 +02:00
schroda 4bbf7e4784 Fix library manga menu download item visibility
Manga that did not have any downloads didn't show the menu download item option

Regression ef9e65cf9a
2026-06-19 12:51:03 +02:00
schroda 4813bfd882 [skip ci] Add missing chapter download fix changelog entry
Fixed by c53f29b6e7
2026-06-19 11:31:28 +02:00
schroda adf8fdeed3 Include missing migration entry states in progress 2026-06-19 11:16:04 +02:00
schroda c68c2605d1 Add bulk migration manual search selection dialog 2026-06-18 19:07:38 +02:00
schroda 9afbbfcf1f Fix lint issues 2026-06-18 18:55:48 +02:00
schroda b00a02aae6 Remove manual migration progress tracking 2026-06-18 18:52:59 +02:00
schroda 286124adfc Hide action buttons for aborted migration entries 2026-06-18 18:51:33 +02:00
schroda 30a6b73648 Revert "Sort browse migration manga selection by title"
e944c6711e

Requires preview version of the server
2026-06-18 17:27:39 +02:00
schroda f960bf61cf Require confirmation before category deletion
closes #1118
2026-06-18 12:32:52 +02:00
schroda 0c246ade2f Fix scroll preservation on reader setting changes
Observers got disconnected and started again.
Since the images have already been rendered at this point of time, the mutation observer on the scroll element does not detect them anymore.
Thus, exiting image resizes were not observed anymore and did not trigger the preservation logic
2026-06-17 00:40:36 +02:00
schroda dbf8500709 Improve reader end of last page reached detection
#1116
2026-06-17 00:40:36 +02:00
schroda eef5f762cb Fix infinite scroll loading previous chapter unintentionally on reader open
This was only was noticeable in case the transition page was disabled.
Due to potential layout shifts and scrolling the initial page into view, the infinite chapter logic got triggered and loaded the previous chapter.
This is not a 100% guarantee that it won't happen, slow devices might still run into this issue
2026-06-16 18:55:22 +02:00
schroda 5cdc161d46 Fix infinite scroll previous chapter load with disabled transition page
There is no guarantee that the scroll position is exactly 0
2026-06-16 17:58:46 +02:00
schroda ecd628a1d5 Fix preserving scroll position on leading page render
4f10cb06e3 didn't fix it properly
2026-06-15 15:29:58 +02:00
schroda 0016d6d83a Fetch chapter download status with pages mutation
The pages mutation potentially changes the chapters download status, causing the cache to get outdated
2026-06-15 14:05:14 +02:00
schroda 7153441822 Add page gap between chapters with disabled transition page
closes #1116
2026-06-14 15:15:24 +02:00
schroda 55b597c44e Fix updating "MultiSelectListPreference" with non-existing selected values 2026-06-08 16:27:23 +02:00
schroda ea1b048c38 Update dependencies 2026-06-07 19:03:25 +02:00
schroda ef9e65cf9a Fix downloaded consideration of manga without any chapters 2026-06-07 13:39:10 +02:00
schroda c2b2516a93 Fix read/unread consideration of manga without any chapters 2026-06-07 13:20:49 +02:00
schroda e94012b39a Fix TypeError 2026-06-07 00:34:31 +02:00
schroda 024e814254 Fix desktop long press action
After the long press action, the set onClick action was triggered as well.
This caused issues like opening the manga page in the source browse page when adding the manga via a long press to the library
2026-06-06 19:06:44 +02:00
schroda 8d95e7c864 Filter out duplicated genres in manga page 2026-06-06 18:52:24 +02:00
schroda 646907fa19 Fix single migration manga page mobile entrypoint
Regression 278ebb312f
2026-06-06 17:54:56 +02:00
schroda fb439d058e Handle resuming migration with app opened in multiple tabs
- Secure context:
  - Yes: allow only one tab to resume the migration
  - No: disable resume functionality
- Sync progress between tabs
2026-06-06 17:45:43 +02:00
schroda 4ec3c62ae5 Introduce "AppSession" 2026-06-06 15:29:24 +02:00
schroda 4f10cb06e3 Fix preserving scroll position for rtl reading direction and ltr theme direction 2026-06-05 18:55:59 +02:00
schroda ac1845306d Fix download menu item action repeated usage
Regression 19962df378
2026-06-05 15:17:19 +02:00
schroda 09c04f4b62 Prevent being able to migrate entry to itself 2026-06-05 15:17:15 +02:00
schroda 848753022a Improve var/func naming 2026-06-04 15:36:09 +02:00
schroda ad7e7f1771 Improve image preloading of previous/next chapter pages
The previous/next chapter only ever preloaded the first page, ignoring available preload contingent.
I.e., if all leading/trailing pages of the current chapter were loaded, the reader did not keep preloading the previous/next chapters pages
2026-06-04 15:32:11 +02:00
schroda 802079ef3d Fix infinite scroll open previous/next chapter
Regression 53c24280c3
2026-06-03 17:52:57 +02:00
schroda 4a3f0210bf Fix reader desktop navbar settings default marker 2026-06-02 20:05:28 +02:00
schroda f42d7fdbda Ignore tap zone clicks without window focus 2026-06-02 15:48:33 +02:00
schroda 78e2a99847 Simplify changing reader desktop quick settings 2026-06-02 15:48:33 +02:00
schroda 2964612da1 Move "getNextRotationValue" to lib "HelperFunctions" 2026-06-02 13:41:18 +02:00
schroda d7908a2af0 Move "ValueRotationButton" props to component 2026-06-02 13:41:17 +02:00
schroda 1228b5ac2a Rename "MultiValueButton" props to "SelectButton" props 2026-06-02 13:41:17 +02:00
schroda d8a4227d13 Move "MultiValueButton" props to component 2026-06-02 13:41:14 +02:00
schroda a016f0574e Create seprate props for ValueRotationButton 2026-06-02 13:41:02 +02:00
schroda 9d05f87d8e Rename "CustomButtonIcon" to "CustomIconButton" 2026-06-02 13:41:01 +02:00
schroda 21344ad5cb Rename "CustomButton" to "FlexWrapButton" 2026-06-02 13:41:01 +02:00
schroda 97e507b922 Rename "ButtonSelect" to "SelectButton" 2026-06-02 13:40:57 +02:00
schroda c72e36b164 Rename language "All" to "Multi" 2026-05-31 16:15:49 +02:00
schroda cea2ca1b0c Fix single migration manga page entrypoint
Regression 278ebb312f
2026-05-28 19:26:06 +02:00
schroda 0b278ff525 Add bulk migration in library indicator
closes #1109
2026-05-28 01:32:28 +02:00
schroda 278ebb312f Fix selecting migration destination from source browse search page
When going to the source search from the global search, the manga card mode wasn't passed, which prevented a manga from getting selected as the migration destination

#1110
2026-05-28 00:54:00 +02:00
schroda 27c87185b1 Rename "childRoutes" to "children" 2026-05-28 00:49:49 +02:00
schroda e973872539 Streamline route location state 2026-05-28 00:49:25 +02:00
schroda 29bb60c28b Revert "Add "kcefEnabled" server setting"
This reverts commit be0eb2fa5f.
2026-05-27 22:29:13 +02:00
schroda acf5e2630b Fix retrying failed migration search 2026-05-22 15:46:58 +02:00
schroda a876879d0e Add option to abort migration entry 2026-05-22 15:28:25 +02:00