2.1 KiB
2.1 KiB
ECP-0096: Public NBC Guide Before Auth
Status: Proposed
Decision
Add a public NBC guide feed to the Tauri app so browseable NBC linear channels appear before any Adobe or MVPD authentication happens.
The desktop app will:
- fetch the unauthenticated
friendship.nbc.comlive guide shelf seen inintake/ - materialize those rows as normal
StreamDescriptorentries in the existing channel list - route each discovered row to a stable
nbc.com/live?brand=...URL so selecting a card enters the existing NBC auth and playback path only when the user chooses to watch
Motivation
The NBC capture already proved that playback is auth-gated, but the same trace also contains a public guide layer with channel titles, current programs, branding, and stream access names. That is enough to support browse-before-auth behavior without exposing entitlement or playout tokens.
This keeps discovery public while preserving the existing browser-backed auth boundary from ECP-0094 and ECP-0095.
Scope
In scope:
- unauthenticated NBC public guide fetches for channel browsing
- conversion of live guide rows into
nbcstream descriptors and sources - Tauri UI updates needed to surface
nbcrows in the channel list
Out of scope:
- reverse-engineering or exposing entitlement responses
- direct manifest playback without the existing auth flow
- a full public sports-event catalog beyond the live channel guide in this cut
Alternatives Considered
- Keep NBC URL-only. Rejected because it hides browseable public metadata that the trace already exposes.
- Expose MediaTailor or token-verifier outputs in discovery. Rejected because those belong to the authenticated playback path.
- Build a separate NBC-only discovery UI. Rejected because the existing channel list can host the guide with less surface area.
Rollout / Reversibility
- The change is additive to the desktop app and only affects discovery presentation.
- Roll back by removing the public guide fetch and the synthesized NBC discovery entries.
- Existing NBC auth and playback handling remains the same once a user chooses to watch.