fix(playback): send Origin as a real VLC header and cover header IPC in E2E

Review follow-ups: VLC only used the Origin value as an :http-referrer
fallback while MPV already sent it via --http-header-fields; both VLC
paths (fresh spawn and RC enqueue) now emit the same
buildHttpHeaderFields list, so a real `Origin: ...` header reaches the
provider, deduplicated against an explicit headers-map Origin. The
legacy origin-as-Referer fallback stays.

The dash-clearkey Electron E2E now asserts the new IPC contract (blank
channel-level headers arrive as undefined, not empty strings) and gains
a scenario that sets a playlist-level User-Agent through the source
editor and verifies the captured MPV fallback launch carries it across
the renderer/main IPC boundary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011id2tdJtkJYRYX8dwYYKwL
This commit is contained in:
Claude committed 2026-08-09 18:50:31 +00:00
1 parent 297733ed42
commit 18db154d3f
6 files changed
+104 -19

No files matched your search

+2 -1
View File
@@ -7,4 +7,5 @@ issues: [1221]
When a channel plays in MPV, VLC or the embedded MPV player, the custom
User-Agent, Referer and Origin saved on the M3U playlist now reach the player.
Per-channel `#EXTVLCOPT` headers still win; the playlist values only fill the
gaps.
gaps. VLC now also sends the Origin value as a real HTTP header, as MPV
already did.