New Features
- Added unRAID support. An XML template (unraid-template/plexytrack.xml) is now included so PlexyTrack can be installed from unRAID Community Applications. The template pre-configures ports, volumes and all environment variables.
Bug Fixes
-
Fixed Trakt to Plex watchlist sync not adding or removing items. The sync code only searched the local Plex library when applying Trakt changes. Additions now fall back to account.searchDiscover() to find the item in Plex online metadata, and removals now look up items directly from the current Plex watchlist.
-
Fixed managed user sync failing with str object has no attribute timestamp. Added a _parse_mindate() helper that converts the ISO timestamp string to a proper datetime before passing it to plexapi. Applied the fix to all 7 history() call sites in plex_utils.py.
-
Fixed switching providers (Trakt / Simkl) causing 0 items to sync. Each provider now tracks its own lastSync timestamp independently (lastSync_trakt / lastSync_simkl). Switching providers triggers a full re-sync automatically.
-
Fixed Simkl to Trakt migration showing Nothing new to send to Trakt. The migration code now also queries /sync/all-items, ensuring all watched movies and episodes are found and migrated.
-
Fixed owner scanning using inconsistent account ID. The manual-scan section of get_owner_plex_history was calling account.id directly instead of using the pre-computed account_id.