sync_playlist computed deduped_tracks but the dispatch (append/reconcile/replace) sent the raw valid_tracks — so a library track matched by more than one source entry was pushed multiple times each sync. Extracted _dedupe_by_rating_key (tested) and routed all three modes through it. This fixes the WITHIN-sync duplication. The cross-sync growth reporters describe (Navidrome playlist doubling every resync) is a separate server-push issue still under diagnosis. |
||
|---|---|---|
| .. | ||
| sync_service.py | ||