schroda
b6d7f6da5d
Add zustand dev tools
2025-09-22 01:10:36 +02:00
schroda
f6b94c838b
Fix reset of reader store
...
After the slice states got reset, the base reset function just reverted all those resets and only reset the base states in the store (manga, scrollbar, ...)
2025-09-22 01:10:35 +02:00
schroda
525173e05e
Add dedicated store access util functions
...
Makes it easier to find the specific store slice usage
2025-09-21 01:16:59 +02:00
schroda
ed488f76dd
Always use "useShallow" for store selection
2025-09-21 01:16:57 +02:00
schroda
5730690ae6
Simplify ReaderControls#useHandleClick
2025-09-21 01:16:53 +02:00
schroda
ca5920919e
Simplify ReaderControls#useOpenPage
2025-09-21 01:16:51 +02:00
schroda
f5c7379fc4
Simplify ReaderControls#useOpenChapter
2025-09-21 01:16:49 +02:00
schroda
1c0b982bae
Remove unnecessary TFunction parameter
2025-09-21 01:16:47 +02:00
schroda
19e45424ae
Make react router routing possible outside components
2025-09-21 01:16:44 +02:00
schroda
b13bb86f40
Move app theme related types to dedicated file
...
Fixes circular dependency.
2025-09-21 01:16:42 +02:00
schroda
ed53aff071
Extract "reader chapters store slice" into file
2025-09-21 01:16:39 +02:00
schroda
9f5db5496f
Extract "reader pages store slice" into file
2025-09-21 01:16:36 +02:00
schroda
6da8a3fd87
Move reader store in sub dir
2025-09-21 01:16:33 +02:00
schroda
fb70d89940
Move reader "tap zone state" to "reader store"
2025-09-21 01:16:30 +02:00
schroda
f60b537115
Move reader "progress bar state" to "reader store"
2025-09-21 01:16:28 +02:00
schroda
98ec5257b9
Move reader "settings state" to "reader store"
2025-09-21 01:16:26 +02:00
schroda
5177f9efdc
Move reader "chapters state" to "reader store"
2025-09-21 01:16:25 +02:00
schroda
bada26ead6
Move reader "pages state" to "reader store"
2025-09-21 01:16:22 +02:00
schroda
dabe50754f
Move reader "auto-scroll state" to "reader store"
2025-09-21 01:16:17 +02:00
schroda
e68cb65874
Move reader "overlay state" to "reader store"
2025-09-21 01:16:15 +02:00
schroda
9bedec7115
Rename "reader scrollbar state" properties
2025-09-21 01:16:13 +02:00
schroda
4cc5821ead
Move reader "scrollbar state" to "reader store"
2025-09-21 01:16:10 +02:00
schroda
433dc17c35
Move reader "manga state" to "reader store"
2025-09-21 01:16:04 +02:00
schroda
4e30081ed8
Move reader "pages" state to base reader types
2025-09-21 01:16:01 +02:00
schroda
f6566e535f
Add "immer" dependency
2025-09-21 01:15:59 +02:00
schroda
ebebd50689
Add "zustand" dependency
2025-09-21 01:15:58 +02:00
schroda
7d71780fbc
Properly type scalar "Duration"
2025-09-18 22:28:08 +02:00
schroda
80a576db63
Include chapter info in continue reading button tooltip
2025-09-18 22:28:07 +02:00
schroda
5456428916
Add step size to kroeader tolerance setting
2025-09-18 22:28:06 +02:00
schroda
c77a1b1677
Fix library update skip entries setting
...
Regression 94299433c8
2025-09-18 00:28:31 +02:00
schroda
54a31b2113
Update nav bar available extensions update text
2025-09-16 17:48:01 +02:00
schroda
38ac36d14c
Fix setting "default" download conversion mime type
...
The server expects the mime type to be "default", while the ui set it to "image/default"
2025-09-13 14:13:32 +02:00
schroda
792aca1b28
Fix login page redirection when already authenticated
2025-09-10 12:55:23 +02:00
schroda
98e1cb2eff
Reuse SplashScreen on LoginPage
2025-09-10 00:56:44 +02:00
schroda
3d023abc6c
Always show server address input on LoginPage
...
In case the webUI wasn't hosted on the same domain as the server, the ui was stuck on the login page, due to the inferred server address being wrong.
2025-09-10 00:56:44 +02:00
schroda
9486bf1a81
Always show server address input on SplashScreen
...
In case the webUI wasn't hosted on the same domain as the server, the ui was stuck on the splash screen, due to the inferred server address being wrong.
2025-09-10 00:56:41 +02:00
schroda
e138229832
Fix SplashScreen light mode logo color
2025-09-10 00:55:41 +02:00
schroda
464edc0f18
[skip ci] Update "versionToServerVersionMapping"
2025-09-08 01:17:39 +02:00
schroda
fcea0504c7
Update "versionToServerVersionMapping"
2025-09-08 01:03:23 +02:00
schroda
8745101c8a
Add "open in webview" button in "SourceMangas"
...
closes #991
2025-09-08 00:59:14 +02:00
schroda
d5ee36bdaa
Fix nav bar "available updates" pluralization
2025-09-08 00:52:56 +02:00
schroda
94299433c8
Remove redundant extract helper functions for server settings
...
Simplifies settings usage by directly accessing the `settings` object instead of relying on intermediary extraction functions. Improves code readability and reduces unnecessary abstraction.
Ensures consistency across all settings components for a cleaner and more efficient implementation.
2025-09-08 00:46:57 +02:00
schroda
47e93c774f
Add "database" settings
2025-09-08 00:37:02 +02:00
schroda
7d81e1106f
Add "koreader sync" settings
2025-09-08 00:36:23 +02:00
schroda
9552f13a78
Use cache-only fetch policy for nav bar extension list query
...
Prevents unnecessary network requests when fetching the extension list to show updatable extension info in the nav bar.
2025-09-06 14:59:31 +02:00
schroda
dad58f77b6
Handle obsolete extensions during update/uninstall actions
...
Prevent treating extensions marked as obsolete as updatable by adding an additional check before determining the action.
2025-09-06 14:58:19 +02:00
schroda
45481cd725
Prevent grouping obsolete extensions with updatable ones
...
Apparently extensions can have an update available while being marked as obsolete.
2025-09-06 14:53:35 +02:00
schroda
c8dc7a303c
Handle authentication on reader route
2025-09-03 00:13:41 +02:00
schroda
ef4f6659aa
Remove graphql plugin config file
2025-08-30 17:09:41 +02:00
schroda
a57281cda2
Update required server version for preview to r1901
2025-08-28 17:39:39 +02:00
schroda
aacf1903a1
Remove console log
2025-08-27 01:24:12 +02:00
schroda
33fb30a399
Fix including credentials in gql client
...
Caused the basic auth popup to constantly open again
Regression 4aad410957
2025-08-27 01:10:09 +02:00
schroda
0bd3370d89
Add auth header only when necessary
2025-08-27 00:41:59 +02:00
schroda
592161353e
[skip ci] Remove unused dependency "js-cookie"
2025-08-26 23:18:24 +02:00
schroda
a3603c475e
[skip ci] Cleanup "useMouseDragScroll" array access
2025-08-26 23:11:23 +02:00
schroda
ece31ddc18
Fix mouse cursor drift during drag scroll
...
Previously, the drag-scroll implementation used incremental relative positioning
which accumulated rounding errors over time. This caused the mouse cursor to
gradually drift away from its original position during prolonged drag operations,
particularly noticeable on slower hardware or systems with lower frame rates.
The fix switches from cumulative delta updates to absolute positioning:
- Track initial mouse and scroll positions when drag starts
- Calculate scroll position as: initialScroll - (currentMouse - initialMouse)
- This ensures the visual position remains locked throughout the entire drag
This change eliminates drift by avoiding cumulative floating-point
errors that occurred with the previous += approach.
1. Inverted Logic: The code adds the mouse delta to scrollLeft/scrollTop, but this is backwards. When you drag right, you want the content to move left (scroll increases), and vice versa.
2. Cumulative Rounding Errors: Using += with floating-point deltas accumulates rounding errors over time, especially on slower hardware where mousemove events may be processed less frequently or with more delay.
3. Frame Rate Dependency: On slower hardware, if the browser can't keep up with all mouse events, some movements get skipped, but the positions still update, causing the reference point to drift.
2025-08-26 23:06:45 +02:00
schroda
4e4a607c01
Ensure up-to-date navbar extension update amount
...
The shown amount was based on the cached extension data from the server.
To refresh the data, the "Extensions" page had to be opened.
2025-08-26 23:06:45 +02:00
schroda
4aad410957
Add "ui login" support
2025-08-26 23:06:44 +02:00
schroda
403cab7d80
Fix deletion of chapters while reading logic
...
- Consider duplicated chapters in "should delete chapter" check
- Check each duplicate if it can be deleted
2025-08-25 02:06:23 +02:00
schroda
bfb10ad204
Fix app storage "null" and "undefined" value handling
2025-08-24 20:48:31 +02:00
schroda
414211ae74
Hide extension update info in navbar without available updates
2025-08-24 20:48:26 +02:00
schroda
21e2e5cd8c
[skip ci] Fix pushing outside repo in "update_i18n_languages" workflow
2025-08-19 01:31:39 +02:00
schroda
5d7f0a1f07
[skip ci] Push git changes in "update_i18n_languages" workflow
2025-08-19 01:23:20 +02:00
schroda
446fee9108
[skip ci] Fix commiting changes in "update_18n_languages" workflow
2025-08-19 01:08:32 +02:00
schroda
b81cc8ec17
Show available extension updates in navbar
2025-08-18 22:52:28 +02:00
schroda
11e98b6913
Prevent infinite browse source loading
...
The loading placeholder was never removed in case the whole source catalogue was added to the library and the "hide entries in library" setting has been enabled.
2025-08-18 22:45:25 +02:00
schroda
9b189db919
Update dependencies
2025-08-16 18:03:55 +02:00
schroda
7b9cce765e
Remove outdated "@ts-ignore" usage
...
Got fixed with v5.3.5
2025-08-16 17:25:54 +02:00
schroda
f13fcc0e8c
Move type "NullAndUndefined" to util types
2025-08-16 17:10:48 +02:00
schroda
e1058200c0
Delete unused "ExtensionOptions" component
2025-08-16 16:04:02 +02:00
schroda
a403e6cb5f
Structure "extension" in sub-features
2025-08-16 16:03:32 +02:00
schroda
d2b2eb9595
Move components to "browse" feature
2025-08-16 15:58:43 +02:00
schroda
32bfca8db2
Structure "source" in sub-features
2025-08-16 15:48:07 +02:00
schroda
9e5af57a5f
Move "core" folder out of "features" into "base"
2025-08-16 15:44:17 +02:00
schroda
f4c06d474d
Merge "Context" and "ContextProvider" components
2025-08-16 02:21:43 +02:00
schroda
f548ba9502
Structure "reader" in sub-features
2025-08-16 02:02:13 +02:00
schroda
fc12f5dfd3
Move "UpdateChecker" to "updates" feature
2025-08-15 22:17:10 +02:00
schroda
1b4bf22542
Rename folder "modules" to "features"
2025-08-15 22:02:58 +02:00
schroda
7e6ced1d09
Fix manga migration with disabled category step
...
Should have been included in 1f55531436
fixes #1000
2025-08-15 19:24:11 +02:00
schroda
c4663d9e23
Prevent creating categories without names
...
Fixes #995
2025-08-13 22:39:35 +02:00
schroda
847de5b9cf
Cleanup category settings
2025-08-13 22:01:10 +02:00
schroda
e6a0f68621
Show correct empty category message
2025-08-13 21:37:36 +02:00
schroda
24a1fca8be
Infer base url again on prod
...
Regression 5543e134fa
2025-08-13 11:03:54 +02:00
schroda
6bd931ef79
[skip ci] Fix "preview" and "build" scripts
2025-08-13 01:00:37 +02:00
schroda
bdf1413648
Trim "ALLOWED_HOSTS" env var values
2025-08-13 00:57:46 +02:00
schroda
954fa4bf82
Add "setup" script
...
- install deps
- create env files
2025-08-13 00:53:44 +02:00
schroda
765799b236
Fix tracker redirection on non logged in trackers
...
Incorrectly routed to the tracker oauth page which then just redirected to the tracker settings page.
2025-08-04 21:53:04 +02:00
schroda
063ec5ea83
Hide private track option if unsupported in active track card
2025-08-04 21:37:09 +02:00
schroda
1f55531436
Fix handling of disabled manga migration steps
...
In case e.g., the "tracking" should not get migrated, the "migration action" was still created.
While creating the action, an error was thrown because the "tracking" information was missing, as expected, since it's not required.
To prevent this, the actions should only get created in case they are actually required for the migration.
2025-08-03 15:41:30 +02:00
schroda
5543e134fa
Use env vars
2025-08-02 23:14:21 +02:00
schroda
4f5754399b
Prevent translation of hardcoded value in user facing text
2025-08-02 13:05:29 +02:00
schroda
4d6e1bef74
[Release] v20250801.01
2025-08-01 20:35:05 +02:00
schroda
c758cc41e1
Prevent white screen on page load
...
Bug introduced with ff58dcc480 .
With 18ddf46f17 the "appearance" settings got moved from the local storage to the server metadata.
However, the old settings still remained in the local storage, which includes a value with they key "appTheme". This was the id of the selected app theme.
With ff58dcc480 this key got resued for the app theme object, which leads to a type error in case the old setting is still present in the local storage.
2025-08-01 20:32:54 +02:00
schroda
cd04be7f52
[Release] Version v20250731.01
2025-07-31 21:13:49 +02:00
schroda
ca938a6438
Fix tsc error
2025-07-28 20:59:14 +02:00
schroda
a38b2fce9d
Simplify "useStorage" hook
2025-07-28 20:57:16 +02:00
schroda
7eb3b0ac45
Fix parsing storage value
...
Regression ef6c1fce56
2025-07-28 20:56:36 +02:00
schroda
ed2d60dd1c
Handle reading string values from storage
...
Regression ef6c1fce56
2025-07-28 20:40:39 +02:00
schroda
6d98bf8870
Ensure app theme "id" property exists
...
The app themes do not have the "id" prop by default.
2025-07-28 02:51:54 +02:00
schroda
1ab0178d88
Fix local light app theme flicker on initial render
...
MUIs "useColorScheme" hook always returned "system" on the initial render.
(Probably because it's used outside the AppProvider context)
2025-07-28 02:38:18 +02:00