Files
iptvnator/libs/ui
4grayandClaude Fable 5 5b4079726e fix(playlist): mount the saved engine for recognized M3U movies
WebPlayerViewComponent resolves the engine from its own asynchronous
settings read and falls back to Video.js until it lands. The engine is part
of the application token, so anyone whose saved player is not Video.js got a
first application on the wrong engine and a swap a tick later. The M3U live
layout never showed it because it passes an explicit playerOverride; the
detail path goes through the shared inline player, which had no way to.

PortalInlinePlayerComponent now accepts an optional playerOverride (null
keeps the portals' behaviour) and the M3U detail chain forwards the value the
live layout already uses.

The E2E guard is a MutationObserver over engine mounts, not a polling
locator: both engines leave the same final DOM, so only the record of what
was ever attached can see the defect. Verified to fail without the fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 10:47:43 +02:00
..