CrossWatch – v0.1.5
This build changes caching + type handling. Clear your local state: delete /config/.cw_state/
and /config/state.json
— or hit the three red buttons in Settings → Troubleshoot.
🔧 Fixes & Improvements
- History sync: Plex play dates weren’t fetched reliably, causing Trakt to log everything on the same day.
- History sync: Some plays showed as “successful” but weren’t written to Trakt.
- Endless re-adds: items without usable IDs (esp. Plex
none://
GUIDs) kept trying every run. - Enrichment: failed with
unexpected keyword argument 'items'
. - Provider flags: mismatch in
provides_ids
caused skipped enrichments. - Jellyfin: didn’t expose capabilities cleanly.
- List view clutter: Genre overflow, large gaps, Poster column wasted space.
- Sync/Insight noise: showed providers the user hadn’t connected.
- Type rename fallout: switching show → tv mislabelled some titles.
- Pairs enablement: Enabled/disabled flags weren’t honored; the orchestrator ran pairs regardless.
- Metadata enrichment
- Unified call signature (
resolve
/resolve_many
); no moreitems
error. - Plex GUIDs decoded into TMDB/IMDB/TVDB IDs automatically.
- Unified call signature (
- Provider consistency
- All providers declare
"provides_ids": false
so enrichment always runs. - SIMKL ratings support exposed (movies/shows/episodes).
- Jellyfin now reports
capabilities()
explicitly.
- All providers declare
- Two-way sync
- Removed duplicate enrichment passes; each side enriches once.
- Watchlist stability
- Type normalization:
tv/show/series/season/episode
⇒ tv. - Choose richest-ID source (tmdb/imdb/tvdb/trakt/slug) as the base; weak rows can’t override.
- Stops bogus add/remove loops from type flips.
- Type normalization:
- UI: List view
- Genre clamped to 2 lines (tooltip shows full text).
- Columns tightened (Release/Genre/Type/Sync) to sit closer to Title.
- Poster column compact and aligned; no wasted right-side gap.
- Only show what matters
- Sync column shows connected providers only
- List Insight tiles also hide disconnected providers.
🐞 Waiting to be fixed....
- Watchlist thrash: Items flipped between movie and tv, causing add/remove loops.
- Statistics Counts can be incorrect in certain scenarios (filters, caching, mixed sources).
- Main Insight Counts can be incorrect in certain scenarios (filters, caching, mixed sources).
⚠️ Status & Safety
- This project is in very early development and not ready for production.
- Always make backups/exports of your history before running a real sync.
- Prefer dry runs first to inspect plans (especially timestamps).