mirror of
https://github.com/FluxaMedia/fluxa.git
synced 2026-08-02 06:56:24 +00:00
Trakt's watchlist pull previously fed only a live, un-timestamped, display-only union in HomeLibraryCoordinator/AndroidLibraryDataSource (distinctBy id, recomputed on every emission, never persisted or pushed back). This wires it into the Phase 0/1 groundwork instead: - TraktSyncItem now parses listed_at, exposed via TraktSyncClient.getWatchlistWithListedAt / TraktRepository - ExternalSyncMergeBridge wraps the mergeWatchlistTimestamped core_invoke call for Kotlin callers - WatchlistManager gains a local membership snapshot (active entries + removal tombstones) and applyRemoteWatchlistAdd - HomeLibraryCoordinator.load() now reconciles Trakt's remote watchlist against the local one after each fetch: items the merge says are locally newer get pushed via the existing ExternalSyncPushCoordinator.pushWatchlist, items remote is newer on get applied into the local watchlist_entries table Simkl and Stremio are follow-up work — their fetch shapes differ (Simkl has no true watchlist endpoint, Stremio's is a unified datastore blob) and need separate integration passes. |
||
|---|---|---|
| .. | ||
| schemas | ||
| src | ||
| build.gradle.kts | ||