goon/app
jtrzupek b643b2cb77 fix(movies): dedup playback sources by target (cross-mirror dupes)
Movie detail showed ~100 playback links (report 41ca1fa4) because the 3 dooplay mirrors (mangoporn/pandamovies/streamporn) each record the SAME hoster embed as a separate row (e.g. luluvid/e/X from all three). Dedup by real target (embed_url/stream_url/page_url) after the priority sort, keeping the highest-priority copy — one verified movie drops 101 -> 58 unique.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 22:26:50 +02:00
..
api fix(movies): dedup playback sources by target (cross-mirror dupes) 2026-06-21 22:26:50 +02:00
connectors feat(siska): convert to browse scraper, re-enable (search broken site-side) 2026-06-20 16:25:11 +02:00
extractors fix(extractors): 4k69 direct okcdn extraction (replaces WebView fallback) 2026-06-14 11:39:36 +02:00
models feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00
normalize feat(ingest): SQL phash match, tag inference + backfill, clip-store skip, browse tubes, watchdog 2026-06-01 15:07:35 +02:00
resolve fix(ingest): race-safe scene_tags insert (ON CONFLICT) — GOON-M 2026-06-19 11:09:06 +02:00
scheduler feat(scheduler): periodic title+duration dedup (missing-merge tube dupes) 2026-06-19 11:20:48 +02:00
templates feat(seo): public HTML SEO router + templates; add CLAUDE.md; ignore .nimbalyst 2026-05-31 16:29:59 +02:00
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
auth.py Initial commit 2026-05-20 10:10:22 +02:00
config.py feat(scheduler): periodic title+duration dedup (missing-merge tube dupes) 2026-06-19 11:20:48 +02:00
db.py Initial commit 2026-05-20 10:10:22 +02:00
ingest.py fix(ingest): strip NUL bytes from raw payloads before Postgres write 2026-06-11 19:48:22 +02:00
main.py feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00