Commit Graph

87 Commits

Author SHA1 Message Date
schroda
ea31889969 Fix leading page scroll preservation in continuous horizontal mode with RTL mode 2026-04-13 16:13:24 +02:00
schroda
6131b99169 Disable scroll preservation on infinite scroll initial render if diabled 2026-04-13 14:57:47 +02:00
schroda
ebac415b09 Fix tapzone opening previous/next chapter in continuous horizontal mode with inverted reading direction
The logic to detect if the horizontal scroll position was at the start or end of the element was not correct in case the readers reading direction was inverted compared to the browser themes reading direction.

example:
- theme ltr + reader ltr => worked
- theme ltr + reader rtl => broken
- theme rtl + reader ltr => broken
- theme rtl + reader rtl => worked
2026-04-13 14:56:12 +02:00
schroda
6d41639928 Fix reader transition page previous chapter scanlator name 2026-03-21 00:32:00 +01:00
schroda
519ff43b67 Use stable array/object constants II 2026-03-20 03:36:57 +01:00
schroda
9ce273b5ce Use stable array/object constants 2026-03-20 03:02:52 +01:00
schroda
54086f1c30 Fix changing reader settings from desktop quick settings
Regression 63ebfd120e
2026-03-15 14:43:40 +01:00
schroda
32fb7b0909 Fix deleting global reader settings
It replaced the global settings with the manga specific ones.

Regression 63ebfd120e
2026-03-15 14:42:49 +01:00
schroda
7de1723b36 Fix updating global reader settings
It replaced the global settings with the manga specific ones.

Regression 63ebfd120e
2026-03-15 14:33:57 +01:00
schroda
1cccd1ea46 Simplify selecting zustand store state 2026-03-11 23:31:51 +01:00
schroda
72af9d52d1 Update lint rules 2026-03-11 19:42:02 +01:00
schroda
5dda4304d9 Migrate to oxlint + oxfmt 2026-03-11 19:41:49 +01:00
schroda
22e1b6d224 Update dependency "eslint" to v9.x
v9.39.4
2026-03-10 21:41:50 +01:00
schroda
f549658dfa Update dependencies 2026-03-09 01:13:34 +01:00
schroda
63ebfd120e Fix saving long metadata values
fixes #900
2026-03-08 22:42:36 +01:00
schroda
64df9a9489 Add new single multipurpose metadata update mutation 2026-03-08 22:40:47 +01:00
schroda
474b98abb5 Use new "metas" mutations 2026-03-08 22:40:45 +01:00
schroda
41fe42f29b Fix "auto webtoon mode" detection
The detection didn't work properly in case the selected manga was in a different language than English or the current active translation.
In that case it didn't work because the translation for that locale wasn't loaded.

So to ensure that the translation exists for each language, we have to hardcode it.
2026-02-21 22:20:22 +01:00
schroda
576cf85c38 Cleanup reader store slices hooks 2026-02-21 17:33:13 +01:00
schroda
daeb2a4e45 Access reader store setters directly without hook 2026-02-21 16:41:56 +01:00
schroda
75cf18b254 Rename "getNextIndexFromPage" to "getIndexOfPage" 2026-02-21 15:15:47 +01:00
schroda
4da2f67b75 Fix page shift when toggling "offset double spreads" setting
The pages should get shifted to
- the left when enabling
- the right when disabling
the setting.

Currently, the "page push" is inverted.
This can cause the page that is most likely being read to get pushed out of the screen. Which then requires the user to change the page.

Example:

Active page: 1+2
Enable setting: -> 2 (currently) instead of -> 1
2026-02-21 15:15:47 +01:00
schroda
ec49cd1ad9 Fix updating reader "page urls" in "page store"
The page urls never got updated in the store
2026-02-21 15:15:45 +01:00
schroda
ddca11e537 Prevent potential out-of-bound index access when selecting reader page 2026-02-21 15:15:06 +01:00
schroda
95ccdad275 Align "offset spread pages" hotkey text with setting 2026-02-21 15:15:04 +01:00
schroda
8a7081fdba Fix missing "offset double spreads" setting under "settings > reader" 2026-02-21 15:12:34 +01:00
schroda
65a9a905be Migrate to lingui
Switch to "lingui" for better DX.
Tried to persist existing languages as much as possible.

Removed "vite-plugin-node-polyfills" because it's incompatible with "lingui"
2026-01-13 17:33:36 +01:00
schroda
083586c567 Update graphql files structure 2025-12-22 14:00:44 +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
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
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
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
704d3b191f Flag event listeners as passive 2025-11-22 19:14:43 +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
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
schroda
2510d11888 Preserve reader current page on "page scale" setting change 2025-11-13 01:35:45 +01:00
schroda
197d55f819 Rename "useReaderHorizontalModeInvertXYScrolling" to reflect actual behavior
The Y scroll direction gets mapped to the X direction. And the horizontal direction gets inverted based on the reading direction.
2025-11-13 01:35:45 +01:00
schroda
88f1ef7384 Improve reader horizontal mode scroll Y to X re-mapping
When scrolling really fast, the delta value could increase, which leads to incorrect trackpad detection, because the delta value is not consistent over consecutive scroll events
2025-11-13 01:35:44 +01:00
schroda
02621dec98 Introduce "awaitable-component" 2025-11-03 21:45:53 +01:00
schroda
f539afb404 Introduce "koration" duration api 2025-10-14 21:14:52 +02:00