Version v0.1.3
π§ Critical Fixes
-
Scrobble / Watcher β make βwatchedβ earned, not guessed
STOP
below threshold β sent asPAUSE
(default 80%,scrobble.trakt.stop_pause_threshold
).- Anti β100% STOP jumpβ: demote to
PAUSE
and clamp progress to last known. - Credits-safe: final
STOP
β₯95% bypasses debounce (scrobble.trakt.force_stop_at
). - Probe-correct progress from Plex (β€3 tries); floor tiny
start
to 1%. - Suppress dup
STOP
; lightweight restart detection; stable reconnect/backoff.
-
Trakt Sink β smarter IDs, safer sends
- Prefer episode GUID IDs (
imdb/tmdb/tvdb/trakt
) β fallback show+S/E β last-resort GUID search (fixes anime reorders like S02E04βS01E16). - Handles 401 refresh, 429 backoff; cleaner logs and payloads.
- Prefer episode GUID IDs (
Version v0.1.2
π Sync & Pairing
- Safe first run β removals are suppressed to prevent accidental wipes.
- History sync β enabled.
- Jellyfin added β experimental support (limited functionality; known issues).
π§© Watchlist UX
- Dynamic insights (4+ providers) β layout scales cleanly to any number of providers; metrics update live.
- Trailer playback β fixed the watchlist trailer launch/preview issue.
π§ Critical Fixes
- Sync button state β the Synchronize button enables correctly even when no SIMKL provider is in a pair.
- Many other fixes and hardenings.
π³ Run CrossWatch with Docker
Latest stable
docker run -d \
--name crosswatch \
-p 8787:8787 \
-v /path/to/config:/config \
-e TZ=Europe/Amsterdam \
ghcr.io/cenodude/crosswatch:latest