pietroppeter/wordle-it

Non viene generato un nuovo gioco quando cambia l'ora legale?

Opened this issue · 9 comments

Gioco a Parle dalla California, dove ieri (domenica 13 marzo) è cambiata l'ora legale. Oggi, 14 marzo, noto che Parle continua ad offrire il la parola n. 69, lo stesso del 13 marzo. I miei amici in Italia invece vedono la parola n. 70.

Il problema persiste anche in un nuovo gioco (niente cookies) e da localhost.

Sospetto che il problema possa essere legato all'ora legale? In particolare, in un paio di punti nel codice, l'epoch viene calcolata come Math.floor(a % 864e5 / qs), che sembra problematico quando l'ora si sposta in avanti, perchè la differenza tra due giorni diventa meno di 86400 secondi.

return Math.floor(t / 864e5)

s = Math.floor(a % 864e5 / qs),

(queste osservazioni vengono da un'analisi frettolosa del codice minificato - potrei sbagliarmi di grosso!)

La nuova versione del gioco non sembra soffrire di questo problema.

Grazie della spiegazione. Immagino anche io il problema nella versione originale possa essere stata l'ora legale.
Bene che nella nuova versione questo problema non sembra esserci

Grazie mille! Anch’io gioco dalla California ma insieme agli amici in Italia e da quando è cominciata l’ora legale qui sono un giorno in dietro da loro. Ho creato un account su Github solo per venire qui per questo problema. Non sapevo della nuova versione allora grazie ancora!

Dato che oggi il problema è arrivato anche per chi gioca dall'Europa direi che la possibilità che la causa abbia a che fare con il cambio dell'ora legale sia concreta

La nuova versione del gioco non sembra soffrire di questo problema

Sicuro? Anche lì vedo il gioco di ieri

Ecco le conseguenze sul gioco del passaggio all'ora legale in Italia:

  • vecchia versione > non è possibile giocare;
  • nuova versione > è possibile giocare a partire dalle 01:00.

Anche io gioco dagli USA ed il cambio dell'ora legale mi diede questo problema.
Fino a ieri ho potuto usare questa versione https://par-le.github.io/react-wordle/ che funzionava correttamente, ma il link e ora defunto.

Fino a ieri ho potuto usare questa versione par-le.github.io/react-wordle che funzionava correttamente, ma il link e ora defunto.

È stato spostato a https://par-le.github.io/gioco

mi spiace per il cambio nome che ha rotto il link, mi sembrava di ricordare che github aggiungesse un redirect quando si cambiava il nome al repository ma a quanto pare non lo fa (o non la fa più).

C'è il redirect del repository (https://github.com/par-le/react-wordle reindirizza a https://github.com/par-le/gioco) ma non del sito pubblicato con GitHub Pages

Il bug dell'ora legale che ora permette di giocare solo dall'una è dovuto al fatto che la data inizio era stata settata a gennaio (senza DST): riga 966 var Ra = new Date(2022, 0, 3, 0, 0, 0, 0);.
Quindi quando si va a fare il confronto tra Date.now e Ra si ha un'ora buca. Si risolve controllando per l'ora attuale se DST è in uso, se sì aggiungere un'ora in millisecondi a Date.now dovunque si faccia il confronto tra le due.
Il codice è minimizzato quindi non ho provato a fare una PR, però ho corretto lo stesso bug così su wordle cinese ieri.