Commit Graph
100 Commits
Author SHA1 Message Date
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
schroda fad590eb5d Add "order" filter to chapters query key 2025-07-08 21:56:21 +02:00
schroda 85cec6fd8d Use filtered chapters for none manga bulk downloads
For multiple manga it's not feasible to filter the chapters based on the active chapter list options.

fixes #980
2025-07-05 17:20:36 +02:00
schroda 900f570bb0 Consider only filtered chapters in chapter list actions 2025-07-05 17:03:17 +02:00
schroda 99e5eb2dac Cleanup chapter download option menu 2025-07-05 15:51:07 +02:00
schroda 8631da1ce4 Add missing i18n resource to iso languages 2025-07-04 18:43:33 +02:00
schroda 963cd55b37 Allow auto scrolling with static reader overlay 2025-07-04 18:43:33 +02:00
schroda da78ce3181 Add hotkeys to switch auto scroll direction
While auto scroll is active, the direction can be changed via the "scroll backward/forward" hotkeys
2025-07-04 18:43:32 +02:00
schroda 0fbab00b06 Create workflow to automatically update i18n resources 2025-07-04 18:43:31 +02:00
schroda 81bba4ffff Update "generatei18nResources" script to commit changes 2025-07-04 18:43:31 +02:00
schroda b69b0d4a48 [skip ci] Update CHANGELOG.md 2025-07-03 21:27:47 +02:00
schroda 472151eb5d [Release] Version 20250703.01 2025-07-03 20:46:01 +02:00
schroda aee758916b Update available languages 2025-07-03 20:22:39 +02:00
schroda 51975ea3cd Add setting to apply chapter list filters in reader 2025-07-01 00:37:29 +02:00
schroda 21671f3d79 Handle metadata "undefined" default value object conversion
In case the default value was undefined, "deepmerge" resulted in an empty object, regardless of the actual metadata value
2025-06-29 02:32:16 +02:00
schroda 008694b670 Fix number setting invalid value handling
The component prevented invalid values from being inserted at all, which caused issues with changing values overall.
2025-06-28 23:39:38 +02:00
schroda fd89d80217 Prevent basic auth with both empty username and password
On ios the native basic auth prompt does not work with both an empty username and password.
In case both are empty, the "login" button is disabled and can't be pressed.
2025-06-28 03:30:20 +02:00
schroda 1a2a1b3897 Reset valid state on cancel in "TextSettingDialog"
In case an empty value was considered to be invalid, the invalid error text was only shown after closing the dialog and opening it again.
2025-06-28 03:30:19 +02:00
schroda 0ef4de3543 Fix disabled "download ahead" setting visualization
The setting is disabled in case the value is 0.
Due to "toConstrainedValue" this was not possible anymore which lead to the disabled setting to still be shown as enabled.

