Auf https://community.wanikani.com/ habe ich eine Benachrichtigung erhalten, dass jemand meinen Beitrag geliked hat, gefolgt von einer Benachrichtigung „Tolle Antwort“. Dieser Like war tatsächlich der 50. Like für diesen Beitrag. Allerdings steht dort, dass ich das Abzeichen „Tolle Antwort“ vor 5 Tagen erhalten habe. Ich habe das bereits mindestens einmal zuvor beobachtet.
Ich habe diesen Beitrag vor 5 Tagen erstellt, aber ich würde erwarten, dass das „Verleihungsdatum“ des Abzeichens auf … nun ja, dem Zeitpunkt basiert, zu dem es verliehen wurde. Deshalb habe ich dies unter bug eingeordnet. Falls dies beabsichtigt ist, lass es mich bitte wissen.
Die Abfrage für das Badge „Great Reply“ verwendet die Spalte updated_at des Beitrags, um festzulegen, wann das Badge verliehen wurde. Das Liken eines Beitrags setzt den Wert von updated_at nicht zurück, sodass granted_at auf das Erstellungsdatum des Beitrags oder auf den Zeitpunkt der letzten Bearbeitung gesetzt wird.
Wir haben mehrere weitere Abfragen, die ausgelöst werden, wenn ein Benutzer auf einen Beitrag reagiert, und die den Zeitpunkt der Verleihung auf dieselbe Weise festlegen. Bei Badges, bei denen die Abfrage einmal täglich ausgeführt wird, wie beispielsweise beim Badge „Famous Link“, wird current_timestamp verwendet, um granted_at zu setzen. Könnte ein ähnlicher Ansatz auch für Abfragen verwendet werden, die ausgelöst werden, wenn ein Benutzer auf einen Beitrag reagiert?