🐛 Fixed
- Sonarr/Radarr quality upgrades no longer trigger duplicate "new content" Discord notifications. When Sonarr or Radarr replaced an existing file with a higher-quality release, Jellyfin assigned a new internal
ItemIdto the re-imported file. Anchorr's dedup keyed off that ItemId and treated the upgrade as a brand-new item. The dedup layer now keys items by a stable identity (TMDB ID + season/episode for shows, TMDB ID for movies) that survives file replacement. Dedup window extended to 7 days to cover typical upgrade cycles. - Dedup state survives container restarts. Previously the in-memory dedup maps were wiped on every restart, so the next poll/WebSocket reconnect would re-notify everything in the recently-added window. State is now persisted to
config/dedup-*.jsonand reloaded on startup, with expired entries dropped automatically.