CodersCommunity / forum.pasja-informatyki.local

Środowisko deweloperskie forum
https://forum.pasja-informatyki.pl
25 stars 7 forks source link

Fix - Poprawka zgłoszonego błędu z logiem aktywności #298

Closed wizarddos closed 2 years ago

wizarddos commented 2 years ago

Błąd, który zgłosił @ScriptyChris na discordzie, powinien być poprawiony

Z tego co udało mi się wyczytać z komunikatu, błąd dotyczył funkcji findUsersPostsLinks a dokładniej kategorii. To znaczy gdy jednym z wyników było cokolwiek dotyczące kategorii, kod interpretował to jako komentarz i próbował znaleźć gdzie został on dodany, a skoro nie znalazł zapytanie nic nie zwróciło. To wg. mnie spowodowało błąd.

Przy okazji poprawiłem kod według sugestii.

( Jeśli jest to możliwe i błąd będzie dalej się pojawiał, chciałbym otrzymać więcej informacji na jego temat )

awaluk commented 2 years ago

Jak dokładniej spojrzałem na ten problem, to nie jestem pewien, że chodziło o brak ustawionej liczby wyników. Wstawiony na Discordzie komunikat: unknown wskazuje na funkcję qa_db_read_one_assoc() w metodzie findUsersPostsLinks(), a to zdaje się, że jest używane do wyciągnięcia linka do konkretnego posta, którego tyczy się zdarzenie. Wygląda na to, że w jakimś przypadku dla podanego id posta w logu nie udało się znaleźć posta w bazie. A to się może przecież wydarzyć chociażby wtedy, gdy post zostanie trwale usunięty (a nie tylko ukryty). Wydaje mi się więc, że trzeba obsłużyć sytuację, gdy powiązanego posta po prostu nie ma i wtedy nie dawać do niego linka.

Skoro już w zgłoszeniu była mowa o temacie filtrów to powpisywałem dla testu różne wartości w pola filtrów i wpisanie np. -5 w maksymalną liczbę wyników powoduje błąd, cała strona się wysypuje. Albo wpisanie dowolnego tekstu w pole daty też powoduje błąd. Może jednak warto byłoby to zabezpieczyć chociaż tak jak sugerował ScriptyChris - nadając inputowi typ number z minimalną wartością, a dacie typ date, choć poprawnie powinno być także na backendzie.

wizarddos commented 2 years ago

a dacie typ date,

Z tego co zauważyłem używanie typu date w np. firefoxie blokuje możliwość wpisania niepełnej daty np. 2022 traktuje jako datę niepoprawną

wizarddos commented 2 years ago

Naprawiłem podane wyżej błędy

nadając inputowi typ number z minimalną wartością, a dacie typ date, choć poprawnie powinno być także na backendzie.

Jest to już na backendzie validowane. Input jest typem number i ma atrybut min, a datę sprawdzamy regexem.

wizarddos commented 2 years ago

Poprawione