Commit 8d18b166 authored by Kourser's avatar Kourser
Browse files

fix(sync): propagate local unsubscribes via a three-way merge



Subscriptions were only ever uploaded with `remove: []`, so a local
unsubscribe never reached the gpodder.net / Nextcloud server and stale
feeds (e.g. a removed duplicate) lingered there.

- Reconcile via a three-way merge against a persisted baseline (the
  subscription set in sync at the last successful sync): apply remote-only
  changes locally and push only local-only adds *and* removes.
- A podcast added on another device is no longer mistaken for a local
  removal, so multi-device sync is robust (no accidental unsubscribes).
- First sync (no baseline) unions both sides and removes nothing; removals
  start propagating from the next sync.

Co-Authored-By: default avatarClaude <claude@anthropic.com>
parent 8dcbe9fa
Loading
Loading
Loading
Loading