Bug Fixes
- Fixed Plan to Watch movies being marked as watched in Plex: The Simkl
/sync/all-itemsendpoint returns items from all list statuses (plantowatch, watching, completed, hold, dropped). The sync logic was treating every returned item as watched without checking the status field, causing Plan to Watch, On Hold, and Dropped movies and shows to be incorrectly marked as watched in Plex. Now only items with statuscompletedorwatchingare included in the watched history. - Fixed incorrect Simkl API field name for list status: The Simkl API returns the watchlist status in a field called
status(notlistas suggested by some API docs). The filter now checksstatuswithlistas a fallback for robustness. - Synchronized version strings: All
APP_VERSIONconstants acrossapp.py,simkl_utils.py, andtrakt_utils.pyare now consistent.
Maintenance
- Synced .gitignore and .dockerignore: Added missing
*.db,*.sqlite3, andBackup/entries to.gitignore. Removed duplicate.enventry from.dockerignore. - Added comprehensive test suite for plan-to-watch filtering: 41 tests covering all list statuses, ID types (IMDB, TMDB, TVDB, anidb), full seasons, anime, mixed responses, edge cases, and field name fallback.