Commit Graph

5849 Commits

Author SHA1 Message Date
KaiserBh
6bba0e60a3
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental 2024-01-08 07:01:19 +11:00
KaiserBh
edfc61a4a6
chore: ktlint
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-08 07:00:41 +11:00
KaiserBh
db4ec11262
feat(SyncManager): implement timestamp optimization in sync process
Introduce timestamp optimization to sync process by storing the last successful sync timestamp. Now, only records modified after this timestamp are queried, ensuring efficiency by considering only the latest changes.

Import measureTimeMillis for performance measurement, add processFavoriteManga method to refine favorite manga processing, and update various conditions for streamlined sync checks.

Enhance logging for better process visibility and timing accuracy.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-08 06:56:57 +11:00
KaiserBh
35ce19d8f3
feat: Refactor merge logic with composite keys and debugging logs
Refactored the mergeMangaLists and mergeChapters functions to use composite keys for enhanced manga and chapter identification. Implemented composite keys incorporating multiple fields (source, url, title, and author for manga; url, name, and chapterNumber for chapters) to ensure a unique and robust matching process. Added detailed debugging logs at each step of the merge to provide insights into the matching process, making it easier to trace and debug issues related to manga and chapter mismatches. These improvements ensure greater accuracy and reliability in identifying and merging manga and chapters across local and remote lists.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-08 06:52:23 +11:00
KaiserBh
39e3b356bb
Merge branch 'master' into sync-part-final 2024-01-08 06:44:07 +11:00
arkon
6510a9617a Allow permanently trusting unofficial extensions by version code + signature
Closes #10290
2024-01-07 13:35:44 -05:00
arkon
14510f1d26 Avoid jank in extensions list if install permissions already granted 2024-01-07 12:32:33 -05:00
arkon
f115edf2ea Allow deep linking to add external repo 2024-01-07 12:27:40 -05:00
arkon
8a8362203f Release v0.15.1 2024-01-07 09:52:01 -05:00
KaiserBh
b4ac725547
Merge branch 'master' into sync-part-final 2024-01-07 19:30:28 +11:00
arkon
727289c8eb Allow opening .tachibk files directly with app to restore 2024-01-06 19:03:10 -05:00
KaiserBh
3eaa2b012d
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental 2024-01-07 10:40:03 +11:00
KaiserBh
6e5d67b449
chore: ktlint
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 10:39:43 +11:00
KaiserBh
ae3dacf913
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental 2024-01-07 10:35:20 +11:00
KaiserBh
aa3899e4cc
chore: upstream changes
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 10:34:43 +11:00
arkon
9c91ddd4e3 Add link to storage FAQ in settings screen 2024-01-06 18:26:39 -05:00
KaiserBh
1bbdfff826
Merge branch 'master' into sync-part-final 2024-01-07 10:16:43 +11:00
arkon
3ea026e311 Avoid hard crash if cached image file was already deleted
Closes #9720
2024-01-06 18:15:17 -05:00
arkon
36f307e3bb Normalize some locale names 2024-01-06 18:14:45 -05:00
KaiserBh
2186c114d9
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental 2024-01-07 10:07:07 +11:00
KaiserBh
4f2f9be05e
chore: ktlint err
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 10:06:28 +11:00
KaiserBh
95b294ebd6
chore: merge upstream
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 10:04:34 +11:00
KaiserBh
aba86a47f3
Merge branch 'master' of https://github.com/tachiyomiorg/tachiyomi into sync-part-final 2024-01-07 10:00:28 +11:00
KaiserBh
efb8d61e3e
chore: ktlint.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 09:58:26 +11:00
arkon
89678ebb17 Show non-localized language names too in app language selection 2024-01-06 17:53:31 -05:00
KaiserBh
eb5b1610d0
feat: Enhanced SyncYomi with Robust Locking Mechanism
- Introduced `LockFile` data class to manage sync status and ownership.
- Enumerated `SyncStatus` to clearly indicate the stage of synchronization: Pending, Syncing, or Success.
- Implemented a new `beforeSync` method utilizing `OkHttpClient` for secure HTTP calls to manage the lock file.
- Added JSON serialization for lock file management and status updates.
- Implemented exponential backoff strategy to handle concurrent sync attempts and reduce race conditions.
- Added comprehensive logging for debugging and monitoring sync processes.

This update enhances the reliability and concurrency handling of SyncYomi's synchronization process, ensuring users experience seamless and efficient data syncing in a self-hosted environment.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 09:50:30 +11:00
KaiserBh
39d5714a1b
feat: Implemented Lock Mechanism for Synchronization.
- Refactored beforeSync() to incorporate a robust locking mechanism.
- Added backoff strategy to handle race conditions during concurrent sync attempts.
- Ensured single instance of sync data file on Google Drive to prevent duplication.
- Optimized lock file checking and handling for efficient synchronization process.

This update significantly improves the reliability and efficiency of the syncing process by preventing race conditions and ensuring that synchronization actions are atomic.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 09:48:44 +11:00
arkon
80b7d14af1 Fix RAR loading
Closes #10302
2024-01-06 17:09:38 -05:00
arkon
bbd8098a61 Avoid showing WebView button in reader errors if page isn't actually from web 2024-01-06 16:55:50 -05:00
arkon
f8ef0f143b Add link to storage guide during onboarding step 2024-01-06 13:33:56 -05:00
arkon
c4ceda59df Release v0.15.0 2024-01-06 09:50:56 -05:00
KaiserBh
2e5686372a
Merge branch 'master' into sync-part-final 2024-01-06 16:35:24 +11:00
arkon
8321ff6000 Bump dependencies 2024-01-05 23:21:19 -05:00
arkon
9c899e97a9 Clean up external repos
- Accept full URL as input instead, which allows for non-GitHub
- Remove automatic CDN fallback in favor of adding that as an external repo if needed
2024-01-05 23:13:16 -05:00
arkon
556f5a42a7 Fix lint error 2024-01-05 17:49:19 -05:00
arkon
850813820c Disable customized fetch intervals for stable builds for now
Until some of the issues get ironed out.
2024-01-05 17:39:12 -05:00
arkon
dba5e6fbfd Revert "Implement predictive back animation (#10273)"
This reverts commit 9c120e6231.

Potentially too buggy for a stable release for now.
2024-01-05 17:37:04 -05:00
arkon
c17ada2c98 Support external repos
Largely taken from SY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-01-05 17:28:08 -05:00
arkon
32bed9b041 Change fetch interval action to show days until next expected update 2024-01-05 17:08:39 -05:00
arkon
e0a0942015 Remove custom extension readme/changelog URLs
These were barely used/maintained, so just killing them.
Changelog menu item still exists to take you to the relevant git history.
2024-01-05 17:07:49 -05:00
arkon
493da5c3f4 Force users to retrust unknown extensions on cold starts 2024-01-05 08:53:45 -05:00
arkon
4e221397ce Remove tmp chapter files after exiting reader 2024-01-04 18:02:40 -05:00
KaiserBh
c6a147bc84
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental 2024-01-04 22:15:04 +11:00
KaiserBh
b987e12db0
refactor: flipped the function names.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-04 22:14:40 +11:00
KaiserBh
227d723622
chore: merge upstream
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-04 04:34:20 +11:00
KaiserBh
7bd9c2f7c0
Merge branch 'master' into sync-part-final 2024-01-03 00:45:44 +11:00
arkon
22589a9c30 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.
2024-01-01 18:32:21 -05:00
KaiserBh
977b55df8c
chore: Ktlint.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-02 08:15:32 +11:00
KaiserBh
fa5210aa77
refactor: remove proguard rules for keeping the class.
Don't need this anymore as upstream fixed the issue.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-02 08:14:44 +11:00
KaiserBh
e0e433349b
chore: merge upstream.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-02 08:13:34 +11:00