Push INBOX nieprzeczytany liczy się nad NATS/WebSocket zamiast sondaży

FeatureEmailService
Szycy
6 sierpnia 2026 11:58 UTC
Autor
Kamo
Pochęt się
145fb64

Odznaka pocztowa nav-top w kamo-internal odświeżyła się, dzwoniąc /api/email/foldery co 30 sekund, na kartę przeglądarki. Ten punkt końcowy chodzi po Całe drzewo folderów i otwiera każdy folder tylko do odczytu, aby odpowiedzieć, więc koszt Jeden z nich był podsumowaniem pełnej skrzynki pocztowej, powtarzanej w nieskończoność. WebSocket To już istniało tylko ogłoszono, że poczta dotarła i nie miała liczenia, Tak więc jego jednym zadaniem było uruchomienie kolejnego sondażu. Publikuj sam liczenie: - EmailUnreadSnapshot na NATS email.unread. /topic/email/unread/'memberId>. NATS jest na ścieżce, ponieważ strąka, która Zauważa, że zmiana rutynowo nie jest kapsułą trzymającą WebSocket członka. - EmailUnreadPublisher łączy się na skrzynkę pocztową, więc dostawa identyfikatora dziesięciu wiadomości lub Strona z napisem poczta jest jedną podróżą IMAP w obie strony i jedną publikacją, poza Wątek dzwonienia. - MailReader.getUnreadtPoczytaj jeden folder. Wykres odpowiada na to z folderu Wymień go już powrotnie; dostawcy wspierani przez IMAP nadpisują go jednym STATUS (UNSEEN). - Zgadniaczka jest publikowana na abonku, na wiadomościach IDLEDodano/wiadomośćUsunął, Na zmianie flagi IMAP oraz z napis-read / flagi / move / delete / spam Punkty końcowe. Trzy luki, które również zamykają: - Zmiany flagi były niewidoczne. Odczytywanie poczty w Roundcube lub na zestawach telefonicznych Widziany bez dodawania lub usuwania wiadomości, więc odznaka spadła tylko wtedy, gdy Przeglądarka została następnie zaopatrzona. IDLE teraz przenosi MessageChangedListener. - Chmrune skrzynki pocztowe nie miały żadnego nacisku. EmailWebSocketKontroller rozwiązany Poświadczenia za pośrednictwem tabeli KłoMail virtual_users, która nie ma wiersza dla Członek w Microsoft 365 lub Google Workspace, więc subskrybuj() zarejestrował ostrzeżenie I wrócił. Teraz rozwiązuje się za pośrednictwem MailProviderResolver, a IDLE łączy się zezw. specyfikacja poświadczeń (host/port/TLS/XOAUTH2) za pośrednictwem udostępnionego ImapStoreFactory.connect zamiast zakładać hosta KamoMail i Hasło. - Sesje wyciekły. Zamknięta zakładka nigdy nie wysyła /email/ukryj się, więc skrzynki pocztowe Obecnie są liczone na sesję STOMP i są zwolnione na SesjaDisconnectEvent. Skrzynki pocztowe bez słuchacza na żywo IDLE — wykres, po 50-połączenie lub Martwy wątek IDLE — są zamiatane po stronie serwera co 60s i publikowane w tym samym Temat. To zastępuje sondaże per-tab, a nie pchanie: jeden lot służy każdemu Zaznacza, że członek ma otwarty, członkostwo jest ponownie testowane na każde przepustki, więc martwy słuchacz jest Wybrano, a przeglądarka nadal otrzymuje liczenie przez WebSocket. WiadomośćIndexer wiąże wiadomość e-mail.> i zdeerwizuje wszystko na nim jako wiadomość, więc Teraz pomija przedmioty poza email.inbox. — filtrowane w obsłudze raczej niż przez zawężenie subskrypcji, ponieważ e-mail-metadata-indexer jest trwały Konsument i zmiana obiektu filtracyjnego odrzuciłaby subskrypcję na każdym Poduszka aż do trwałego usunięcia ręcznie.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny