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
schroda
ef6c1fce56
Fix local/session storage parsing/stringifying values
...
The old logic stringifyed all values, including strings, which caused problems with reading external stored values (e.g., mui-mode) via the "useStorage" hook.
2025-07-28 02:34:02 +02:00
schroda
fb00f51107
Set last known app theme background color until theme is loaded
2025-07-28 00:25:30 +02:00
schroda
ff58dcc480
Set last known app theme until theme is loaded
2025-07-28 00:24:27 +02:00
schroda
dabadf1b43
Reset nav bar width on override
2025-07-28 00:24:26 +02:00
schroda
7b581e49b0
Remove error name from error message
2025-07-28 00:22:36 +02:00
schroda
56eabae9ae
Improve graphql errors display in toast
2025-07-28 00:22:35 +02:00
schroda
20ca6d6cda
Fix download conversion setting input labels
2025-07-26 01:12:25 +02:00
schroda
fcc68ce594
Mention "none" download conversion target mime-type in description
2025-07-26 01:12:25 +02:00
schroda
a846a84777
Fix download conversion change detection
...
The setting was considered to have always been modified. This resulted in the save button never being disabled.
2025-07-26 01:12:24 +02:00
schroda
bd6653ff88
Consider unread chapters only for "mark prev as read"
...
Otherwise, the "last read at" timestamp gets unintentionally updated
2025-07-25 01:50:04 +02:00
schroda
9a9dbab7df
Introduce "SearchParam" enum
2025-07-23 01:52:41 +02:00
schroda
18f524c91a
Move virtuoso constant to proper location
2025-07-23 01:37:47 +02:00
schroda
ebe8a3c376
Fix "extension" root route redirect
...
Not sure why this redirects to the root route instead of to the extension page (got introduced in 2e105a0539 )
2025-07-23 01:36:05 +02:00
schroda
b444c427e4
Fix removed "source" route redirect
...
Page got merged in db65b9df44 and never got properly redirected to the new location (8178574815 )
2025-07-23 01:36:05 +02:00
schroda
2ccd4a3de7
Rename "browse" "source" tab to "sources"
2025-07-23 01:36:03 +02:00
schroda
39d34af9bc
Improve backup install missing extension routing
...
Only opened the "browse" page instead of routing to the "extension" tab of the "browse" page
2025-07-23 01:35:55 +02:00
schroda
cc4ab2e0dd
Remove unused args in "createUpdateReaderPageLoadState"
2025-07-23 01:27:13 +02:00
schroda
1fb5b3cc09
Fix chapter list download ahead option
...
The option should not download anything in case there is already the download ahead number of unread downloaded chapters available.
Regression 85cec6fd8d
2025-07-21 02:40:10 +02:00
schroda
bbb2da52f4
Change scanlator exclusion filter checked icon to "X"
2025-07-20 23:01:36 +02:00
schroda
53b14a8878
Auto focus time setting
2025-07-20 23:01:36 +02:00
schroda
1dd67ff072
Save "custom filters" reader settings per device
2025-07-20 23:01:35 +02:00
schroda
93b9e84a37
Fix "pure dark mode" setting visibility
...
In case the apps theme mode was never changed, the "mui-mode" was never set.
This lead to the "pure black mode" setting to never be visible.
2025-07-20 23:01:35 +02:00
schroda
2b1c2a0b6c
Add "download conversion" setting support
2025-07-20 23:01:34 +02:00
schroda
fed291a5dc
Remove "__typename" prop from gql request variables
...
Will cause the request to fail in case the prop was not expected
2025-07-20 16:48:59 +02:00
schroda
98d087dd58
Remove DialogTiles from DialogContent children
2025-07-20 14:02:16 +02:00
schroda
bac77599f5
Add WebView support
2025-07-19 21:33:13 +02:00
schroda
0d23d8077f
Add private tracking support
2025-07-19 21:33:12 +02:00
schroda
3c4321e625
Extract tracker search track button
2025-07-19 16:54:14 +02:00
schroda
13a7d21e60
Show new tracker search result data
...
- score
- totalChapters
2025-07-19 16:40:29 +02:00
schroda
b9d6339270
Fix track search result type detection
...
The server replaces "_" with "-" in the track result format (at least or Anilist)
2025-07-19 16:23:35 +02:00
schroda
4f0fcea7f5
Ignore cached data for database library manga category cleanup
...
Button only worked once and then required a page refresh, because, otherwise, the cached data from the first call just kept getting used
2025-07-15 01:53:11 +02:00
schroda
4d573174c6
[skip ci] Fix i18n resource generator workflow skip condition
...
The commit message is the title plus description. Thus, using "endsWith" for matching the title does not work
2025-07-15 01:48:33 +02:00
schroda
02557743dd
Update dependencies
2025-07-15 01:33:17 +02:00
schroda
ae1d0ecd67
Remove html parsing of manga and tracker descriptions
...
Reverts d726793e3d and a48cb0ce27 to get rid of the known issue mentioned in the commit description of d726793e3d .
Don't remember why I added this, it doesn't seem that either of the descriptions contains any html.
2025-07-15 01:33:17 +02:00
schroda
f221425a89
Recursively escape disallowed html tags in manga and tracker descriptions
...
In case there the description contained something like "<some text that is interpreted as an invalid html tag>", it was sanitized to "<some" with the rest of the text in the "tag" getting removed.
2025-07-15 00:44:35 +02:00
schroda
b49243607d
Fix lib folder name of "react-router-dom"
2025-07-15 00:35:15 +02:00
schroda
89cff9db6a
Handle duplicated chapters in chapter download action again
...
Regression 85cec6fd8d
2025-07-13 14:21:30 +02:00
schroda
73f8c72204
Remove unnecessary button link in "Extensions" "ExtensionCard"
...
The "Card" itself is already a link to the same path. Besides this being invalid html which might cause unexpected errors
2025-07-12 18:12:11 +02:00
schroda
84c6371380
Prevent routing to "ExtensionInfo" on extension list action button click
2025-07-12 18:09:06 +02:00
schroda
57e7a806bd
Remove switch click handling in "ExtensionInfo" "SourceCard"
...
The click handling caused the mutation to be executed twice due to the click handling on the CardActionArea itself.
This then caused issues with the set metadata, because the server doesn't prevent storing the same "sourceId" and "meta key" combination twice.
2025-07-12 18:04:37 +02:00
schroda
2d44fc8d00
[skip ci] Insert weblate token into "tokens.json" in "update_i18n_languages" workflow
2025-07-12 01:59:25 +02:00
schroda
107ad79b17
[skip ci] Create empty "tokens.json" in "update_i18n_languages" workflow
2025-07-12 01:38:27 +02:00
schroda
5eb3d93afa
[skip ci] Fix "update_i18n_languages" workflow package json script execution
2025-07-12 01:30:49 +02:00
schroda
49c1fa6cee
[skip ci] Ignore "update_i18n_languages" workflow head commit name condition on manual dispatch
2025-07-12 01:29:21 +02:00
schroda
f55e090a73
[skip ci] Add options to trigger "update_i18n_languages" workflow manually
2025-07-12 01:25:33 +02:00
schroda
a77a587e59
[skip ci] Fix "update_i18n_languages" workflow dependency installation
2025-07-12 01:20:37 +02:00
schroda
c3cff8ee8b
[skip ci] Move "misc" server settings to bottom of page
2025-07-12 01:11:38 +02:00
schroda
74f0fec02d
Fix dnd on touch devices
2025-07-09 00:22:21 +02:00
schroda
8783956fbc
Slice chapter list correctly for downloads
...
Chapters are sorted in desc order and thus, the oldest chapters are at the end of the list.
Thus, the chapters to download need to be taken from the end instead from the start
2025-07-09 00:22:19 +02:00
schroda
1c9d62659f
Include "meta" field in manga library fragment
...
The chapter list options stored in the meta are required for the download action
2025-07-08 22:02:25 +02:00