fix(telemetry): thread origin/title through WebView auto-extract re-nav
Some checks are pending
Backend tests / test (push) Waiting to run

Źródła które grają przez WebView (embed) → INJECTED_JS wyłuskuje direct mp4 →
nav.replace('Player', {mode:'video'}) gubiły origin i title. Player bez origin
→ success-effect (!playOrigin) SKIP → udane odtworzenia NIE raportowały się.
freshporno (KVS ale VPS resolve spada na embed → phone WebView-extract) miało
przez to 0 success / same błędy → health=0 → fałszywe offline.

3 nav.replace w EmbedWebViewPlayer (hoster-resolve, extractedUrl effect, banner)
teraz przekazują origin/title/playbackId/entityKind z params. Zweryfikowane na
realnym telefonie: origin=tube:freshpornoorg, success-effect FIRE, backend
zapisał 2× success.
This commit is contained in:
goon-foss 2026-07-20 21:45:26 +02:00
parent aa11fb022a
commit e2cb8df670
2 changed files with 18 additions and 1 deletions

View file

@ -16,6 +16,13 @@ export type ChangelogEntry = {
};
export const CHANGELOG: ChangelogEntry[] = [
{
id: '2026-07-20',
date: 'July 2026',
items: [
'Fixed site ratings for sources that play through a quick web-view step (like freshporno): their successful plays now count, so they no longer get wrongly marked offline and demoted. Freshporno is back in rotation.',
],
},
{
id: '2026-07-16',
date: 'July 2026',

View file

@ -1467,6 +1467,8 @@ function EmbedWebViewPlayer({ params }: { params: RouteParams }) {
nav.replace('Player', {
url: result.url,
sceneId,
origin: params.origin,
title: params.title,
playbackId: params.playbackId,
entityKind,
durationSec,
@ -1534,11 +1536,15 @@ function EmbedWebViewPlayer({ params }: { params: RouteParams }) {
nav.replace('Player', {
url: extractedUrl,
sceneId,
origin: params.origin,
title: params.title,
playbackId: params.playbackId,
entityKind,
durationSec,
refererHost: refererHost || (initialHostRef.current || undefined),
mode: 'video',
});
}, [extractedUrl, nav, sceneId, durationSec, refererHost]);
}, [extractedUrl, nav, sceneId, durationSec, refererHost, params.origin, params.title, params.playbackId, entityKind]);
React.useEffect(() => {
upsertWatchProgress({ position_sec: 0, duration_sec: durationSec ?? undefined }).catch(
@ -1685,6 +1691,10 @@ function EmbedWebViewPlayer({ params }: { params: RouteParams }) {
nav.replace('Player', {
url: extractedUrl,
sceneId,
origin: params.origin,
title: params.title,
playbackId: params.playbackId,
entityKind,
durationSec,
refererHost,
mode: 'video',