Commit Graph
100 Commits
Author SHA1 Message Date
schroda f6302fe3aa Add bulk migration 2026-04-17 02:19:40 +02:00
schroda c4c2a616f6 Prevent empty commit error in manga types tag update script 2026-04-17 00:56:22 +02:00
schroda 0b88db3e4e Update available languages 2026-04-17 00:52:09 +02:00
schroda 323222d0f2 Fix scroll jump on chapter resume with continuous horizontal mode 2026-04-13 18:16:12 +02:00
schroda 9595076dae Fix reader progress bar current page slot positioning for single page chapters
Was only noticeable in the mobile reader ui because the desktop one hides this component and uses its own logic.
It resulted in the previous/next button not being clickable because the current page component was overlaying it
2026-04-13 18:03:56 +02:00
schroda 684c9c3733 Improve scroll preservation data naming 2026-04-13 16:13:24 +02:00
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 4b2c736052 Hide navigation badge text in moible bottom bar 2026-04-11 15:41:52 +02:00
schroda 69e53d365b Fix mobile bottom bar active item state 2026-04-11 15:06:46 +02:00
schroda 712d11f6ce [skip ci] Set "ICU" as "x-message-format" in po file header
Should make weblate recognize the pluralization strings properly instead of handling them like raw text
2026-04-07 16:33:42 +02:00
schroda 2542732b62 [skip ci] Fail on lingui compile error 2026-04-07 16:12:02 +02:00
schroda d92d626698 Always save applied migration regardless of changes
In case open migrations did not apply any changes, the applied migration did not get updated.
This causes unnecessary logic to run everytime the metadata are read.
2026-04-07 15:16:09 +02:00
schroda cc31f592cd Fix saving global metadata applied migration
The applied migration change never got stored on the server because the mutation got excluded due to incorrectly setting the "isMigration" flag to false.
This resulted in executing the missing migration everytime the metadata were read.

Regression 430939a47a
2026-04-07 15:16:09 +02:00
schroda 8a5aaf51f3 Add guard to "enable flaresolverr" setting 2026-04-07 15:16:08 +02:00
schroda d738de2c61 Fix missing available extension info in navbar
fixes #1076

With apollo v4 "refetchQueries" excludes queries with "cache-only" policy

Regression c6343e24a5
2026-03-22 00:30:34 +01: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 5a2e5f83bc Update available languages 2026-03-20 03:21:45 +01:00
schroda a6c81623a1 Fix "i18n resource update" script 2026-03-20 03:21:44 +01:00
schroda 0cd0034316 Abort dynamic color extraction on manga page leave
The in-flight image request updated the theme regardless of if the manga page was still opened or not
2026-03-20 03:10:17 +01:00
schroda 9ce273b5ce Use stable array/object constants 2026-03-20 03:02:52 +01:00
schroda fcf1c7fa3f Fix "Maximum update depth exceeded"
Regression b63c8a548e
2026-03-20 03:01:32 +01:00
schroda b63c8a548e Fix collectable collection selecting initial items lazily 2026-03-20 01:42:57 +01:00
schroda 33c55f8b85 Fix collectable selection hook memoization 2026-03-20 01:42:15 +01:00
schroda 9aae34b8ad Add logic to have optional page specific back button logic
Makes it possible to trigger actions on back button click and optionally prevent the actual back navigation
2026-03-20 01:42:15 +01:00
schroda e8a64c613a Fix mobile bottom navigation 2026-03-16 22:41:31 +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 8be1da61aa Fix linting 2026-03-15 01:42:37 +01:00
schroda 2eb4d07098 [skip ci] Revert "Fix "no duplicate imports" lint rule auto fixing"
This reverts commit 0a643655ad.

