- Expédié
- 6 août 2026 à 11:58 UTC
- Auteur
- Kamo
- Commite
- 145fb64
L'insigne de nav-top de courrier en kémo-interne s'est rafraîchie en appelant /api/courriers/dossiers toutes les 30 secondes, par onglet du navigateur. Ce point d'extrémité survient au arborescence de dossiers entiers et ouvre chaque dossier en lecture seule pour répondre, donc le coût de Un entier était un résumé complet de la boîte aux lettres, répété indéfiniment. La prise en charge Web qui existaient déjà seulement, il était annoncé que le courrier était arrivé et ne portait aucun décompte, Donc, son travail était de déclencher un autre sondage. Publier le compte lui-même: - EmailUnreadSnapshot sur le site NATS email.unread..addr, relayé à STOMP /topic/email/unread/-memberId. NATS est sur le chemin parce que la gousse qui observe un changement n'est pas systématiquement la gousse qui détient la prise WebSocket du membre. - EmailUnreadPublisher coalesce par boîte aux lettres, donc une livraison IDLE à dix messages ou une page de courrier indiqué est un aller-retour IMAP et une page, en dehors de la fil de l'appelant. - MailReader.getUnreadCount lit un dossier. Le graphique le répond à partir du dossier lister il revient déjà; les fournisseurs soutenus par IMAP l'emportent avec un seul ÉTAT (UNSEEN). - Un instantané est publié sur abonné, sur les messages IDLEAdded/messagesRemoved, sur les changements de drapeau IMAP, et à partir du liseur de marque / drapeaux / de déplacement / supprimer / spam les critères d'évaluation. Trois lacunes se creusent également: - Les changements de drapeaux étaient invisibles. Le courrier en rondcube ou sur un téléphone «Voir sans ajouter ni supprimer un message, donc le badge n'est jamais tombé que lorsque le navigateur suivant a sondé. IDLE porte maintenant un messageChangedListener. - Les boîtes aux lettres en nuage n'ont aucune poussée. EmailWebSocketContrôleur résolu par l'intermédiaire du tableau des utilisateurs virtuels KamoMail, qui n'a pas de ligne pour une membre de Microsoft 365 ou Google Workspace, donc subscribe() a enregistré un avertissement et restitués. Il se résout maintenant via MailProviderResolver, et IDLE se connecte avec le paramétrage (hôte/port/TLS/XOAUTH2) via un partage ImapStoreFactory.connect plutôt que de supposer l'hôte KamoMail et un mot de passe. - Des séances ont fui. Un onglet fermé n'envoie jamais /email/désabonnement, donc mailboxes sont maintenant comptés par session STOMP et publiés SessionDisconnectEvent. Boîtes aux lettres sans écoute IDLE en direct et graphique, au-delà du capuchon à 50 connexions, ou a Fil d'IDLE mort - sont balayés côté serveur toutes les années 60 et publiés dans la même sujet. Qui remplace le vote par onglets plutôt que le push: un balayage sert tous les un membre a ouvert, l'adhésion est à nouveau testée chaque carte de passe donc un auditeur mort est pick-up, et le navigateur reçoit toujours le compte sur le WebSocket. MessageIndexer lie le courrier électronique et désérialisé tout dessus en tant que message, donc Il saute maintenant les sujets en dehors de l'e-mail.inbox. que par le rétrécissement de l'abonnement, parce que l'indexeur de mails-metadata est durable le consommateur et le changement de son sujet de filtrage rejetterait l'abonnement sur chaque gousse jusqu'à ce que la durabilité soit supprimée à la main.