イベントビルダーの[高度な設定]で、リマインダーの数または単位を変更しても反映されません。フィールドはすぐに以前の設定に戻ってしまいます。
再現手順
- 新しいトピックを開始し、編集機能の「イベントを作成」オプションからイベントを追加します。
- イベントカードの歯車アイコンをクリックして[高度な設定]を開きます。
- [リマインダー]までスクロールします。単位を「分」から「時間」に変更するか、新しい数値を入力します。
- 単位は「分」に戻り、数値も以前の値に戻ります。
編集機能内のコンパクトなイベントカードでは、新しい数値が保持されますが、単位として「分」のみが提供されています。イベントのマークアップを手動で編集する場合(例: 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" が表示されてしまいます。単数形が受け入れられるか、少なくとも正しく表示されるようになれば助かります。