In case the search was aborted due to already having found a match, the state was not updated.
Thus, only if the main migration was aborted and not just the "local" manga search, should it exit early on an error.
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
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
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.
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
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.
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
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
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
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.
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.
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".
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.
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.
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.