Sur https://community.wanikani.com/, j’ai reçu une notification indiquant que quelqu’un avait aimé mon post, suivie d’une notification « excellente réponse ». Cet « like » était en effet le 50e pour ce post. Cependant, il est indiqué que j’ai obtenu le badge « excellente réponse » il y a 5 jours. J’ai déjà vu ce phénomène se produire au moins une fois auparavant.
J’ai créé ce post il y a 5 jours, mais je pense que la « date d’attribution » du badge devrait être basée sur… eh bien, le moment où il a été attribué, c’est pourquoi je classe ceci sous bug. Si cela est intentionnel, faites-le-moi savoir.
La requête pour le badge Great Reply utilise la colonne updated_at du message pour déterminer quand le badge a été décerné. Le fait de liker un message ne réinitialise pas sa valeur updated_at, de sorte que la date d’attribution sera définie sur la date de création du message ou sur la dernière fois qu’il a été modifié.
Nous avons plusieurs autres requêtes déclenchées lorsqu’un utilisateur agit sur un message et qui définissent l’heure d’attribution de la même manière. Pour les badges dont la requête est exécutée une fois par jour, comme le badge Famous Link, current_timestamp est utilisé pour définir granted_at. Une approche similaire pourrait-elle être utilisée pour les requêtes déclenchées lorsqu’un utilisateur agit sur un message ?