Alguns emblemas de aniversário são concedidos um dia e um ano após o último emblema de aniversário

Então, um usuário notou que o comportamento do selo de aniversário é estranho. Ele concede o selo de aniversário um dia após o último selo de aniversário ter sido concedido. Não tenho certeza se isso é intencional.

4 curtidas

É um bug, mas acho que este é um daqueles que é bem-vindo para um PR (Pull Request), nosso design é:

  1. Uma vez por dia, vamos procurar novas pessoas para dar emblemas de aniversário.
  2. Consideramos apenas pessoas que não receberam um emblema de aniversário no ano anterior.

O problema é… isso só roda uma vez por dia em um horário arbitrário, o que significa que o trabalho sempre roda atrasado, às vezes 1 hora atrasado, às vezes 23 horas atrasado.

Dado que só estamos concedendo emblemas uma vez por dia, precisaríamos mudar nossa lógica para:

  1. Pescar candidatos
  2. Definir o created_at: no deslocamento correto em vez de usar end_date

Não é uma correção impossível, de forma alguma, mas é complicada.

2 curtidas

Abri um PR (o meu primeiro!) para isso aqui: FIX: Ensure subsequent Anniversary badges are granted on a user's anniversary date by magni- · Pull Request #28979 · discourse/discourse · GitHub

2 curtidas