The zload CDN URL (remote_control.php) is a valid faststart progressive mp4 that ExoPlayer plays fine when fresh: 206, no IP/referer binding, ~2h token TTL, verified from a residential IP. Real-device failures (player_error/gone telemetry) come from the static URL going stale: a rotated or dead CDN node, or an expired token. Instead of falling back to the tube page in a WebView (removed, it papered over the real issue), PlayerScreen now re-resolves the scene fresh via the backend on initial-load error for backend-native KVS tubes (watchporn). That yields a live node plus a fresh token and stays on the native direct stream (0 VPS bandwidth). For these origins a CDN 'gone' (404) means stale URL, not deleted, so we re-resolve on gone too; a genuinely deleted post raises HosterDead (410) and falls through to the normal fallback chain. Also: add playback_events.error_detail (raw ExoPlayer message) to pin down the exact failure of tubes we cannot reproduce on the emulator. Keep FLAG_SECURE on release builds only (!__DEV__) so debug builds stay screenshottable for local UI verification. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| connectors | ||
| enrich | ||
| extractors | ||
| models | ||
| normalize | ||
| resolve | ||
| scheduler | ||
| templates | ||
| __init__.py | ||
| auth.py | ||
| config.py | ||
| db.py | ||
| ingest.py | ||
| main.py | ||