Commit Graph

2931 Commits

Author SHA1 Message Date
schroda
8da12f7a6e Simplify disabling image processing for mime-type 2025-12-23 02:35:01 +01:00
schroda
5def0ea818 Add new image processing settings on serve 2025-12-23 02:10:06 +01:00
schroda
d20ca69dc0 Extract "image processing" components 2025-12-23 02:08:24 +01:00
schroda
4c18348890 Move "clear cache" to "images" settings page 2025-12-23 02:08:15 +01:00
schroda
cedb865a42 Add "images" settings page 2025-12-23 02:08:14 +01:00
schroda
1b0d907708 Add new "external image processing" settings for downloaded images 2025-12-23 02:07:56 +01:00
schroda
083586c567 Update graphql files structure 2025-12-22 14:00:44 +01:00
schroda
14a881f17f Consider "empty" download conversion as unchanged 2025-12-22 12:56:18 +01:00
schroda
230dae83c3 Fix SourceMangas showing incorrect loading placeholder
After all pages had been loaded, the revalidation request of the first page caused the loading placeholder to not disappear anymore.
This was only a visual bug and did not affect the actual functionality.
2025-12-22 12:35:40 +01:00
schroda
30856f996d Always revalidate first page for local source browse requests
fixes #1041
2025-12-22 12:35:08 +01:00
schroda
43d994f843 Keep unchanged metadata stable for memoization
Everytime the metadata got updated, unchanged values could cause rerenders because their reference changed.
This happened e.g., for the "customThemes" which caused the MUI theme to get recreated resulting in all components to rerender due to the theme context change.
2025-12-22 12:32:48 +01:00
schroda
bded64b0b1 Convert "download conversions" setting to a page 2025-12-22 12:31:54 +01:00
schroda
162b477032 Add "auto backup flags" settings 2025-12-22 12:31:48 +01:00
schroda
3ff6f2ec5f Add "opds cbz mime-type" setting 2025-12-13 17:50:29 +01:00
schroda
064dc9041b Add "hikari connection pool" setting 2025-12-06 20:01:31 +01:00
schroda
e914c04c88 Fix force page reload decision after a webui update 2025-12-06 20:01:09 +01:00
Zeedif
84cfa6bea5 Update KOReader Sync settings (#1030)
* feat(settings): refactor and implement KOReader Sync settings page

Refactors the KOReader Sync settings section into its own dedicated page and implements the full connection and configuration flow.

The previous implementation in the main server settings was outdated and incomplete. This change aligns the frontend with the latest backend logic and provides a complete user experience.

Key changes include:
- Separated the UI into two states: a login form for initial connection and a configuration panel for existing connections.
- Implemented `connectKoSyncAccount` and `logoutKoSyncAccount` mutations to handle authentication with the KOReader Sync server.
- Updated the `SERVER_SETTINGS` GraphQL fragment to use the new `koreaderSyncStrategyForward` and `koreaderSyncStrategyBackward` fields, removing the deprecated `koreaderSyncStrategy`.
- Moved all KOReader Sync settings from the generic Server Settings page to a dedicated route at `/settings/koreader-sync`.
- Restructured and improved i18n keys for better clarity and consistency.

Ran `yarn gql:codegen` to regenerate GraphQL types and helpers.

* Extract credentials login into component

* Update to server changes and cleanup

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-12-06 19:59:39 +01:00
schroda
36248e17f0 Change add to library "show duplicate entry" button to be a link 2025-12-02 22:12:49 +01:00
schroda
17390b4ed9 Fix manga page "in library" button after click on "show duplicate entry" 2025-12-02 22:11:56 +01:00
schroda
13d6d1e525 Revert "Reduce rerenders on current page changes"
This reverts commit 3e9078420a.

Fixes #1040
2025-12-02 21:51:51 +01:00
schroda
8358a2f51e Include "last update timestamp" in chapter updates query 2025-11-30 18:48:12 +01:00
schroda
9646aa2caf Fix reader progress bar size setting slider max value 2025-11-30 18:44:23 +01:00
schroda
3e9078420a Reduce rerenders on current page changes
The chapters state always created a new array reference which caused potential unnecessary rerenders.
2025-11-29 16:23:45 +01:00
schroda
3d8a81bc5d Reduce rerenders of reader desktop nav bar 2025-11-29 15:26:57 +01:00
schroda
b5d71adeae Prevent reader progressbar tooltips on mobile 2025-11-28 23:30:10 +01:00
schroda
860b00a0b5 Prevent reader progressbar tap highlighting on mobile 2025-11-28 23:29:51 +01:00
schroda
3dcdca7166 Reduce image rerenders in continuous reading modes on page change
In continuous reading modes the pages are always rendered regardless of if they are visible or not. This is the case to prevent layout shifts when prepending pages while scrolling up.

However, this means that a pages "load priority" and its "should load" flag changes everytime the current page changes, which causes unnecessary rerenders.
The "load priority" and "should load" flag do not matter once a page has been loaded and therefore should stay consistent once loaded.
2025-11-28 23:09:36 +01:00
schroda
3a27461598 Prevent triggering load of already loaded image
This caused the reader to "jump to random pages" because it caused the image to get unrendered and rendered again, leading to layout shifts.

This issue existed already for a long time but could only rarely be observed because of the hacky "cache check" logic.
The changes from 9ed05f3fc0 caused this issue to be consistent in case the new service worker could not get installed due to not meeting the required installation prerequisites. If that was the case, the cache check always returned false causing the above-described behavior.

fixes #929
2025-11-28 23:09:35 +01:00
schroda
d0735365ff Fix first visible page detection
50a6b72716 did not properly fix the detection and broke it for other reader settings.
2025-11-27 02:38:09 +01:00
schroda
e42fde5232 Fix incorrect error message when closing backup restore dialog 2025-11-26 18:18:31 +01:00
github-actions[bot]
e87d8ccc27 Update available languages 2025-11-25 00:11:58 +00:00
Hosted Weblate
308e8b6a21 Translations update from Hosted Weblate
Co-authored-by: Adrian Rodrigues <battempest232@gmail.com>
Co-authored-by: Bayu Wicaksono <bayu.citramas@gmail.com>
Co-authored-by: Clara Bujeda <clarabujedamunoz@gmail.com>
Co-authored-by: Constantin Piber <cp.piber@gmail.com>
Co-authored-by: Gino Cicatiello <ginocic@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Roger VC <rogervilarasau@gmail.com>
Co-authored-by: UnknownSkyrimPasserby <f7022961@opayq.com>
Co-authored-by: mrintrepide <quentin@intrepide.io>
Co-authored-by: shadowbbb <1114938967@qq.com>
Co-authored-by: sksper1-stack <sksper1@gmail.com>
Co-authored-by: zeedif <carlos_antonio-rl@hotmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ca/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/de/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/id/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/it/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pl/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/vi/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2025-11-25 01:11:09 +01:00
schroda
57a782c30b Fix adding search params to url 2025-11-23 16:42:15 +01:00
schroda
87c3f03f3d Fix calling SpinnerImage load, error callbacks 2025-11-23 00:27:02 +01:00
schroda
3dfb80a237 Fix image queue creation 2025-11-23 00:23:33 +01:00
schroda
fe4bfd922e Queue image requests per source
If http protocol is h2 or newer, allow:
 - 5 requests per source
 - unlimited local source requests
2025-11-23 00:08:23 +01:00
schroda
890b304b4a Ignore source/extension, tracker icon and thumbnails requests from image queue
The server is not requesting these images through an extension; thus, it is not a problem to send them directly to the server since there is no problem of getting the server "stuck" due to extension rate limits.
2025-11-22 23:50:05 +01:00
schroda
9ed05f3fc0 Cache images via service worker
Improves the image request logic by making it possible to check if an image is cached.
In case an image is cached, it does not need to be put into the image queue because it won't be sent to the server.
2025-11-22 23:50:03 +01:00
schroda
704d3b191f Flag event listeners as passive 2025-11-22 19:14:43 +01:00
schroda
36e6d7d13e Start pointer device determination on load 2025-11-22 19:14:36 +01:00
schroda
651edf7c82 Prevent potential TypeError during pointer device type determination 2025-11-22 16:49:06 +01:00
schroda
e5eda76ea7 Recreate ws client when receiving auth error message 2025-11-20 13:58:44 +01:00
schroda
48b57c4a74 Simplify reader visible page detection 2025-11-17 02:19:36 +01:00
schroda
36477d1c95 Simplify scroll page into view inline alignment determination 2025-11-17 01:37:32 +01:00
schroda
50a6b72716 Fix first visible page detection in RTL + continuous horizontal mode 2025-11-17 01:24:58 +01:00
schroda
d093fe0281 Prevent default action on hotkey by default 2025-11-16 22:32:18 +01:00
schroda
64d5f3b8e1 Fix preserving current page on "reader width" change
Preservation triggered on every setting change because the object instance changed
2025-11-16 22:26:06 +01:00
schroda
5c743f668c Update dependencies 2025-11-16 21:04:57 +01:00
schroda
bab55bafdb Preserve reader current page on "reader width" change 2025-11-13 01:35:46 +01:00
schroda
7b89fa10c5 Fix reader current page preservation on window resize 2025-11-13 01:35:46 +01:00