goon/app/api
jtrzupek 9526d4d9f3 fix(favorites): +N new count = what the list actually shows
The "+N new" badge counted every live-playback scene with created_at > last_seen_at,
but the performer/studio list the user opens applies the device blacklist AND only shows
the first page (per_page=200, sort release_date desc) — so a freshly-ingested scene with
an old release date, or a blacklisted one, inflated "+N" while being invisible ("+6, no
new scenes"). Count now mirrors the list: same visibility filters (live playback +
blacklist + stub-exclusion for studios) and the same top-200 window under release_date
desc. On the main device this dropped the naive total 1663 -> 1406 (phantom off-page
scenes), and blacklisted content no longer inflates counts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 10:37:19 +02:00
..
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
admin.py Initial commit 2026-05-20 10:10:22 +02:00
admin_html.py Initial commit 2026-05-20 10:10:22 +02:00
blacklist.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
bug_reports.py feat(bug-reports): two-way replies (device-scoped) + admin reply endpoint 2026-06-12 11:35:44 +02:00
device.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
expo_updates.py session work: bug-report fixes + WIP cleanup 2026-05-25 22:02:52 +02:00
favorites.py fix(favorites): +N new count = what the list actually shows 2026-07-01 10:37:19 +02:00
me.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
movies.py fix(movies): dedup playback sources by target (cross-mirror dupes) 2026-06-21 22:26:50 +02:00
playback.py feat(playback): direct-HLS manifest passthrough + proxy stream drop handling 2026-06-11 16:14:25 +02:00
playback_events.py feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00
saved_searches.py feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00
scene_favorites.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
scenes.py fix(api): cap list_scenes filter sizes to prevent DB OOM (Fixes GOON-1M) 2026-06-26 16:25:29 +02:00
schemas.py perf(scenes): bounded count + has_more for filtered scene lists 2026-05-31 19:24:26 +02:00
seo.py feat(seo): public HTML SEO router + templates; add CLAUDE.md; ignore .nimbalyst 2026-05-31 16:29:59 +02:00
sources.py feat(sources): remove 0dayxx + pornditt + pornhat entirely 2026-06-22 12:23:29 +02:00
stream_proxy.py feat(playback): direct-HLS manifest passthrough + proxy stream drop handling 2026-06-11 16:14:25 +02:00
taxonomies.py feat(sources): remove 0dayxx + pornditt + pornhat entirely 2026-06-22 12:23:29 +02:00
watch.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00