fix(mobile): WebView page fallback for native-mp4 tubes that fail in ExoPlayer
Some checks are pending
Backend tests / test (push) Waiting to run
Some checks are pending
Backend tests / test (push) Waiting to run
Two user reports (watchporn scenes 5716e1c5 + another): "resolver fails but the scene plays in the diagnostic browser". Verified server-side the watchporn extractor is reliable (8/8) and returns 2 clean links; the zload remote_control.php CDN URL is a valid range-supporting mp4 (206) that plays cross-IP and via the /proxy fallback (206). So the failure is purely the mobile native player choking on that URL, and native-mp4-only tube sources carried NO fallbackEmbedUrl, so there was nothing left after native+proxy. Now: when a resolved source has direct links but no embed, use the tube page_url as the WebView fallback. Native + proxy are still tried first; only if both fail does it load the site page in the WebView player (phone-side, residential IP, no VPS bandwidth) which is exactly what the diagnostic browser does and the users confirmed plays. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
15c1e4e5e1
commit
426b49fbe9
2 changed files with 14 additions and 2 deletions
|
|
@ -16,6 +16,13 @@ export type ChangelogEntry = {
|
|||
};
|
||||
|
||||
export const CHANGELOG: ChangelogEntry[] = [
|
||||
{
|
||||
id: '2026-07-05',
|
||||
date: 'July 2026',
|
||||
items: [
|
||||
'If a video source cannot play in the built-in player, the app now falls back to the site page so it still plays (helps watchporn and similar).',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: '2026-07-03',
|
||||
date: 'July 2026',
|
||||
|
|
|
|||
|
|
@ -688,8 +688,13 @@ function PlaybackButton({
|
|||
|
||||
// Fallback embed do Playera — gdy ExoPlayer dostanie 403 (IP-bound CDN), apka
|
||||
// przełączy się na WebView z tym embed URL'em. Bierzemy pierwszy embed jaki
|
||||
// jest, niezależnie od kolejności w `links`.
|
||||
const fallbackEmbedUrl = embedLinks[0]?.embed_url || res.best?.embed_url || undefined;
|
||||
// jest, niezależnie od kolejności w `links`. Gdy źródło jest natywne-mp4 bez embedu
|
||||
// (KVS: watchporn/porn00 itd.) i mimo to native+proxy padną na telefonie (report
|
||||
// watchporn: „resolver nie dziala, a scena dziala w diagnostyce"), spadamy na
|
||||
// page_url w WebView — strona tube gra po stronie telefonu (residential IP, 0 VPS
|
||||
// bandwidth), tak jak diagnostyczny browser. Native/proxy dalej sa probowane pierwsze.
|
||||
const fallbackEmbedUrl =
|
||||
embedLinks[0]?.embed_url || res.best?.embed_url || source.page_url || undefined;
|
||||
|
||||
const autoPick = pickAuto(directLinks);
|
||||
if (autoPick) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue