Simplify searching by making matching logic less strict.
- do not require full match
- additionally compare by removing all non letter and number chars
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.
With the changes from df006bb348, the requested download queue data changed not matching the previously used type.
The unnecessary cast then hid the tsc issues during compilation
In case there were no chapters to migrate the read or bookmark status, a request with an empty list was sent to the server.
This caused an exception on the server which resulted in a request failure which at the end caused the migration to fail
In case "skip duplicated chapters" is enabled and the next chapter is from a different scanlator, the initial opened chapter should still be used to remove duplicated chapters.
Otherwise, the original scanlator would get lost and the scanlator of the next chapter would get used, which was only a fallback chapter, because the initial chapters scanlator did not have a next chapter.
In case a manga was completely downloaded, the grouped chapters did not contain a list for the specific manga id, resulting in an TypeError due to trying to use the array as if it was not undefined
In case the next 5 chapters should get downloaded and they are all the same chapter from different scanlators, then the download actually only included 1 chapter.
To fix this duplicated chapters are counted as 1 chapter
Instead of checking if download ahead is required because not enough unread downloaded chapters existed, it just downloaded the next n unread undownloaded chapters
* Extract CategorySelect usage into hook
* Extract logic to change manga in library state into hook
* Change manga in library state on long press when browsing source
* Create "Categories" util class
* Only show add to library category selection in case categories exist
* Add edit categories button in select categories dialog
* Add option to disable add to library dialog to the dialog
In case the fetch timestamp of a manga changed, it's possible that the thumbnail has changed as well, thus, the currently cached image should be ignored
* Trigger download ahead while reading client side
* Trigger download ahead while reading earlier
Download ahead was only triggered once the chapter got marked as read
* Optionally ignore dupe chapters for download ahead
* Consider current chapters scanlator for dupe check
* Update download ahead related settings
- add new metadata setting for download ahead limit
- previous setting
- rename
- update usage (auto download new chapters limit)
* Select chapter to auto delete while reading depending on ignore dupe setting
Currently, the n-th to last chapter always got deleted ignoring if "ignore dupes" setting was enabled or not.
* Only auto delete chapter while reading if it is read
In case not the last read but the n-th to last read chapter should get auto deleted while reading, it currently just got deleted ignoring if it has been read or not.