Commit Graph

135 Commits

Author SHA1 Message Date
kaiserbh
7b3a586f05 chore: review pointers. 2024-01-20 17:10:23 +11:00
KaiserBh
47a6bd7b8f chore: merge changes from upstream and fix conflicts. 2024-01-17 03:23:34 +11:00
AntsyLich
c83037eeab
Fix update downloader borked 2024-01-16 05:43:26 +06:00
AntsyLich
19afd8c9ca
Rename more references 2024-01-16 01:31:22 +06:00
KaiserBh
f51f94d7a6
chore: merge changes from upstream.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-14 06:02:16 +11:00
KaiserBh
ffe6efdd7a
feat(sync): Allow to choose what to sync.
Various improvement and added the option to choose what they want to sync. Added sync library button to LibraryTab as well.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-14 05:56:09 +11: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
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
KaiserBh
95b294ebd6
chore: merge upstream
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 10:04:34 +11:00
KaiserBh
efb8d61e3e
chore: ktlint.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-01-07 09:58:26 +11: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
2e5686372a
Merge branch 'master' into sync-part-final 2024-01-06 16:35:24 +11:00
arkon
32bed9b041 Change fetch interval action to show days until next expected update 2024-01-05 17:08:39 -05: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
37033cbfc3
chore: ktlint.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-29 01:59:14 +11:00
KaiserBh
0d117b84c0
feat: Add trigger to sync before library update.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-29 01:56:05 +11:00
KaiserBh
8ba133ae7b
chore: fix conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-29 01:12:23 +11:00
KaiserBh
80570a823f
chore: merge upstream changes.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-28 22:48:32 +11:00
arkon
4b208fc7ce Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...
2023-12-27 13:45:44 -05:00
arkon
6887d98f15 Minor tracking cleanups 2023-12-24 22:25:22 -05:00
arkon
5908bd1930 Move backup models to domain module 2023-12-24 18:01:58 -05:00
arkon
b9fd416fc6 Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.
2023-12-21 09:49:03 -05:00
KaiserBh
2f2eed0235
chore: Ktlint
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-20 22:49:19 +11:00
KaiserBh
178b00280b
feat: added triggers for syncing.
Experimental for now, but works fine so far, I don't know about google api limit but I think it's pretty generous.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-12-20 22:12:46 +11:00
KaiserBh
18fb63cd01 chore: merge upstream. 2023-12-20 02:46:21 +11:00
arkon
5fec881387 Clean up history restoring 2023-12-16 11:15:09 -05:00
arkon
36f400d542 Fix download indexing with changed storage locations
Fixes #10218
2023-12-15 18:44:37 -05:00
arkon
58daedc89e Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)
2023-12-14 23:26:02 -05:00
KaiserBh
3532074a70
Merge branch 'master' into sync-part-final 2023-12-15 07:01:37 +11:00
arkon
f7c5b42435 More onboarding screen additions 2: Electric Boogaloo 2023-12-09 18:20:58 -05:00
arkon
ab9a26f6bd Migrate to some newer date/time APIs 2023-12-08 23:11:53 -05:00
KaiserBh
73130bc3dd
chore: merge upstream changes.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-30 04:36:45 +11:00
arkon
27c4db752c Actually use configured storage location for local source
Fixes #10178
2023-11-26 16:24:37 -05:00
arkon
ca54984344 Use UniFile for local source file handling 2023-11-26 16:04:37 -05:00
arkon
f365b53a0f Move automatic backups from /backup/automatic to /autobackup
Removes the need to try to create child folders, which simplifies things.
2023-11-26 16:04:25 -05:00
KaiserBh
2a69a1eeb0
Merge branch 'master' of https://github.com/tachiyomiorg/tachiyomi into sync-part-final 2023-11-22 23:14:24 +11:00
arkon
bcc42dd259 Exclude some more app state preferences from backups 2023-11-21 22:11:44 -05:00
KaiserBh
d180d1de45
fix: upstream conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-20 17:57:04 +11:00
arkon
1fbf8ca079 Use unified storage location for automatic backups 2023-11-19 16:08:24 -05:00
arkon
695813ef7d Add unified storage location setting
Currently only using it as a replacement for the downloads location.
2023-11-19 16:04:28 -05:00
KaiserBh
389d40ab41
Merge branch 'master' of https://github.com/tachiyomiorg/tachiyomi into sync-part-final 2023-11-20 07:49:10 +11:00
KaiserBh
976841605e
refactor: remove the redundant syncPrefs
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-20 07:45:39 +11:00
arkon
e3b70ca08d Remove max automatic backups setting
We just always create up to 4 now to simplify it, given the addition of syncing
is going to make this section pretty busy.
2023-11-19 15:18:15 -05:00
KaiserBh
71872ead81
refactor: clean up.
- Removed SyncDevice, device name since it's not used anymore by syncyomi server.
- Removed SyncStatus, used internally in the server doesn't need the data to be sent from tachi app.
- This way we just keep the manga data/backup that we can send to many services more generic.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-14 17:44:15 +11:00
KaiserBh
38609e8907
chore: lint.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-14 16:09:33 +11:00
KaiserBh
0016f1e335
fix: merge conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-11-14 14:09:17 +11:00