Takes way too long. Linting jumps from ~3s to ~20s, not worth the auto fixing
2026-03-14 02:21:27 +01:00
schroda 80829febb2 [skip ci] Re-add removed lint rules 2026-03-14 02:11:03 +01:00
schroda 0a643655ad Fix "no duplicate imports" lint rule auto fixing
As of now oxlint does not have auto fixing for this rule
2026-03-13 22:11:25 +01:00
schroda 320bfc6c5b Extract manga migration logic 2026-03-13 20:36:46 +01:00
schroda dc56afc17f [skip ci] Get rid of eslint
Dependency needs to be kept because "eslint-plugin-unused-imports" imports from "eslint/use-at-your-own-risk" at load time
2026-03-12 00:09:08 +01:00
schroda 9581bce0f8 Fix eslint plugin rules in oxlint 2026-03-11 23:46:11 +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 98622ad6cd Update node to >=24 2026-03-10 22:54:51 +01:00
schroda 22e1b6d224 Update dependency "eslint" to v9.x
v9.39.4
2026-03-10 21:41:50 +01:00
schroda d8673e2307 Migrate to tsgo 2026-03-10 01:34:36 +01:00
schroda c6343e24a5 Update dependency "apollo-client" to v4.x
v4.1.6
2026-03-10 01:02:12 +01:00
schroda 531c3fc3cc [skip ci] Update versionToServerVersionMapping
Required starting with 474b98abb5
2026-03-09 01:23:06 +01:00
schroda f549658dfa Update dependencies 2026-03-09 01:13:34 +01:00
schroda 00d6350cee Optionally include client data during manga migration 2026-03-08 22:42:39 +01:00
schroda 57e05bf20d Introduce new batch metadata update function 2026-03-08 22:42:38 +01:00
schroda 430939a47a Update new "metas" mutations structure 2026-03-08 22:42:38 +01:00
schroda 0c12427020 Remove old metadata mutations 2026-03-08 22:42:37 +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 14d7ec0ae5 Fix versionToServerVersionMapping ui version typo 2026-03-04 01:38:18 +01:00
schroda aa9e6d1bfb Abort global search when leaving search page 2026-03-04 01:37:26 +01:00
schroda d1c9adf763 Include "tools" folder in "lint" packagejson script 2026-02-21 22:20:23 +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 71f99f5ac6 [skip ci] Update versionToServerVersionMapping
- Fix server version from 937d3af479baf9c9ad9b829fa7a623b36fbd6b9c; actual change was one commit earlier
- Update ui version to include fix 76474712a3
2026-02-21 15:15:05 +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 730ff1cc2c [skip ci] Update versionToServerVersionMapping 2026-02-13 01:16:09 +01:00
schroda 937d3af479 Update versionToServerVersionMapping
Preview server is broken with stable webui due to the subpath changes
2026-02-13 01:09:24 +01:00
schroda 59d887eaea Prevent unauthenticated image request on manga refresh 2026-02-13 00:58:18 +01:00
schroda d99d950585 Fix refreshing thumbnail during manga refresh
When using blobs (e.g. due to authentication), manually refreshing caused the thumbnail to break on the manga page.
This was caused because the image got cleaned up, but did not get reloaded again because it was considered to be already loaded.

Regression 3a27461598
2026-02-13 00:58:13 +01:00
schroda 1007533349 Fix some translation issues
- Interpolation issues
- Wrong translations added during migration to lingui
2026-02-04 00:50:16 +01:00
schroda 307dc95533 Use default language constant 2026-01-30 22:18:34 +01:00
schroda 76474712a3 Use BCP-47 language codes for i18n resource files
Lingui expects the codes to be compliant to BCP-47 while weblate was not set up to create the resource files in that format.
And react-i18next was able to just handle them.

