Lista bugów
Closed this issue · 0 comments
psrok1 commented
Serwer
- Brak szans na moderatora w grupie root w sytuacji czystego modelu
- pierwszy użytkownik z automatu moderatorem?
- superadmin predefiniowany w bazie?
- Powiadomienie "removedFromGroup" nie dociera do samego usuwanego
Prawdopodobnie jest rozsyłane już po usunięciu z grupy (powinno być tuż przed) - Serwer nie importuje poprawnie członkostwa w grupach
- Serwer po usunięciu użytkownika z grupy, nie usuwa go rekursywnie z podgrup
Przykład
Jesteśmy we wszystkich grupach (grupa1,grupa2,grupa3) i podgrupach grupa1 (podgrupa1..3)
Po zamknięciu i załadowaniu serwera jesteśmy tylko w "/grupa1/podgrupa3" (do tego bez samego "/grupa1")
Natomiast przy jednej grupie - po prostu jej nie ma
Braki w implementacji
- Po usunięciu jedynego moderatora - jakiś użytkownik powinien być awansowany na moderatora.
- Po usunięciu ostatniego użytkownika - podgrupa powinna być usunięta
- Brak przechwytywania wyjątków serwera w main()
Tworzenie serwera przy zajętym ipku kończy się zwykłą wysypą (dostajemy komunikat, ale od domyślnego handlera) - Chyba nie są nigdzie przechwytywane wyjątki z parsera JSON
One są dość specyficzne, powinny być przechwytywane w wątku Connection, ale nie są
Klient
- Przy rozłączaniu rzuca NullPointerException na clientListenerThread.interrupt()
(pewnie wątek nie jest przypisywany do zmiennej :P) - Drzewo grup przy zmianach nie jest odświeżane
- "Akceptuj" na oczekującym uczestniku grupy kończy sie nadaniem mu praw moderatora
(wysyłany jest setMemberPermission z "moderator") - Problem z ponowną synchronizacją danych w niezsynchronizowanej grupie, bez posiadanych uprawnień do pobrania danych
- USER1 tworzy grupę
- USER2 prosi o dodanie do tej grupy i ma aktywną kartę
- USER1 akceptuje użytkownika
- USER2 blokuje się (ekran nie przeładowuje się, po przeładowaniu ręcznym wyświetla się "Trwa pobieranie danych z serwera")
Po przelogowaniu dostęp jest uzyskiwany, problem w synchronizacji klienta
Braki w implementacji
- Brak obsługi wyjątków dla Client:
- Nie obsługujemy błędów w polu "Adres serwera"
- Nie obsługujemy problemów z połączeniem - timeout
Pojawia się NullPointerException - Popup menu powinny mieć blokowane niektóre opcje w zależności od stanu.
Na razie "blokowanie" odbywa się na poziomie błędów ze strony serwera (nie dopuszcza pewnych akcji) - Hasło nie jest zasłaniane
- Nie można przescrollować okna wiadomości (innych pewnie też)
Niekrytyczne ulepszenia
- ENTER zamiast klikania "Wyślij" cały czas
- Czyszczenie okienek po akcjach (we wszystkich trzech kartach w widoku grupy)
W oknie logowania może darujmy sobie czyszczenie (wartości pól są wykorzystywane przy zestawianiu połączenia)
- Przydałoby się gdzieś oznaczyć kto jest zalogowany i na jaką grupę patrzy [tytuł okna]
- Usunięcie niepotrzebnych printów