Małe co nieco z kategorii #zglosblad
@Thanos, wspominałeś tutaj o testach paginacji z czarnolistą, więc pokusiłem się sprawdzić co i jak.

Cóż, to w jakim stanie jest w tej chwili system filtrowania treści na podstawie banlisty i czarnolisty jasno wskazuje na wyższość infinite scrolla nad paginacją. Przyglądając się odpowiedzi z API, widzę że zwracane są wszystkie wpisy dla danej strony, więc filtracja dokonuje się po stronie fontendu na zasadzie
this.posts = postsResponse.filter((post) => { 
return !isBlacklistedByUser(post); 
});
To na pewno nie jest tak obciążające, jak ogarnianie tego po stronie API.

Niestety efekt filtracji na froncie jest taki, że mam flashbacki z wykopu... Pamiętam, że jak wrzuciło się tam na czarnolistę tag z patostreamami i całe gorące były zapchane tego typu zawartością z nocnej, to rano pierwsza strona, a nawet kolejne, świeciła pustkami

Wrzuciłem parę domen na czarnolistę dla próby i efekt tego widać na screenie. W przypadku infinite scrolla zapewne kolejne posty w kilku kolejnych requestach by się dociągnęły i byłoby to nie zauważalne, ale teraz wygląda to jak wygląda.
Wiem, że implementacja dobrego i wydajnego systemu filtrowania treści po stronie API (dla każdego użytkownika z osobna tak naprawdę) do prostych nie należy, ale będziesz coś działał w tym temacie?

Sam osobiście nie chciałbym powrotu do infinite scrolla, bo jest to nieziemsko upierdliwe (tym bardziej na telefonie) jak coś się zrypie i wracasz na początek, po czym jesteś zmuszony do przewinięcia odpowiednika ilości stron Pana Tadeusza, by wrócić tam gdzie się było ostatnio.

Masz już @Thanos jakieś pomysły jak to rozwiązać po stronie API? Czy zostaniesz na razie z bugiem a'la wykop?
#lurker #test

7

Wpis został usunięty przez autora

@Togo, @Thanos ale paginacji to ty mnie nie ruszaj ;-)
@Siemon, paginacja ma też swoje wady, bo czytasz, przechodzisz po minucie na kolejna stronę, a w międzyczasie zmieniła się kolejność postów sortowanych np. wg popularności i coś tracisz...
@Togo, no przyznam, że akurat jest to zrobione na froncie (dzięki temu jest dobry performance). na ten moment nie mam żadnych dobrych rozwiązań. muszę troche pokminić