diff options
| author | Claude <noreply@anthropic.com> | 2026-09-25 07:44:49 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-09-25 07:44:49 +0000 |
| commit | 8dc3cbc4569d384c1689c3f9823e40d4f8a277be (patch) | |
| tree | 77f60d318ad2bbd2d3220d844c8f4fc49d9fd573 /server | |
| parent | e5608851415ec04a8450678e6399441467194ddd (diff) | |
Mark-older-as-played, episode details, unplayed-first sorting
After an OPML import every episode of every show arrives unplayed -- a back
catalogue already heard, far too large to tap through. markPlayedUpTo marks an
episode and everything older in one action. It skips episodes already played,
so their original dates survive, and clears positions as it goes: retention
reads a non-zero position as "resumed, still in use" and would otherwise never
reclaim those files.
Sorting now ranks by newest *unplayed* episode rather than newest episode. A
show you are caught up on was sitting at the top with nothing to offer, which
is backwards; it now drops down the list until it publishes again.
An episode details screen, because the list can show two lines and the
description -- often the only place a show says what an episode is about --
had nowhere to go. It is also where the bulk action lives: the row already has
five controls and a sixth did not fit.
One bug worth recording. SubscriptionNav.openEpisode had a `= {}` default, so
the subscription route forgot to pass it and tapping an episode title silently
did nothing -- it compiled, it ran, the button was simply dead. Default
no-ops on navigation callbacks turn a missing wire into a dead control instead
of a compile error, so the default is gone.
Verified on device: details screen opens, and against real Room on a live feed
the bulk action marked 498 older episodes while leaving the 2 newer alone.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'server')
0 files changed, 0 insertions, 0 deletions
