|
Some checks are pending
Backend tests / test (push) Waiting to run
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> |
||
|---|---|---|
| .. | ||
| 20260502_0001_initial.py | ||
| 20260502_0002_playback_sources.py | ||
| 20260503_0003_playback_dead.py | ||
| 20260504_0004_animated_thumbnail.py | ||
| 20260504_0005_favorite_performers.py | ||
| 20260504_0006_blacklists.py | ||
| 20260504_0007_play_progress.py | ||
| 20260506_0008_performer_search_meta.py | ||
| 20260506_0009_movies.py | ||
| 20260506_0010_favorite_scenes.py | ||
| 20260507_0011_origin_pornapp_to_tube.py | ||
| 20260508_0012_favorite_studios.py | ||
| 20260509_0013_bug_reports.py | ||
| 20260509_0014_favorite_movies.py | ||
| 20260510_0015_bug_reports_movie_id.py | ||
| 20260512_0016_realdebrid_cache.py | ||
| 20260512_0017_drop_realdebrid_cache.py | ||
| 20260528_0018_movie_play_progress.py | ||
| 20260531_0019_taxonomy_scene_counts.py | ||
| 20260602_0020_scene_tags_tag_id_index.py | ||
| 20260607_0021_scene_tags_tag_id_stats.py | ||
| 20260608_0022_device_scoped_user_state.py | ||
| 20260612_0023_bug_report_replies.py | ||
| 20260616_0024_saved_searches.py | ||
| 20260622_0025_source_ranking.py | ||
| 20260702_0026_scene_backfill_flag.py | ||
| 20260705_0027_playback_event_error_detail.py | ||