CDN returns the promo MPD when the app UA survives a redirect; the play API now serves a signed Chrome/122 proxy for MPD and segments. iOS pins that UA on every hop.
Catch-up (live:false) skipped the ClearKey proxy so VLC hit the CDN without the working UA, and CFNetwork dropped URLRequest User-Agent unless it is set on the session.
Recovered the ClearKey AVPlayer/proxy stack from the Mac stash, keep later UI fixes, resolve DASH segments against the redirected manifest URL and XML-unescape MPD values.
MobileVLCKit cannot decrypt ClearKey; the app now decrypts segments in-process and feeds plain DASH to VLC, removing the coming-soon DRM dead-end (0.5.1/13).
Restore channel list decoding for string/custom IDs, URL-encode play paths, parse DRM/heartbeat, and ship Events tab (0.5.0/12) with best-effort VLC ClearKey.
Subprofiles can edit their own profile and cannot switch server/account; series detail shows watched/progress; skip-to-next marks the prior episode done and keeps one continue-watching tile per series.
Pass embedded track language/title through play ACK into clients so Android/iOS can label tracks instead of generic Ondertitel N when ExoPlayer/VLC miss tags.
Owners can list/revoke devices and approve TV codes in the iOS app; TV shows a vmc:// QR, and Films/Series get visible chips, titles, and a non-overlapping A–Z index.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clients can use VMC or a custom server with email/password or device code; API locks after 3 failed logins with admin unlock.
Co-authored-by: Cursor <cursoragent@cursor.com>