Powiadomienia nie pokazują się pod ikoną dzwonka

0

Chyba coś się CSS popsuły. 8FEA7A69-258F-4876-A2AD-4C6E4DB142C2.png

IPhone, Chrome

Tip: Jak używasz maca, to ostatnio zauważyłem, ze Safari na desktopie zachowuje się podobnie, jak chrome na iPhone.

0

Nie mam możliwości sprawdzanie na iphonie ale na chrome na android jest ok.

0

No to może pojdźmy za ciosem i zablokujmy dostęp do forum użytkownikom na sprzętach Apple? :P

(pisałem to ja - @cerrato, naczelny forumowy hejter tej firmy)

1

Podpinam się pod wątek.

Zauważyłem, że od chwili wdrożenia powiadamiania o tym, że ktoś do mnie aktualnie pisze na PW, popsuło się powiadamianie o zdarzeniach (czyli numerek na czerwonym tle obok dzwoneczka). Nie to, że nie działa tak zupełnie, tak samo nie musi mieć to żadnego związku z faktem informowania o tym, że ktoś pisze - ale tak się złożyło, że te dwa zjawiska się u mnie pokryły w czasie.

Problem jest taki, że dawniej dzwoneczki pojawiały się na bieżąco. Teraz (zwłaszcza, gdy karta/przeglądarka z 4P jest gdzieś w tle) to często jest tak, że nie pojawiają mi się powiadomienia, a gdy stronę odświeżę/prezładuję/kliknę w jakiś link na niej, to momentalnie pojawia się ich kilka. Po prostu -nie są wyświetlane na bieżąco, tylko gdzieś się gromadzą i trafiają w paczce ;) Przy czym - nie dzieje się to zawsze.

Czy ktoś inny też zauważył takie zjawisko?

1

Też zauważyłem.

2

Chyba wiem o co chodzi. Ostatnio był spory upgrade serwera websocket. Wydaje mi się że "fabryczna" funkcjonalność podtrzymywania połączenia poprzez wysyłanie pinga nie działa zbyt dobrze. Połączenie pomimo tego jest urywane stąd powiadomienia po jakimś czasie nie dochodzą. Wcześniej napisałem własną obsługę pinga i teraz z niej zrezygnowałem bo framework (Python tornado) to obsługuje, ale jak widać coś niezbyt dobrze :(

__

Jednak nie to było przyczyną. Na serwerze websocket używany jest mechanizm redis pubsub. Korzystał on z connection pool. Okazało się że w takim przypadku może być tylko jeden klient subskrybujący dany kanał. Stąd też jeżeli użytkownik miał otwartych wiele okien przeglądarki, to powiadomienie trafiało tylko do jednej z nich :( Rozwiązaniem jest tworzenie nowego połączenia dla każdego klienta websocket i tak też zrobiłem. Może ktoś zna jednak inne rozwiązanie które nie wymagałoby tworzenia nowego połączenia z redis za każdym razem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0