KaiserBh
6237fefcd4
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2024-01-10 18:51:55 +11:00
KaiserBh
3c73891c44
chore(R8): Keep the backup models.
...
Gson will fail with gson.internal.linkedtreemap cannot be cast to class. Mainly because it's removed or obfuscated by R8.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 18:51:02 +11:00
KaiserBh
646ceaf4cb
refactor: add more debugging logs.
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 18:48:13 +11:00
KaiserBh
8f6fa1f500
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2024-01-10 11:36:58 +11:00
KaiserBh
d1a55ed7fe
chore: Ktlint
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 11:36:43 +11:00
KaiserBh
a13e731d1c
refactor(GoogleDrive): update backoff delay.
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 11:30:15 +11:00
KaiserBh
e04d191dfb
refactor(GoogleDrive): add more logging, also use appdata folder.
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 11:23:27 +11:00
KaiserBh
0366de2604
refactor(GoogleDrive): use context.stringResource
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 11:12:29 +11:00
KaiserBh
14e01514cb
refactor(GoogleDrive): clean up some stuff.
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 11:11:01 +11:00
KaiserBh
5b2bbb1123
refactor(GoogleDrive): Use gson to encode the syncData.
...
Same as before. OOM (Out of Memory) issue.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 09:50:06 +11:00
KaiserBh
b23c100fab
refactor(GoogleDrive): Use gson to encode the syncData.
...
So on a really big data we will run into OOM issue. With this change we implement streaming approach, rather than loading the entire JSON string into memory at once.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 09:29:54 +11:00
KaiserBh
882cee30ce
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2024-01-10 03:50:03 +11:00
KaiserBh
97cf79f948
Merge branch 'master' of https://github.com/tachiyomiorg/tachiyomi into sync-part-final
2024-01-10 03:48:24 +11:00
KaiserBh
803f531b03
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2024-01-10 03:48:10 +11:00
KaiserBh
f3c2c13f49
refactor: composite keys.
...
Use composite keys for better matching, there was mismatch before and better manga categories handling.
Added more logs as well.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-10 03:47:35 +11:00
arkon
c6601c1f94
Release v0.15.2
2024-01-08 18:17:25 -05:00
arkon
68899aea61
Disable some non-ready stuff for stable build
2024-01-08 18:16:59 -05:00
arkon
3d178737b1
Move extension repos interactors to proper package
...
Also retain ordering of added repos.
2024-01-08 17:15:48 -05:00
KaiserBh
9859a3d129
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2024-01-09 02:08:53 +11:00
KaiserBh
3c95d3aefc
Merge branch 'master' into sync-part-final
2024-01-09 01:57:23 +11:00
arkon
bf737cf95c
Remove built-in official extension repo support
2024-01-07 23:06:17 -05:00
Naputt1
c91ec9a33b
fix Can't scroll down to the bottom of the webtoon on the last chapter ( #10291 )
2024-01-07 22:52:10 -05:00
Caleb Morris
a8040cb21a
[track-search] Added context menu for copy and open-in-web ( #10352 )
2024-01-07 22:49:51 -05:00
arkon
f60782f11f
Avoid floating point precision issues when converting scores
...
Fixes #10343
Maybe we'll finally migrate off of those legacy models some day...
2024-01-07 17:50:14 -05:00
arkon
5854ad97e0
Do proper check for next chapter's download status when downloading ahead
...
Fixes #10151 (I think?)
2024-01-07 17:30:53 -05:00
arkon
4b8fa059d5
Fix external repo info banner in ExtensionDetailsScreen
2024-01-07 16:35:25 -05:00
arkon
3dc2f9a711
Add advanced setting to revoke all trusted unknown extensions
2024-01-07 16:16:26 -05:00
arkon
8033a94ee2
Trusting new extension shouldn't revoke other irrelevant extensions
2024-01-07 16:05:31 -05:00
arkon
028da099dd
Add filter library by customized update frequency
...
Supersedes #9619
Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
2024-01-07 16:03:12 -05:00
arkon
e6c6c32d81
Fix selecting custom fetch interval not persisting sometimes
2024-01-07 15:40:53 -05:00
Luqman
bce6af62fc
Add Nord Theme ( #10308 )
...
* Add Nord Theme
* update
* update error color
* update comment
2024-01-07 15:20:08 -05:00
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
arkon
ec478cbb1b
Defer ACRA reporting until device is idle/not low battery/on unmetered network
2024-01-01 09:53:21 -05:00
arkon
b5e3f429fc
Fix extension settings icon trying to install update instead of opening details
2023-12-31 23:46:07 -05:00
arkon
83130f9bf9
Try to show actual path in invalid location downloader notification
...
Instead of the class/hashCode, which doesn't mean much to a user.
2023-12-31 23:33:10 -05:00
arkon
6f34c5e894
Prevent creating backups with no valid options selected
2023-12-31 09:33:19 -05:00
arkon
74931fad86
Use Material3 version of AboutLibraries
2023-12-31 08:57:11 -05:00
arkon
6ab8e1e73d
Don't use reflection for handling backup options as boolean array
...
Wasn't working correctly in release build, _probably_ because of R8 despite kotlin-reflect
shipping with Proguard rules and us already keeping all Tachiyomi classes.
2023-12-30 20:29:12 -05:00
arkon
1cdaa761b7
Dedupe common LazyColumn with action at bottom layout
2023-12-30 20:08:28 -05:00
arkon
54f4711f7b
Show next expected update in interval dialog
...
Related: #9793
2023-12-30 19:15:52 -05:00
arkon
3d0d5c0472
Misc refactoring
...
- Abstract away relative date string building
- Dedupe large update warning logic
2023-12-30 18:33:35 -05:00
arkon
f0a0ecfd4a
Allow creating backups without library entries
...
- In case you want a backup of just settings?
- Also disable backup options if dependent option is disabled (and fix being able to toggle disabled items)
- Also fix crash in RestoreBackupScreen due to attempt to parcelize Uri
- Make restore validation message a bit nicer
2023-12-30 16:02:36 -05:00
arkon
f3b7eaf4a3
Shorten restore warning message a bit
2023-12-30 12:16:53 -05:00
arkon
5bba7af24a
Allow partial restores (library/settings)
...
Closes #3136
2023-12-30 12:09:55 -05:00
arkon
32c3269291
Filter out empty source preferences when creating backups
2023-12-30 10:38:32 -05:00
arkon
a1e84911be
Clean up create backup UI
2023-12-30 10:36:30 -05:00
arkon
6bb77bcf1a
Minor cleanup/address lint warnings
2023-12-30 10:30:32 -05:00
KaiserBh
0a6d37607c
fix: proguard removing the RestoreOptions class.
...
It breaks the syncing and gives NullPointer error on release and preview version.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-31 01:40:53 +11:00
KaiserBh
01f06ff1af
Merge branch 'sync-part-final' into feat/add-sync-triggers-experimental
2023-12-30 22:17:55 +11:00
KaiserBh
ea536b04f1
chore: fix build error.
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-30 21:44:28 +11:00
KaiserBh
6466bf040a
chore: ktlint
...
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-30 21:39:15 +11:00