Publish mailbox-change events so the mail views stop polling

FeatureEmailService
Ya
6 Agosti 2026, 12:37 UTC
Mwandishi
Kamo
Ahadi ya
19463a8

The folder tree, conversation list and message list each ran their own 30-second timer, reloading on the chance that something had moved. The WebSocket already told them when mail arrived, but that is only one of the ways a mailbox changes — reading a message in Roundcube or on a phone, moving it, deleting it, or expunging it all left the UI wrong until the next tick. EmailMailboxChanged says a folder is no longer what you are showing, and carries the reason so a consumer can ignore kinds it does not care about. Published on email.changed.<addr> and relayed to **************** from the IDLE listeners (arrival, expunge, flag change) and from the mark-read, flags, move, delete, spam, send and draft endpoints. Deliberately not folded into EmailUnreadPublisher: that one owns a count, so it has to reach the provider and coalesce bursts to stay affordable. This carries no count and reads nothing, so it is cheap enough to send on every change and must not wait behind a window a count needs. A move reports no folder because it touches two and the source is not always known to the caller — consumers treat that as "reload whatever you are showing".

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei