Su https://community.wanikani.com/ ho ricevuto una notifica che qualcuno ha 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 accadere almeno un’altra volta.
Ho pubblicato questo post 5 giorni fa, ma penso che la data di “conferimento” del badge dovrebbe basarsi su… beh, su quando è stato effettivamente conferito, ecco perché l’ho inserito in Contribute > Bug. Se è intenzionale, 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?