Chiedi prima, chiedi una volta e smettila di chiedere cosa non è cambiato

Performancekamo-internal
Spegnimento
14 agosto 2026 alle ore 02:25 UTC
Autore
kamo
Impegno
fd3f86d

Altre tre cose in piedi tra apertura /messaggio e vedere la posta. Non è stato richiesto nulla finché il pacco non è atterrato. /messaggio tira diversi megabyte di JavaScript, e il componente che sa come chiedere la posta fa non esiste fino a quando tutto è arrivato e parsed — così la prima richiesta ha lasciato il browser solo dopo l'ultimo byte era stato trattato. Il percorso è ora un server componente il cui primo figlio è un piccolo modulo client che non fa altro che chiedere per l'albero della cartella e la prima pagina; atterra nel proprio pezzo e corre mentre il client di posta sta ancora scaricando. Chi ha bisogno dei dati aderisce alla richiesta già in volo, quindi rimane una richiesta. Deve essere un modulo client anche se un server si potrebbe iniziare prima, e il motivo è il modello di sessione di questa applicazione. kamo-internal mantiene la sua sessione per scheda in sessioneStorage e lo invia come X-***-Token; il *** cookie viene piantato solo dal percorso di sessione-uscita, quindi è assente per un membro che ha appena effettuato l'accesso e appartiene a un membro diverso per qualcuno con due schede aperte come due conti. Un render del server vede i cookie e nient'altro. Caricare la posta lì sarebbe fallire in un nuovo login e, su una seconda scheda, potrebbe mettere un membro casella di posta sullo schermo di un altro membro. Non esisteva un'importazione dinamica nell'albero dei messaggi, quindi la ricerca avanzata pannello, il raccoglitore di etichette, il overlay di scelta rapida, la finestra di dialogo di conferma, il menu contestuali, l'interruttore della casella di posta e il sanitiser HTML dietro la lettura Il pannello era tutto nel primo pezzo. Nessuno di loro è necessario mostrare una casella di posta; tutti loro ora caricare quando il membro raggiunge per loro. Provider e mailbox-accessibilità risposte — le due ricerche ogni carico pagina aspetta prima che possa mostrare nulla — sono memorizzati in Redis per un minuto e mezzo un minuto rispettivamente, chiave per sessione e caduto da qualsiasi scrittura che potrebbe cambiali. Sessione-chiamata e niente di più ampio: una cache su un'autorizzazione risposta è il tipo che perde l'accesso di una persona all'altra se la chiave è troppo ampia, e la sessione è quello che la richiesta è stata autenticata nel primo posto. Il coordinamento è testato dalla direzione che conta — che rimane una richiesta quando due chiamanti vogliono la stessa pagina, che non si fonde mai due caselle di posta o due cartelle, e che non diventa tranquillamente una cache e congelare i conti non letti la barra laterale ricarica specificamente per rinfrescare.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo