Progress, Continue Watching and history
Learn how Finetic records resume position, completion, session time, Continue Watching, Next Up and per-user Watch History.
Three related values#
Finetic deliberately separates:
| Value | Meaning |
|---|---|
| Position | Where playback should resume in the title |
| Progress | Position divided by the known title duration |
| Session time | Time actively watched during one playback session |
A resumed episode can therefore be completed after 12 minutes of session time if the first 9 minutes were watched earlier. Watch History labels those values separately so completion never appears to contradict progress.
Continue Watching#
A title appears when it has a valid non-trivial resume position and is not complete. Multiple sessions for the same title are deduplicated using the newest valid state. Completed titles are removed.
For television, continuation is episode-level. Finetic can move from a completed episode to the next episode across a season boundary.
Completion#
Natural media end, an explicit next-episode handoff, or a terminal position at or beyond the completion threshold marks the session complete. Seeking close to the end does not fabricate session time, but the resulting title state can still be complete if playback explicitly ends.
Watch History#
History is per user. Administrators can use the administrative view across users; normal users see only their own activity.
Statuses mean:
- In progress — an active server-owned playback session.
- Completed — playback reached a valid completion boundary.
- Stopped — the session ended before completion.
- Terminated — an administrator stopped it.
- Error — playback ended because of a recorded failure.
Terminal status is monotonic. A delayed heartbeat cannot turn a completed row back into in-progress. Rows left active by an interrupted process are reconciled from their last position and heartbeat.
Mark watched#
Manual Mark watched sets the user's title state to exactly 100%. It is distinct from claiming the user actively watched the full runtime in one session.