Un timbro che dice quale giorno, una volta che il giorno è in dubbio

Fixkamo-internal
Spegnimento
30 agosto 2026 alle ore 18:57 UTC
Autore
Kamo
Impegno
9e2e78d

Segnalato da un membro: le chat passate non possono essere identificate o verificate da data in cui sono stati inviati o ricevuti — solo un tempo è presente. La loro storia torna ad aprile, così tutti tranne i nove messaggi che hanno inviato oggi leggere come un nudo "3:33 AM" con nulla sullo schermo per risolverlo contro; il messaggio elenco non estrae nemmeno il separatore di giorno, quindi il timbro è l'unica cosa che potrebbe portare la data e non l'ha mai fatto. L'istante non è mai stato il problema — `ts` è epoca millis fuori `dateCreated` ed è stato corretto dal sistema di parsing LocalDateTime. Ogni francobollo era semplicemente reso con `fmt.time()`, che formatta un tempo di giorno e niente altrimenti, se il messaggio ha cinque minuti o quattro mesi. `formatDayAwareTimeInZone` è la regola che il membro ha chiesto: il tempo da solo mentre l'istante è ancora oggi, `formatDateTime InZone` davanti a esso una volta che non lo è. Oggi è un giorno CALENDAR nella zona del membro piuttosto che 24 ore esatti — alle 00:10 un messaggio da 23:50 è venti minuti vecchio e appartiene a ieri, e questo è proprio il messaggio il cui giorno nessuno può alimentazione dalla memoria. Legge l'orologio per chiamata piuttosto che catturarlo, quindi una conversazione lasciata aperta attraverso le date di mezzanotte i messaggi di ieri sera sul suo prossima resa. Nessun nuovo dizionario chiavi: la data viene da Intl in locale del membro, quindi niente qui ha bisogno di 21 traduzioni. Applicato ai quattro francobolli che avevano sbagliato: l'intestazione del messaggio, il "edited" tooltip, il per-member leggere ricevute, e la bolla di chat sociale. La scheda SMS aveva una versione a mano della stessa idea che ha chiesto `getFullYear()` — il calendario del browser, non quello del membro — e ha risposto con un giorno di settimana nudo, che smette di identificare qualcosa dopo sette giorni; esso ora passa attraverso lo stesso aiutante. I formatori Intl del serverTime sono memoizzati sul passato. Costruire uno misure ~180us contro ~3us da usare, e un timbro di day-aware chiede due giorni chiavi per riga, quindi aprire una storia di 200 messaggi avrebbe speso ~70ms la costruzione lo scarta immediatamente. Sono immutabili, così uno per (locale, zona, opzioni) è byte-identico ad una per chiamata — la stessa argomento, e la stessa misura, come l'uso della cacheFormatters già Continua.

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