checkProgress

Sync resume position (“Continue Watching”) between Plex, Emby, and Jellyfin.

Progress syncs resume position.

It keeps “Continue Watching” roughly aligned across servers.

It does not mark items watched. That’s History.

circle-exclamation

Tracking issue: https://github.com/cenodude/CrossWatch/issues/119

Supported pairs

Progress shows up only for media server ↔ media server pairs.

Both sides must be:

  • Plex

  • Emby

  • Jellyfin

Controls

Progress is configured per pair.

Typical controls:

  • Enable

  • Mode: one-way or two-way

  • Add / Update: write resume position to the target

  • Remove (clear): clear resume position on the target

    • Supported: Emby, Jellyfin

    • Not supported: Plex

circle-exclamation

Guardrails you may see:

  • Minimum seconds: ignore tiny positions (example: 5s)

  • Delta seconds: ignore small changes (example: 30s)

  • Maximum percent: ignore “almost finished” (example: 80%)

Why clears can take two runs

Needing two sync runs before a progress clear/remove “sticks” is normal.

Progress clears are tombstone-driven.

That makes removals safer when a provider briefly returns an incomplete progress list.

What happens:

  • Run #1: CrossWatch notices the item disappeared from the progress list.

    • It records a tombstone (and/or updates prev_* state).

    • It does not immediately clear the other side.

  • Run #2: The tombstone is now persisted.

    • The planner treats the disappearance as “real”.

    • It performs the clear/remove on the other side (if supported).

Related deep-dive: Tombstones

Two-way conflicts

When both sides changed, CrossWatch picks a single winner:

  • Newest progress update wins.

  • If timestamps are missing, the higher resume position wins.

Guardrails (like Delta seconds) help prevent “ping-pong” updates.

Provider quirks

  • Jellyfin: clear is supported (sets progress to 0).

  • Emby: clear is supported (sets progress to 0).

  • Plex: clear is not supported.

  • Plex: progress updates can be delayed or missing. Expect occasional misses.

Last updated

Was this helpful?