fixes #1058
2026-01-30 21:57:12 +01:00
schroda edbbc81575 Fix missing type support for i18n resources
Due to the change in 65a9a905be - moving to a json file - it wasn't ensured anymore that IsoLanguages contained the i18n language codes
2026-01-30 21:54:39 +01:00
schroda c5cdd347b7 Update available languages 2026-01-30 21:54:35 +01:00
schroda 86b00dbcc7 Fix missing pinned sources in search all
Regression 2e08d2c95a
2026-01-28 22:59:41 +01:00
schroda 1d8944bb48 Add option to disable server version updated info 2026-01-25 18:03:24 +01:00
schroda 749c81eef1 Add option to partially disable webui version updated info 2026-01-25 18:02:59 +01:00
schroda 4d7eb74a56 Merge "selected source/extension" languages 2026-01-25 17:35:42 +01:00
schroda dd1f5bd218 Cleanup "Sources::filter" 2026-01-25 17:35:24 +01:00
schroda 2e08d2c95a Fix "Sources::filter"
The "showNsfw" filter could only filter for either all sources or sources that aren't nsfw.
The "pinned" and "enabled" filtered behaved similarly, but at the same time they were also completely buggy.
E.g. "pinned = false" just returned all sources including pinned ones.
2026-01-25 17:35:23 +01:00
schroda bdb9a000f2 Remove "local source" from source languages filter
The "local source" can't be hidden and therefore should not be shown in the filter
2026-01-25 17:35:23 +01:00
schroda eace67e464 Exclude "local source" for language detection for sources language filter
The local source is always shown, and therefore its language ("other") should only be shown in the language filter in case an actual source is installed that supports is of "other" language.
2026-01-25 16:08:21 +01:00
schroda e63a51e060 Fix bug caused by GroupedVirtuoso
If there are only empty groups, "computeItemKey" gets called with a none-existent index which leads to "Virtuoso.util::convertIndex" to throw an error
2026-01-25 16:08:18 +01:00
schroda 742a02c5cf Fix source language filter
In case the saved "selected languages" contained languages that did not have any installed source, they caused TypeErrors when trying to access them in e.g. "sourcesByLanguage".
2026-01-25 16:08:13 +01:00
schroda 01ce4a8ded Handle changed server behavior with subpath injection
The server doesn't inject the subpath anymore in case no path is set.
To handle this, the app needs to set the "base" element itself to ensure that the resources are requested from the proper path.
2026-01-23 21:07:38 +01:00
schroda 12cac252de Prevent language switch on initial load
The change of bb36a46a24 causes a "language blink" on the initial load.
This happens due to having to wait till the selected language has been loaded from the server. Until this request is resolved, lingui initializes with the detected language, which might not match the selected one. This then causes the language to potentially be changed shortly after the initial load to a different language.
2026-01-23 02:15:26 +01:00
schroda bb36a46a24 Save selected app language on server 2026-01-22 00:14:52 +01:00
schroda 94ee49f3ca Fix manga page styling
Re-apply 0a4aa6a721
2026-01-21 23:28:22 +01:00
schroda 65a5bed3d1 Fix hidden manga details on manga page
Regression 0a4aa6a721
2026-01-19 18:26:04 +01:00
schroda 0a4aa6a721 Fix manga page background image styling
In chromium browser there seems to be some layout issue depending on the available width.
In that case, there is a small part of the image visible that is not behind the applied "backdrop filter".
Which makes it look like a small bright vertical bar because it has the normal brightness of the image.
2026-01-19 02:38:09 +01:00
schroda 19b31528da Reduce manga page button sizes on small screens
Partially closes #1049
2026-01-18 19:18:50 +01:00
schroda 9e621edbf4 Use active theme as default value when creating new custom theme 2026-01-18 19:17:21 +01:00
schroda 54e9f6f9bc Reduce manga page chapter list item text size
Partially closes #1049
2026-01-18 19:17:21 +01:00
schroda 383d46846e Reduce manga page thumbnail size on small screens
Partially closes #1049
2026-01-18 19:17:19 +01:00
schroda 2b986c3564 Reduce base font size
Partially closes #1049
2026-01-18 19:07:12 +01:00
schroda 41b0fe77d6 Fix reference error causing white screen 2026-01-18 18:07:07 +01:00
schroda 7e39df09c4 Add max-age expiration to service worker image caches 2026-01-18 16:57:05 +01:00
schroda 7b13c1dcc1 Split service worker image cache into multiple 2026-01-18 16:56:57 +01:00