- Verschifft
- 6. August 2026 um 11:58 UTC
- Autor
- Kamo
- Ausschuss
- 145fb64
Das niv-top Mail-Plakette in kamo-intern erfrischte sich durch Anruf /api/email/Ordner alle 30 Sekunden, pro Browser-Register. Dieser Endpunkt geht die ganzen Ordner Baum und öffnet jeden Ordner read-only zu beantworten, so dass die Kosten für eine ganze Reihe war eine vollständige Mailbox-Zusammenfassung, die auf unbestimmte Zeit wiederholt wurde. Die WebSocket dass bereits existierte nur angekündigt, dass die Post angekommen war und trug keine Zählung, also war seine einzige Aufgabe, eine andere Umfrage auszulösen. Veröffentlichen Sie die Zählung selbst: - EmailUnreadSnapshot auf NATS email.unread.<addr', weitergeleitet an STOMP /topic/email/ungerledigt/<memberId. NATS ist in den Weg, weil die pod, dass beobachtet eine Änderung ist routinemäßig nicht die Hülse hält das Mitglied der WebSocket. - EmailUnreadPublisher verschmelzt pro Mailbox, also eine Zehn-Nachricht IDLE-Lieferung oder eine Seite der Mail markiert lesen ist eine IMAP Rundreise und eine veröffentlichen, aus der Caller-Thread. - MailReader.getUnreadCount liest einen Ordner. Graph beantwortet es aus dem Ordner Liste es bereits zurückgibt; IMAP-unterstützte Anbieter überschreiben es mit einem einzigen STATUS (UNSEEN). - Ein Schnappschuss wird auf dem Abonnenten veröffentlicht, auf IDLE-NachrichtenAdded/messagesRemoved, auf IMAP-Flag ändern, und von der Marke-Lesung / Flaggen / bewegen / löschen / Spam Endpunkte. Drei Lücken schließt sich auch: - Die Änderungen der Flagge waren unsichtbar. Lesen von Post in Roundcube oder auf einem Telefon-Set \Seen, ohne eine Nachricht hinzufügen oder zu entfernen, so dass die Plakette immer nur fiel, wenn der Browser als nächstes befragt. IDLE hat jetzt einen MessageChangedListener. - Cloud-Mailboxen haben überhaupt keinen Push. EmailWebSocketController behoben Anmeldeinformationen durch die KamoMail virtual_users Tabelle, die keine Zeile für eine Mitglied auf Microsoft 365 oder Google Workspace, so subscribe() eine Warnung angemeldet und kehrte zurück. Es löst sich jetzt durch MailProviderResolver, und IDLE verbindet mit der Anmeldegabe (host/port/TLS/XOAUTH2) über eine gemeinsame ImapStoreFactory.connect anstatt den KamoMail-Host und einen Passwort. - Sessions durchgesickert. Ein geschlossener Tab sendet niemals /email/unsubscribe, also Mailboxes sind jetzt Referenz pro STOMP-Sitzung gezählt und veröffentlicht auf SessionDisconnectEvent. Mailboxen ohne Live-IDLE-Hörer - Graph, vorbei an der 50-Verbindungskappe, oder dead IDLE thread - werden alle 60er-Jährige vom Server gefegt und veröffentlicht. Thema. Das ersetzt die Wahlbeteiligung anstelle von Push: Ein Sweep dient jedem tab ein Mitglied hat geöffnet, Mitgliedschaft wird jeden Pass erneut getestet, so dass ein toter Zuhörer ist abgeholt, und der Browser erhält immer noch die Zählung über die WebSocket. MessageIndexer bindet E-Mail. und deserialisiert alles darauf als Nachricht, so es überspringt jetzt Themen außerhalb email.inbox. als durch die Verengung des Abonnements, weil E-Mail-Metadaten-Indexer ist eine langlebige Verbraucher und Änderung seiner Filter-Betreff würde die Zeichnung auf jedem pod, bis die langlebige von Hand gelöscht wurde.