mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-09 01:16:15 -08:00
* fix(xtream): open correct channel and category from Ctrl+F live search Three bugs prevented a live channel clicked from global search (Ctrl+F) from playing and highlighting correctly in the sidebar: 1. Component reuse on same-route navigation: when the user was already on the /live route, Angular reused LiveStreamLayoutComponent without re-running the constructor, so openXtreamLiveItemId was never read from history state. Fixed by subscribing to NavigationEnd and calling checkPendingAutoOpenFromState() on every navigation. 2. Early effect firing with wrong content type: the auto-open effect could fire before syncRouteState set selectedContentType to 'live', causing the channel to be searched in VOD streams, not found, and the pending ID cleared. Fixed by guarding on selectedContentType() === 'live' before processing. 3. Category filter blocking channel lookup: getVisibleChannels() only returned channels in the currently selected category, so a channel from a different category was never found. Fixed by switching to getAllLiveStreams() (raw liveStreams signal) for the auto-open lookup. Also sets selectedCategoryId to the opened channel's category so the sidebar scrolls to the right category and highlights the channel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(xtream): address PR review feedback on live search auto-open - Remove redundant constructor call: rely solely on NavigationEnd subscription to read openXtreamLiveItemId from history state, which fires after component creation for both initial and re-navigation - Add explicit setSelectedItem call after auto-open so EPG loading and remote-control status reflect the playing channel independently of the constructStreamUrl side-effect - Add 6 regression tests covering: initial NavigationEnd, category highlighting, content-type guard, lazy liveStreams loading, missing channel, and component-reuse re-navigation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>