Regression 56f01efc1e
2025-06-28 03:30:18 +02:00
schroda 7702edb02f Require manga and chapter action confirmations
closes #927
2025-06-28 02:25:49 +02:00
schroda 592ca7881e Update download status query cache on external download enqueue
Downloads that got enqueued from outside the webui never got added to the download status query.
To be able to see them, a page refresh was required.
2025-06-28 01:21:31 +02:00
schroda d095a3c794 Refresh track records only for logged-in trackers
Otherwise, the request will just result in an error
2025-06-26 00:57:56 +02:00
schroda 6bc21c5972 Fix reader nav bar "settings" button title 2025-06-25 01:22:43 +02:00
schroda 523071906c Handle metadata array value conversion
Avoid deep merging for arrays to prevent them from being converted into plain objects.
2025-06-25 00:58:35 +02:00
schroda cb74984659 Fix constraining logic of stored client metadata
By the time the constraining function was called, the stored values were still of type string and were not converted to the correct type yet.
2025-06-25 00:38:01 +02:00
schroda 56f01efc1e Ensure stored client metadata values respect constraints 2025-06-24 22:45:40 +02:00
schroda 09b5f7e558 Prevent potential TypeError
Potential fix for #975
2025-06-23 23:51:32 +02:00
schroda b94ad4ba06 Fix hardcoded string 2025-06-23 03:09:17 +02:00
schroda 16d66718a8 Add option to enable/disable sources in language filter 2025-06-23 02:57:44 +02:00
schroda 7b9d51142b Save selected source languages on the server 2025-06-23 02:30:29 +02:00
schroda 6c47f58ca9 Make manga chapter list "excludeScanlators" a global metadata setting 2025-06-23 02:20:40 +02:00
schroda 7897bac2d6 Make source "isEnabled" a global metadata setting 2025-06-23 02:18:31 +02:00
schroda 914262dfac Revert unwanted generated graphql type changes
Accidentally updated some generated graphql types 2e105a0539
2025-06-23 02:01:28 +02:00
schroda f3c479fe32 Add option to disable sources of an extension 2025-06-23 01:51:14 +02:00
schroda ecfde354b8 Show source "language subtitle" only for "last used" and "pinned" sources
The others are already grouped by language, which makes this information redundant
2025-06-23 00:49:28 +02:00
schroda eb625c9d96 Virtualize source list 2025-06-23 00:49:28 +02:00
schroda b1a23b876b Show native language name for installed extensions 2025-06-23 00:10:25 +02:00
schroda d83bf592e1 Remove "language subtitle" from uninstalled extensions
They are already grouped by language, which makes this information redundant
2025-06-23 00:10:02 +02:00
schroda 2e105a0539 Introduce "Extension info" screen 2025-06-23 00:05:16 +02:00
schroda 998400327f Rename "Download queue" desktop nav item to "Downloads"
"Download queue" is too long for the side nav menu
2025-06-22 19:54:31 +02:00
schroda 781d89a75a Prevent native mobile context menu 2025-06-10 22:09:02 +02:00
schroda 3b0d91e4a6 Hide "scanlator filter" option chapters have no scanlator 2025-06-10 01:23:53 +02:00
schroda 86c8717b95 Fix "scanlator filter" for chapters without scanlator 2025-06-10 01:22:28 +02:00
schroda b723eab4ce Fix "exclude scanlator" dialog title 2025-06-10 01:20:31 +02:00
schroda 7c0ffe9bd3 Add scanlator filter to chapter list
closes #937
2025-06-10 00:15:44 +02:00
schroda 645eaeb315 Simplify "Chapters#getMissingCount" 2025-06-09 15:30:39 +02:00
schroda 20a325a6c2 Update native name of language "es-419" 2025-06-08 18:47:36 +02:00
schroda a226ca899b Fix "tracker publishing type" manhua translation 2025-06-08 18:47:35 +02:00
schroda 1721c15079 Properly reset state after backup import 2025-06-08 18:47:33 +02:00
schroda d7c185887b Fix reader missing chapter transition warning
Regression 61471ae214
2025-06-08 18:47:29 +02:00
schroda 8036101de7 Move tracker types and constants to corresponding files 2025-05-30 22:58:36 +02:00
schroda 3bff11d8a9 Translate track search publishing type and status 2025-05-30 22:55:57 +02:00
schroda c2391f0903 Hide missing track search result metadata 2025-05-30 22:28:57 +02:00
schroda d44e6a45ef Fix manga action menu positioning 2025-05-30 22:21:57 +02:00
schroda 1162f76472 Prevent native mobile menu on long press 2025-05-30 22:21:44 +02:00
schroda 29d0e3ae55 Update download status state via subscription
The download query type (DownloadStatus) and download subscription type (DownloadUpdates) are different.
This means that the download state in the cache does not get automatically updated from the state provided in the subscription.
2025-05-30 21:26:35 +02:00
schroda 9443637b57 Reset "shouldShowOnlyPinnedSources" after leaving search
To prevent unnecessary search requests, the search should always start with pinned sources only.
2025-05-30 19:06:26 +02:00
schroda 2073c387a9 Extract components from "MangaDetails" 2025-05-30 18:57:21 +02:00
schroda 5b14544439 Trigger global search on manga title click 2025-05-30 18:49:57 +02:00
schroda 18da4c6b64 Optionally trigger manga details search in source
In case the manga was opened while browsing the source, the searches should be triggered for in the search instead of the library
2025-05-30 18:46:57 +02:00
schroda 70a984e2cb Adjust chapter list missing chapters info top padding
Chapter list cards have top padding, but not bottom padding, which resulted in the missing chapter info to not have the same spacing to both chapter cards
2025-05-30 18:05:09 +02:00
schroda 19829e54eb Hide artist/author if missing 2025-05-30 17:58:00 +02:00
schroda 31061a3398 Fix showing incorrect title for manga artist 2025-05-30 17:56:58 +02:00
schroda c3b22f92a9 Restore virtuoso states on browser back navigation
- manga chapter list
- library duplicates
- updates
- history
- download queue
2025-05-25 16:09:53 +02:00
schroda 5f982e07e0 Handle chapter numbers with decimal places in gap calculation 2025-05-25 15:34:15 +02:00
schroda 640dcc4393 Hide download queue size in nav bar while empty 2025-05-24 22:50:23 +02:00
schroda ecca993c54 Simplify chapter util types 2025-05-24 22:03:57 +02:00
schroda 61471ae214 Show missing chapter info in chapter list
Closes #836
2025-05-24 22:03:54 +02:00
schroda 86578593ca Show download queue size in nav bar 2025-05-24 17:25:22 +02:00
schroda 2d34f67df4 Fix updating download queue start/stop button 2025-05-24 17:07:57 +02:00
schroda e0fb835f91 Fix "search all" with "show results only" enabled
After a source did not have any results for a performed search, a follow-up search was not possible anymore, due to the source being filtered out of the rendered sources.
2025-05-23 00:27:57 +02:00
schroda 4452a9fc5c Handle trackpad scrolling in continuous vertical pager
Trackpads fire "wheel" events as if they were a mouse.
This is a problem because trackpads can scroll horizontally without having "shift" pressed. In that case, the hook causes the horizontal scrolling on trackpads to break, since it just inverts it, as if it was a vertical scroll.

