Como outros antes de mim, tenho tentado obter o distintivo de Aficionado frequentando meu fórum por 100 dias consecutivos. E estou quase lá. Acredito que perdi apenas um ou dois dias seguidos, o que me deixa desconfiado em relação às presenças relatadas, mas o que realmente é anômalo é que a contabilidade não fecha.
No relatório de Usuários, para o trimestre, estou em 92 dias, o que deve ser o trimestre inteiro.
Na visão de Administrador dos Requisitos do Nível 3, minha presença é relatada como 92/100 dias, ou seja, 92%, confortavelmente acima de 50%.
A partir desses dois fatos, teríamos que concluir que estive ausente por pelo menos 8 dias, do dia 100 ao dia 93 no passado.
E, no entanto: na visão de Usuários, se eu procurar pela presença anual, faço 360 — o que significa no máximo 5 dias de folga no ano (sem dia bissexto).
Então, uma ou outra das estatísticas não está bem correta… ou eu cometi um erro.
(Isso não é um problema sério, é claro, mas talvez o bug afete algo, se houver bug.)
Instalei o plugin Data Explorer e executei a consulta de Como posso ver quantos dias consecutivos visitei o fórum?, e ela mostra que minha frequência contínua é de 99 dias. Se isso estiver correto, a visualização de Admin, que relata os dias de frequência em um total de 100, deve estar errada — como observado acima, tl3_requirements relata 92/100.
Uma atualização: consegui minha insígnia de Aficionado, então essa forma de calcular a frequência atingiu 100. Mas o cálculo dos Requisitos do Nível 3 mostra 93/100. E o cálculo de frequência consecutiva de dias no Data Explorer mostra 101 dias.
Muito provavelmente um mal-entendido sobre o fuso horário. O horário do servidor é sempre UTC, então o cálculo é: você deve visitar entre 00:01 e 23:59 UTC naquele dia para que seja contado.
Esses números e vários outros costumavam gerar muitas consultas aqui e em outras instâncias do Discourse por volta de 2014/15. Havia tantos novos usuários querendo ganhar distintivos e não confiávamos muito no Discourse. Algumas diferenças eram, de fato, bugs, então a maioria dos cálculos foi bastante confirmada.
Verifiquei alguns por conta própria. Lembro-me de pegar meus dados e somar quantos dias UTC eu visitei o Discourse. Eu tinha estatísticas de terceiros de software de monitoramento de rede, então pude verificar as estatísticas do Discourse. Teria sido bom encontrar algumas grandes anomalias, mas o Discourse estava correto para minhas estatísticas.
Isso não significa que não haja um problema agora. Apenas parece improvável.
A propósito, ainda não tenho o distintivo porque é difícil trabalhar com UTC quando estou tão longe dele quanto é possível neste planeta.
Estou usando a medalha apenas como motivação para verificar. Não é a medalha que está duvidosa, é a contagem. Há pelo menos duas ou três coisas contando a frequência, e elas não estão todas de acordo.
O problema do fuso horário certamente poderia confundir uma pessoa que acredita ter visitado em N dias, mas que não aparece como visitante por N dias — mas essa não é a situação aqui.
Para recapitular, vemos contagens de dias de frequência nestes contextos:
o relatório dos requisitos do nível de confiança 3
a concessão de medalhas
os relatórios de ‘usuários’ por semana, mês, trimestre, ano
O único lugar em que consigo pensar onde isso poderia fazer uma diferença significativa no comportamento é nas demissões de nível 3 (L3). Se o contador de frequência do L3 estiver ‘errado’, alguém pode ser rebaixado por não atingir a meta de 50% de frequência, quando na verdade não deixou de atingir.
Tenho um membro com 100% de frequência conforme o Data Explorer — 290 dias seguidos — que aparece como apenas 97 de 100 na página de requisitos do L3.
Não descobri, tenho certeza de que não se resolveu sozinho, então estaria bastante confiante de que ainda há algo errado nisso. Não li nenhum código nem investiguei mais a fundo. Como digo, para a maioria dos propósitos, é apenas de interesse casual e apenas adiaria um distintivo ou promoção por uma semana ou mais. Mas meu comentário sobre a despromoção L3 permanece.
Isso me incomodaria, acho, se eu tivesse qualquer responsabilidade por uma base de código que não consegue contar! Poderia até me interessar em investigar, mas nem todo mundo é assim.
As consultas que fiz poderiam ser facilmente feitas em outros fóruns - não no sandbox, suponho, pois ele não é duradouro.