mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-16 14:16:16 -08:00
Merge master, dedupe the kept copy, and retire superseded switches
Master had moved ten commits ahead. Two conflicts, both resolved without losing either side: the `XTREAM_PROBE_URL` handler this PR extracted into `events/stream-probe.ts` stays extracted (master added performance capture nearby but never touched that handler), and the mock-server scenario table takes the union of master's `performance` row and this branch's `multisrc` pair. Two findings fixed alongside it. Pinning the copy the route is already on makes discovery return that very row, so prepending the current source listed one stream twice — a phantom copy in the grouping and a chip that counted it. And handing the "playing" badge back to the route row left an in-flight switch valid, so a slow resolution could arrive afterwards and replace the playback the user had just started with Play, Resume or Restart. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
commit
9f0a8b4f19
385 files changed
+58306
-2264
No files matched your search
@@ -248,7 +248,10 @@ for "Up".
|
||||
One row inside the excluded playlist is kept when the caller names it
|
||||
(`keepContentId`): a pin can point at another copy of the film in the playlist
|
||||
being viewed, and dropping that row would leave the preference pointing at
|
||||
nothing. The host therefore reads the pin BEFORE discovery.
|
||||
nothing. The host therefore reads the pin BEFORE discovery. When that pin is
|
||||
the route's *own* row, the kept copy and `currentSourceRow()` are the same
|
||||
stream, so `applyDiscoveredSources` drops the duplicate rather than listing it
|
||||
twice.
|
||||
|
||||
### Same title, different film
|
||||
|
||||
@@ -384,7 +387,9 @@ play.
|
||||
Whichever source ends up playing, the "playing" badge follows it: starting the
|
||||
route's own stream (Play, Resume, Restart, or the fallback after a pin does not
|
||||
apply) hands the badge back to the route row, or the picker and caption go on
|
||||
naming an alternative that is no longer running. And a source started through
|
||||
naming an alternative that is no longer running. That hand-back also
|
||||
invalidates a switch still resolving — the user chose the route stream, and an
|
||||
older resolution arriving afterwards would replace what they just asked for. And a source started through
|
||||
the picker or a pin is recorded in Recently Viewed exactly as an ordinary Play
|
||||
is — it is the same film, watched.
|
||||
|
||||
|
||||
Reference in new issue
Block a user