goon/app/api
goon-foss 7f2fdfaed0 perf(api): lista scen jednego tagu od najnowszych po indeksie na scene_tags (GOON-64)
Ekran tagu (jeden tag, sort=release_date, 200 scen) sortowal po dacie z `scenes`, a filtrowal
po `scene_tags`. Postgres szedl od najnowszej sceny calego katalogu i kazda sprawdzal; przy
tagach rzedu 40-60 tys. scen (`rough-sex`) to 46 tys. scen na strone, 7-15 s na zimnym cache.
Dwie przebudowy samego zapytania nie pomogly (2x albo 30 s na duzych tagach), cache tez nie,
bo wejscia rozkladaja sie na setki tagow.

`scene_tags.sort_date` (0042) trzyma ta sama date co `_effective_date_desc()`, pilnowana przez
wyzwalacze w bazie, indeks (tag_id, sort_date DESC, scene_id DESC) w 0043. Wypelnianie 23 mln
wierszy: scripts/backfill_scene_tags_sort_date.py, partiami z pauza.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 12:00:11 +02:00
..
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
admin.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
admin_html.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
blacklist.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
bug_reports.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
clips.py fix(mobile): Edge - serduszko nie rusza dzwieku ani nie przewija klipu, jeden przycisk dzwieku, stroik feedu 2026-09-22 12:00:10 +02:00
device.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
expo_updates.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorites.py perf(api): liczniki +N ulubionych z cache i indeksem, podobne sceny z najrzadszych tagow 2026-09-15 15:05:43 +02:00
me.py feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3) 2026-09-14 20:29:49 +02:00
movies.py perf(api): lista filmow serializowana wsadowo (7 zapytan/film -> 8 na strone), /sources z agregatem w pamieci na 5 min 2026-09-08 10:04:01 +02:00
playback.py fix(movies): rozwiazuj przekierowanie hostera na serwerze, zanim embed trafi do WebView 2026-08-26 14:00:56 +02:00
playback_events.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
saved_searches.py perf(scenes): indeks pod sortowanie serwisu po dacie premiery + fix wyscigu zapisu wyszukiwania 2026-08-20 16:00:58 +02:00
scene_favorites.py perf(api): liczniki +N ulubionych z cache i indeksem, podobne sceny z najrzadszych tagow 2026-09-15 15:05:43 +02:00
scenes.py perf(api): lista scen jednego tagu od najnowszych po indeksie na scene_tags (GOON-64) 2026-09-22 12:00:11 +02:00
schemas.py feat(ui): badge jakosci i nazwa serwisu na kafelku sceny 2026-08-18 12:41:16 +02:00
seo.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
sources.py perf(api): lista stron odswiezana w tle, nikt nie czeka na przeliczenie 2026-09-22 12:00:10 +02:00
stream_proxy.py fix(playback): odrzucaj nie-manifest z 200 i odswiezaj zrodlo dla 8kporner i perverzija 2026-08-27 20:36:24 +02:00
taxonomies.py fix(performers): "Search more scenes" odpowiada od razu, wyszukiwanie mieli w tle 2026-08-26 14:12:25 +02:00
watch.py perf(api): historia ogladania wsadowo, wyszukiwanie w obrebie strony po rownosci originu 2026-09-15 14:06:01 +02:00