goon/app
goon-foss b84ff5bdbc fix(vjav): powtorz pobranie manifestu z ciasteczkiem wyzwania (100% bledow -> gra)
vjav mial 587 bledow odtwarzania i ZERO udanych, przez caly czas, odkad zbieramy dla
niego zdarzenia. Kazdy blad to ten sam komunikat odtwarzacza: "Source error Response
code: 429". Dotyczylo to 58 779 zrodel, czyli tub nigdy ani razu nie zagral.

Siec TXXX dlawi ruch z serwerowni: zamiast tresci oddaje 429 i mikroskopijna strone,
ktora w JS ustawia jedno ciasteczko i przeladowuje sie. Wartosc stoi wprost w tej
odpowiedzi, wiec wystarczy ja odczytac i powtorzyc zapytanie, bez wykonywania JS.

Ekstraktor vjav robil dokladnie to od 2026-08-21, ale TYLKO przy `videofile.php`. Adres
manifestu oddawany odtwarzaczowi tej sztuczki nie dostawal, a `/proxy/hls` pobiera go z
VPS przy KAZDYM odtworzeniu. Stad komplet bledow.

To dlatego bug byl niewidoczny z zewnatrz: `try_extract` konczyl sie sukcesem, wiec w
kazdym pomiarze zrodla vjav wychodzily jako zywe (149 na 150), podczas gdy u userow nie
dzialalo nic. "Zywe" znaczy "ekstraktor zwrocil adres", a nie "to gra".

Sprawdzone na prodzie: przed poprawka /proxy/hls oddawal 429, po poprawce 200 i poprawny
#EXTM3U z segmentami na vjav0.ahcdn.com. Ponowienie odpala sie wylacznie przy 429 z
odpowiedzia ponizej 4 KB, wiec nie dotyka pozostalych hosterow.

Osobno potwierdzone, ze blokada jest po adresie IP: ta sama strona z VPS oddaje 429, a
przez proxy z innym IP 200 i 72 KB tresci.
2026-08-27 19:23:55 +02:00
..
api fix(vjav): powtorz pobranie manifestu z ciasteczkiem wyzwania (100% bledow -> gra) 2026-08-27 19:23:55 +02:00
connectors fix(sxyprn): koniec z przypisywaniem scen po samym imieniu 2026-08-24 13:49:31 +02:00
enrich style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
extractors fix(seekplayer): sprawdzaj czy adres CDN naprawde odpowiada, plus obsluga sciezki Tiktok 2026-08-27 08:59:28 +02:00
models feat(ingest): backfill brakujacej dlugosci scen 2026-08-20 12:10:22 +02:00
normalize fix(sxyprn): koniec z przypisywaniem scen po samym imieniu 2026-08-24 13:49:31 +02:00
resolve feat(tags): odrzucaj tagi marketingowe zamiast opisujacych tresc 2026-08-14 12:00:45 +02:00
scheduler fix(ingest,proxy): pusta strona to nie koniec katalogu + miniaturki blokowane po IP 2026-08-20 16:43:29 +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 style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
config.py feat(ingest): backfill brakujacej dlugosci scen 2026-08-20 12:10:22 +02:00
db.py Initial commit 2026-05-20 10:10:22 +02:00
ingest.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
main.py fix(mobile): stary APK po OTA podawal sie za nowa wersje i nie dostawal monitu 2026-08-24 14:47:04 +02:00
verticals.py fix(verticals): przenos wertykal przy przejsciu do tagu/studia/performera 2026-08-14 11:42:47 +02:00