Data recorrente está mostrando a próxima data errada

Estou tentando configurar uma data recorrente da seguinte forma:

[date=2021-01-24 time=08:30:00 timezone="America/New_York" recurring="1.weeks"]

Como essa data está no futuro, deveria mostrar 24 de janeiro de 2021 como a próxima ocorrência. Em vez disso, está mostrando 28 de fevereiro de 2021.

Data real:
2021-01-24T13:30:00Z

Captura de tela da pré-visualização da postagem (caso a pré-visualização mostre algo diferente):
image


Ao alterar a data para 2021-01-25, a data pula diretamente para 8 de março de 2021, pulando 8 dias em vez de 1 dia. A cada 7º dia, há um pulo de uma semana extra, o que parece ser a razão pela qual a data está tão errada. Estou fazendo algo errado aqui? Talvez haja um caso limite ao criar datas recorrentes que estão no futuro em geral ou especificamente em um ano futuro.

2 curtidas

Isso parece estranhamente intencional no código. Parece sempre basear a data recorrente na diferença entre a data atual e hoje:

https://github.com/discourse/discourse/blob/master/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6#L55

Tentei alterar isso no código para localDate.datetime e a saída estava correta no navegador, mas 4 testes falharam. Parecia que eles estavam garantindo que funcionasse dessa maneira, então agora estou me perguntando se estou perdendo algo @j.jaffeux? Recorrente deveria ser após a data que você inseriu, não a data atual, certo?

4 curtidas

Sim, de fato, acho que passei por cima desse caso e considerei principalmente quando você tenta criar uma data no passado e a recorrência fará com que ela ocorra no futuro. Vou dar uma olhada na próxima semana.

7 curtidas

Isso está aguardando revisão, mas deve resolver assim que for mesclado:

Obrigado pelo relatório. Fico feliz em ter esse bug resolvido.

7 curtidas