イベントビルダーの詳細設定でイベントリマインダーの数値と単位が元に戻る

イベントビルダーの[高度な設定]で、リマインダーの数または単位を変更しても反映されません。フィールドはすぐに以前の設定に戻ってしまいます。

再現手順

  1. 新しいトピックを開始し、編集機能の「イベントを作成」オプションからイベントを追加します。
  2. イベントカードの歯車アイコンをクリックして[高度な設定]を開きます。
  3. [リマインダー]までスクロールします。単位を「分」から「時間」に変更するか、新しい数値を入力します。
  4. 単位は「分」に戻り、数値も以前の値に戻ります。

編集機能内のコンパクトなイベントカードでは、新しい数値が保持されますが、単位として「分」のみが提供されています。イベントのマークアップを手動で編集する場合(例: reminders=notification.2.hours)は正常に動作し、カードには「2時間前」と表示されます。つまり、問題は[高度な設定]フォーム内のリマインダーフィールドに限定されているようです。

環境は Discourse 2026.11.0-latest (fd7b62cb87)、デフォルトテーマ、macOS上のChromeです。メンバーの一人が最初に見つけ、私自身も再現を確認しました。

これは、8月に修正されたカスタムフィールドのバグ( Potential bug where data in custom fields is cleared if certain fields change )と類似しています。そのバグでは、あるフィールドが変更されると、このフォーム内の他の値がクリアされていました。リマインダーにも同じ修正が必要と推測していますが、コードで確認したわけではありません。

回避作業中に発見した軽微な問題です。マークアップ内の単位は、数が1の場合でも複数形である必要があります。したがって reminders=notification.1.days は動作しますが、単数形の reminders=notification.1.day を使用すると、イベントカードには「1日前」と表示されず、翻訳キーそのものである "\[en.discourse_post_event.composer.reminder.units.day count=1\] before" が表示されてしまいます。単数形が受け入れられるか、少なくとも正しく表示されるようになれば助かります。