- Spegnimento
- 6 settembre 2026 alle ore 23:55 UTC
- Autore
- Kamo
- Impegno
- 359d620
Un ascoltatore IMAP IDLE è l'unica cosa che nota un messaggio in arrivo; esso pubblica e-mail.inbox. ronzare un telefono. Quegli ascoltatori sono stati avviati da un browser che sottoscrive sopra posta WebSocket e chiuso quando l'ultima scheda è andata — quindi è stata osservata una casella di posta solo mentre qualcuno lo stava già guardando. Senza browser niente aperto ha guardato la casella di posta, niente pubblicato, e il telefono non è stato mai detto. Membri ha riferito che l'unico modo per scoprire nuova posta era aprire la casella di posta e guardare, che era esattamente giusto: non c'era altro modo per raggiungerli. IDLE proprietà quindi smette di essere una proprietà di una sessione WebSocket. MailboxIdleService detiene gli ascoltatori e conta chi vuole ogni casella di posta guardato; MobileMailboxWatcher mantiene uno per conto di qualsiasi membro con un Ascoltatore. Una casella di posta può ora legittimamente essere guardato due volte attraverso il cluster — qui e da un ascoltatore del browser sull'altro pod — e ogni ascoltatore riferisce lo stesso arrivo. MobileMailPushSender riconosce la ripetizione del messaggio identità e buzz una volta; la sua chiave di collasso era System.nanoTime(), unico per pubblicare piuttosto che per messaggio, che avrebbe fatto sembrare due ascoltatori due messaggi a ogni cancello a valle. Coordinare invece gli ascoltatori significa un affitto, e un contratto di locazione tenuto da un baccello il cui ascoltatore è morto tranquillamente è un mailbox nessuno sta guardando — il fallimento che esiste per prevenire.