Skip to content

An ended episode restarts from zero after a synced re-listen #463

Closed

Description

@chhoumann

After an episode ends on one device and you re-listen part of it on another, pressing Play on the first device starts from the beginning instead of the synced position.

Reproduce (V-462, Obsidian 1.14.4, Linux, at #462's head 35d08de)

  1. Device A: play an episode to its end (120 s). It's marked played and the player holds the ended state.
  2. Device B re-listens to 30 s. Sync delivers unfinished progress at 30 s to device A, and a save on A keeps 30 s in data.json (fix(sync): preserve synced progress in paused playback #462 handles this part).
  3. Press Play on device A: playback restarts near 0, not at 30 s.

Cause: the ended state in PlayerController (src/player/PlayerController.ts around lines 122, 198 and 220) restarts a finished episode from zero on play, without checking whether newer unfinished progress has arrived since it ended.

Expected: when synced progress shows the episode is unfinished again, Play resumes from that position. Restarting from zero after the user finished it on this device stays as it is.

This existed before #462, and #462 doesn't make it worse. Evidence: V-462 report, check 3 and the known-limits section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions