mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 10:06:15 -08:00
The dashboard's "Now on air on favorite channels" and "Recently watched Live TV" rails looked up XMLTV programmes scoped to the Settings-managed global EPG URLs only, with no fallback. A favourite whose guide lives in another playlist's XMLTV (or whose programmes are tagged with a source other than the channel row's) showed only the LIVE chip while its "See all" row — resolved by StreamResolverService, which never scopes by source — showed the programme. EpgLookupOptions gains a renderer-only `anySourceFallback`: after the scope (playlist sources, then global) has answered, the keys still without a programme are retried once through the source-less batch path and its cache. The dashboard rails pass it; the channel list keeps the strict scope. Regression E2E: playlist-declared XMLTV + a global XMLTV without the channel → the favourite's dashboard card shows the programme (fails on the old code with the subtitle in its place). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>