説明が1000文字を超えるとイベントがサイレントで失敗します

概要:

イベントの説明が1000文字を超えると、表示が空白になるか、以前のイベントの説明が表示されます。

これは discourse_post_event_events テーブルのハードリミットが原因です: description character varying(1000)

再現手順 #1

  • イベントを作成します
  • イベントの説明([event][/event] の間のテキスト)を1000文字以上にします
  • レンダリングされた投稿にイベントの説明が表示されなくなります

再現手順 #2

  • イベントを作成します
  • イベントの説明([event][/event] の間のテキスト)を1000文字未満にします
  • イベントを編集します
  • イベントの説明([event][/event] の間のテキスト)を1000文字以上にします
  • レンダリングされた投稿に以前のイベントの説明が表示されます

これにより、検索汚染(search poisoning)も可能になります。

関連

同じことが url フィールドと location フィールドにも当てはまるようです

期待される動作

以下のいずれか:

a) イベントの説明に文字数制限を設けない
b) イベントの説明が長すぎる場合に明確な警告を表示する
c) レンダリング時にイベントの説明を切り詰める(Markdownには完全なテキストが保存されたまま)

「いいね!」 2