So a user noticed the behavior of the anniversary badge is strange. It awards the anniversary badge one day one year after the last anniversary badge was awarded. I am not sure if this is intended.
4 Likes
Its a bug, but I think this is one of those ones that is PR welcome, our design is:
- Once a day we go hunting for new people to give anniversary badges to
- We only consider people who did not get an anniversary badge in the previous 1 year.
Trouble is … this only runs once a day at an arbitrary time, this means the job always runs late, sometimes 1 hour late, some times 23 hours late.
Given we are only granting badges once a day we would need to change our logic to:
- Fish for candidates
- set the
created_at:
at the correct offset instead of usingend_date
Not an impossible fix by any means, but fiddly.
2 Likes
I’ve opened a PR (my first!) for this here: FIX: Ensure subsequent Anniversary badges are granted on a user's anniversary date by magni- · Pull Request #28979 · discourse/discourse · GitHub
2 Likes