Su https://community.wanikani.com/ ho ricevuto una notifica che qualcuno aveva messo “mi piace” al mio post, seguita da una notifica di “ottima risposta”. Questo “mi piace” era effettivamente il 50° per quel post. Tuttavia, risulta che ho ottenuto il badge “ottima risposta” 5 giorni fa. Ho visto questo succedere almeno una volta prima.
Ho pubblicato questo post 5 giorni fa, ma pensavo che la “data di concessione” del badge dovesse basarsi su… beh, sul momento in cui è stato effettivamente assegnato, ecco perché l’ho segnalato sotto bug. Se è previsto così, fammelo sapere.
La query del badge ‘Great Reply’ utilizza la colonna updated_at del post per impostare il momento in cui il badge viene assegnato. Mettere ‘Mi piace’ a un post non resetta il valore di updated_at, quindi granted_at verrà impostato sulla data di creazione del post o sull’ultima modifica apportata.
Abbiamo diverse altre query che vengono attivate quando un utente compie un’azione su un post e che impostano il momento di assegnazione (granted_at) nello stesso modo. Per i badge per cui la query viene eseguita una volta al giorno, ad esempio il badge ‘Famous Link’, viene utilizzato current_timestamp per impostare granted_at. Potrebbe essere adottato un approccio simile per le query attivate quando un utente compie un’azione su un post?