Progress
Sync resume position (“Continue Watching”) between supported providers.
Progress syncs resume position.
It keeps “Continue Watching” aligned across supported providers.
It does not mark items watched.
Use History for watched state.
Progress is experimental and best-effort.
Resume data is not equally reliable across providers.
Plex is usually the least reliable for progress timestamps.
Start one-way and validate with a few titles.
Tracking issue: https://github.com/cenodude/CrossWatch/issues/119
Supported pairs
The Advanced Playback Progress section appears only when both sides support progress sync.
Supported progress providers are:
Plex
Emby
Jellyfin
PublicMetaDB
CrossWatch local
What syncs
Progress syncs the position where playback stopped.
It does not treat a missing resume position as a clear request.
Watched history stays separate from progress sync.
Pair controls
Per pair, you can control:
Enable
Mode — one-way or two-way
Add / Update
Remove (clear)
Clear support depends on the destination provider.
Emby and Jellyfin support clears.
Plex does not support clears.
Advanced playback progress
These settings live on the pair.
Different pairs can use different progress rules.
Minimum seconds
Default: 60
Resume positions below this value are ignored.
A stop in the first minute does not sync with the default.
Use 0 to disable this filter.
Change threshold
Default: 30
CrossWatch writes progress only when the source and destination differ by at least this value.
This reduces noisy writes from small player timing differences.
Use 0 to consider every difference.
Ignore near complete
Default: 95 percent
Positions at or above this value do not sync as unfinished progress.
This lets History own the watched state.
Enable History if you rely on this setting.
Replay watched items
Default: disabled
By default, CrossWatch does not write unfinished progress over a watched destination item.
With this enabled, CrossWatch can mark the destination unwatched and restore the source resume point.
Use it only for deliberate rewatches.
Timestamp tolerance
Default: 30 seconds
Accepted range: 0 to 300 seconds
If the destination timestamp is newer than the source by more than this value, CrossWatch skips the write.
Increase it when minor clock drift blocks valid writes.
Change threshold examples
With a threshold of 30 seconds:
Source
20:00, destination19:45→ no writeSource
20:00, destination19:20→ write allowed
Recommended defaults:
Minimum seconds:
60Change threshold:
30Ignore near complete:
95Replay watched items: disabled
Timestamp tolerance:
30

Progress vs Playback
Progress updates when the pair runs.
Playback reads the provider live.
The numbers can differ between those views.
That is normal.
Planning vs write scope
These settings affect planning for all supported progress pairs:
Minimum seconds
Change threshold
Ignore near complete
These settings mainly affect writes to Plex, Emby, and Jellyfin destinations:
Replay watched items
Timestamp tolerance
PublicMetaDB and CrossWatch local use their own write rules.
Regression handling
When the source position is behind the destination, CrossWatch checks timestamps first.
Without usable timestamps, it does not move progress backward.
In two-way mode, the newest usable progress usually wins.
If timestamps are missing, the higher position wins.
Clear behavior
Progress does not clear just because the source has no resume position.
Clear behavior still depends on pair remove settings and provider support.
One-way remove behavior uses One-Way Remove mode (Deletions based on Source) in Global settings.
If you want source-side clears to mirror to the destination, you usually want Mirror mode.
Progress clears are tombstone-driven.
That means a clear can take two runs:
CrossWatch records that the source item disappeared.
The next run treats that disappearance as real and applies the clear.
See Tombstones.
Additional write protection
Before writing to Plex, Emby, or Jellyfin, CrossWatch also skips when:
the item is actively playing on the destination
source and destination are the same provider instance
the source has no usable progress timestamp
the destination is newer than the allowed tolerance
the destination is watched and replay mode is off
the positions are already materially equal
These checks prevent scheduled syncs from overwriting newer destination activity.
Provider notes
Plex does not support clear
Plex timestamps can be delayed or missing
Emby clears by setting progress to
0Jellyfin clears by setting progress to
0Replay watched items is implemented for Plex, Emby, and Jellyfin destinations
Related
Last updated
Was this helpful?