Simplify searching by making matching logic less strict.
- do not require full match
- additionally compare by removing all non letter and number chars
This prevents issues of manga having a specific library state while they are incorrectly in or not in categories.
E.g. a manga was removed from the library but the category update mutation failed, which now causes it to still be in the set categories while not being in the library anymore
In case the manga should not only be copied but actually migrated, the "migration" actions should only be executed in case the copy actions have succeeded.
Due to the reader and the "default" nav bar updating the same navbar width in the context, the grid item width calculation resulted in different grid item widths, which caused the items to "jump" after closing the reader
In case the "dialog to inform about available server updates" was disabled, it also prevented the "dialog to inform that the server has been updated" from being visible.
In case chapters of the same manga had been fetched at the same time, they were sorted by their source order ascending instead of descending, which caused the newest chapter of that manga to be farther down instead of being the first
In case an uninitialized manga was opened from the library, the manga and its chapter list got refreshed.
However, the chapter infos (e.g. unread, downloaded count, etc.) were not requested with the chapter list mutation, which resulted in this information to be missing
Manga can be added to the library while they have not been initialized yet.
Thus, for these cases, the reader is broken in case it gets opened.
To prevent this, the continue read button should not be shown in the library
The height of the app bar was lost after opening and closing the reader because ref was already created but its current value changed.
However, the ResizeObserver was still observing the old element.
Updated other hook usages, which might cause the same issue, as well
Duplicates were ignored in case they were already detected before.
However, this did not work as intended and ignored valid duplicates in case they were already detected for a different title