Fixes #951
2025-05-21 23:01:09 +02:00
schroda fe30c8e281 Update "search all" source header styling
- reduce height
- reduce source name font size
- use source "name" instead of "display name"
 display name only adds language, which is shown in the second line of the header
- add button to indicate that the search can be opened on the source itself
2025-05-21 02:41:12 +02:00
schroda f6b4ed8f56 Streamline adding params to app routes 2025-05-21 01:58:54 +02:00
schroda 7ae7c3e768 Hide library perform global search button without active search 2025-05-21 01:18:31 +02:00
schroda daeab31121 Add button to perform search globally in library 2025-05-21 00:58:28 +02:00
schroda cafa0c3983 Hide "select" button while no items are available 2025-05-21 00:43:03 +02:00
schroda 6b812cb143 Clear selection after performing action
After an action the selected chapters might get hidden due to active filters.
Same as fde33a2412, don't want to bother dealing with this.
2025-05-20 23:31:53 +02:00
schroda fde33a2412 Hide chapter list action menu during active selection
Handling changing filters during selection is too cumbersome
2025-05-20 23:30:19 +02:00
schroda e888c989e9 Fix chapter list selection with active filters
The selection always used the whole chapter list regardless of the active filters, which potentially caused hidden chapters from getting selected
2025-05-20 23:26:45 +02:00
schroda 7885bcda98 Improve global search
Add options to show only searches for
- pinned sources
- all sources
- sources with results
2025-05-18 01:08:02 +02:00
schroda 1e1489df75 Show pinned sources on top of global search 2025-05-17 23:49:44 +02:00
schroda e327849a19 Show last used source 2025-05-17 23:37:00 +02:00
schroda bf90d95266 Improve metadata value conversion
The current approach has issues with numbers of type long
2025-05-17 23:17:36 +02:00
schroda 822e47084e Add functionality to pin sources 2025-05-17 22:17:15 +02:00
schroda cab2469ec1 Remove source card popular button
"Popular" gets opened by default when clicking the source card
2025-05-17 21:41:33 +02:00
schroda 18ddf46f17 Save appearance settings on server
- app theme
- theme mode
- pure black mode
- manga grid item width
2025-05-17 21:31:24 +02:00
schroda 4a1eb6f824 Force re-render of virtuoso grid on filter changes
Workaround for https://github.com/Suwayomi/Suwayomi-WebUI/issues/933
2025-05-17 19:53:56 +02:00
schroda 08df61737e Trigger library search on genre click 2025-05-17 19:12:04 +02:00
schroda 53b31955af Update available languages 2025-05-17 19:05:09 +02:00
schroda 18e0e9069d Sort "obsolete" extensions at the start
Regression 87a496cec0
2025-05-10 02:12:04 +02:00
schroda 86f1905c7c Cleanup ReaderControls#scroll 2025-05-10 01:58:54 +02:00
schroda 40abcd828f Keep previous/next transition page open on first/last chapter previous/next page tap-zone click
In case the transition pages are disabled and the first/last chapters previous/next transition page was visible, clicking the next/previous tap-zone caused the chapter to jump to the first page of the current chapter.

Regression f0f740f4af
2025-05-10 01:58:51 +02:00
schroda 5d5cd5ac59 Include missing manga data in updater subscription
E.g., the unread chapter count of a manga was not updated in case new chapters were found during the update.

Regression b673047517
2025-05-09 01:49:30 +02:00
schroda 0a853082db Align language sorting with mihon
Always show "All" as the first language and "Other" as the last
2025-05-09 01:49:30 +02:00
schroda 7e4e22b9e1 Add "All" to default languages 2025-05-09 00:57:29 +02:00
schroda dcd57aea8f Remove abbreviation of “language” in function names 2025-05-09 00:57:28 +02:00
schroda d27c5c445f Remove special "english" handling for language sorting 2025-05-09 00:39:19 +02:00
schroda aa202bb184 Update dependencies 2025-05-05 02:22:02 +02:00