Time left and finished go by the length the player measured
A feed can be minutes out: ReThinking's gave 41:23 for a 43:48 file, which read 0:08 left with 2:33 to play. The player's length is kept in entry_state beside the position, per listener, where no scan can put the feed's figure back, and preferred to the feed's. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@ reasoning lives. New write-ups go at the top.
|
||||
|
||||
See [README.md](../README.md) for what the thing is.
|
||||
|
||||
## 2026-09-15 — A player nobody was listening to, saving over one that was
|
||||
## 2026-09-15 — Kristen Bell again: a length minutes out, and an idle player
|
||||
|
||||
After 0.6.0 the Kristen Bell episode dropped out of Currently Listening again, with eleven
|
||||
minutes left in the player. Its saved position was 41:15 of a file 43:48 long, 94% and finished
|
||||
@@ -15,9 +15,11 @@ the feed, and it was wrong: the feed does say 41:23, but no length makes 41:15 u
|
||||
|
||||
The log had the answer. Saves every ten seconds while it played, then two that were not
|
||||
playback: one beside the only request for the file since the restart, and the last in the same
|
||||
millisecond as a page load. A player left paused further on, in another tab or on another
|
||||
device, saved its own place as its page reloaded. Every save goes through `savePos`, and it
|
||||
saved whatever the player held whether or not anyone had played it since.
|
||||
millisecond as a page load. The likeliest reading was a player left paused further on, in
|
||||
another tab or on another device, saving its place as its page reloaded, since every save goes
|
||||
through `savePos` and it saved whatever the player held whether or not anyone had played it
|
||||
since. That was never confirmed. Fifteen minutes later the listener was playing on from 41:15
|
||||
and heard 2:33 left, which fits that position having been theirs all along.
|
||||
|
||||
`savePos` now saves only once the player has played since its last save, so an idle one never
|
||||
writes, and only playing counts: the seek to where you left off happens paused, and counting it
|
||||
@@ -25,8 +27,11 @@ would save back whatever the list said, however old. A jump back is also saved a
|
||||
the ten-second check only ever looked forward. The fixture audio does not decode, so the browser
|
||||
test stands in for a loaded player and counts what `savePos` sends.
|
||||
|
||||
The feed's length, 2 minutes 25 seconds short of the file, still moves this episode's 90% line
|
||||
earlier than the player's. Not fixed here; the measured length only fills in a missing one.
|
||||
What was certainly wrong was the length. At 41:15 the item list said 0:08 left and the player
|
||||
2:33: the feed gives 41:23 for a file that decodes to 43:48. The length the player measures now
|
||||
goes into `entry_state` beside the position, and wins over the feed's for the 90% line and every
|
||||
time left. Not into `entries`, where each scan writes the feed's figure back, and per listener,
|
||||
so one person's player never changes what another sees.
|
||||
|
||||
## 2026-09-15 — Currently Listening, empty for anyone who opens what they play
|
||||
|
||||
|
||||
Reference in New Issue
Block a user