Wie der verlorene Geburtstagsfehler uns in die Geschichte der UdSSR brachte

Auf dem Unternehmensportal eines unserer Kunden haben einige Benutzer in ihrem Profil das Geburtsdatum nicht korrekt angezeigt - anstelle des erforderlichen Tages wurde das vorherige angezeigt. Unsere Entwickler fanden heraus, dass der Grund für diesen Fehler tief in der Geschichte verborgen war.



Zuerst überprüfte das Team das Backend und stellte sicher, dass die Daten korrekt eingehen. Wir haben die Protokolle der Interaktion von Benutzerbrowsern mit der Site analysiert. Es stellte sich heraus, dass der Fehler nur in Safari auf Apple-Geräten reproduziert wird. Wenn Benutzer angeben, dass das Geburtsdatum korrekt angezeigt wird, rufen sie das Portal von einem anderen Gerät und Browser aus auf, z. B. von Google Chrome auf ihrem Computer.





Darüber hinaus begann das Team, über verschiedene Zeiträume hinweg zu iterieren und die Zeitintervalle schrittweise zu verkürzen, um zu verstehen, mit welchem ​​Datum unser Fehler verbunden ist. Es stellte sich heraus, dass sich das Problem um den Juni 1930 dreht - hier tritt der Zeitausfall auf, und zwar nur in Safari. Sie begannen am 21. Juni 1930 herauszufinden, was das Besondere war, und sie gruben aus, dass an diesem Tag in der Sowjetunion die Zeit um eine Stunde verschoben wurde. Google Chrome behandelt diese Situation korrekt, Safari jedoch nicht.





Ein weiteres Feature im Format einer Variablen, die diese Zeit übermittelt. Das Format zählt die Anzahl der Millisekunden ab dem Zeitpunkt Null - der Stempel ist am 1. Januar 1970. Google Chrome verarbeitet das Datum des 21. Juni wie folgt: Von 23:59 Uhr bis 1 Uhr morgens kostet es 1000 Millisekunden (das ist 1 Sekunde), dh dieses Mal "verschwindet". Safari hingegen glaubt, dass diese Zeit da ist, da es nicht weiß, dass die Uhr in der UdSSR übersetzt wurde.





Das Team hat diesen Fehler dem Apple Feedback Assistant gemeldet und wartet auf eine Antwort. Und das Portal wird mit der nächsten Version einen eigenen Patch erhalten.





P.S. . , . , , «4 ». , , .





, . – 29 .  29 . , .








All Articles