再発する日付を以下のように設定しようとしています:
[date=2021-01-24 time=08:30:00 timezone="America/New_York" recurring="1.weeks"]
この日付は未来であるため、次の発生日として2021年1月24日が表示されるはずです。しかし、実際には2021年2月28日が表示されています。
実際の表示日:
2021-01-24T13:30:00Z
投稿プレビューからのスクリーンショット(プレビューで異なる表示になる場合のため):

日付を2021年1月25日に変更すると、1日ではなく8日飛ばして2021年3月8日にジャンプしてしまいます。7日目ごとに1週間余分に飛び、それが日付がこれほどずれる原因のようです。何か間違っているのでしょうか?もしかすると、未来の日付、特に未来の年の日付を再発させる際に何か特別なケースがあるのでしょうか。
「いいね!」 2
eviltrout
(Robin Ward)
2
これはコードからすると意図的にそうなっているように見えます。繰り返し日付は、常に現在の日付と今日の日付の差に基づいて計算されているようです:
https://github.com/discourse/discourse/blob/master/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6#L55
コード内でこれを localDate.datetime に変更してみましたが、ブラウザ上の出力は正しいものの、4 つのテストが失敗しました。どうやらこの動作が意図されているようだったので、何か見落としているのでしょうか?@j.jaffeux 繰り返しは入力した日付の以降になるべきで、現在の日付に基づくべきではないですよね?
「いいね!」 4
j.jaffeux
(Joffrey Jaffeux)
4
確かに、このケースを見落としていたかもしれません。主に、過去の日付を作成しようとした際に、繰り返し設定が将来の日付に設定される場合を考慮していました。来週確認します。
「いいね!」 7
j.jaffeux
(Joffrey Jaffeux)
6
これはレビュー待ちですが、マージされれば解決するはずです。
ご報告ありがとうございます。このバグが解消できて嬉しいです。
「いいね!」 7