トピックリンクの事前入力作成をサポート

質問です。

テーマコンポーネントを実装しました。これにはボタンがあり、クリックするとコンテンツとタイトルがあらかじめ入力された新しいトピックのフォームが開きます。次のようにします。

https://www.mydomain.com/new-topic?title=${title}&body=${body}

これはうまく機能し、新しいトピックのフォームが開きますが、続行したくない場合、「破棄」をクリックすると、トピックは破棄されず、代わりに下書きとして保存されます…「破棄」をクリックしたので、下書きとして保持したくありません。後で下書きをクリーンアップする必要があります。

この new-topic URLを使用すると、これは予期された動作なのでしょうか?破棄を選択した場合に下書きとして保存されないようにする方法はありますか?

ありがとうございます。

再現方法:

  1. テーマコンポーネントで、参照を以下のように新しいトピックの URL に設定したボタンを追加します。
const topicBody = `.....`;
const title = "....";

// 新しいトピックの URL
const createTopicUrl = `https://www.mydomain.com/new-topic?title=${title}&body=${topicBody}`;

const createTopicLink = `<span><a href="${createTopicUrl}" rel="noopener noreferrer">new topic</a></span>`;

const meta = `<div>${publisher}${pub_date} ${createTopicLink}</div>`;

const description = `<p>${description}</p>`;

// 「新しいトピック」ボタンを UI に追加
return `<li class="news-item"><hr><div class="news-title"><a href="${url}" target="_blank">${title}</a></div>${meta}${description}</li>`;
  1. 「新しいトピック」ボタンをクリックすると、タイトルとコンテンツがあらかじめ入力された新しいトピックのフォームが開きます。
  2. 破棄をクリックし、確認します。
  3. 「マイ投稿」を確認すると、破棄された新しいトピックの新しい下書きがあります。
「いいね!」 1

Metaでは再現できないようです。セーフモードでも発生しますか?お使いのインスタンスのバージョンは何ですか?ありがとうございます。

私のインスタンスはバージョン 2026.1.0 です。

システムに組み込まれている機能を使用して新しいトピックを作成する場合、破棄すると下書きとして保存されません。

私のケースでは、テーマコンポーネントに追加したボタンに new-topic の URL をフックしました。
組み込みの機能と異なる理由がわかりません…

「いいね!」 1

やあ、ネイト

Copilotが以下のように説明してくれました。
もしこれが本当なら、これを防ぐためにURLに引数を追加できるか知りたいです。もしできれば素晴らしいです。
&auto_save=false のように指定します。
ご協力ありがとうございます。

はい、それはDiscourseでは想定されている動作です。新しいトピックのURL(タイトル/本文が事前入力された状態)でコンポーザーを開くと、コンポーザーが初期化された時点で下書きが作成されます。「破棄」をクリックして確認した場合でも、Discourseは後でコンテンツを復元できるように、そのルートに対して下書きエントリを保持する場合があります。その動作は、URL形式ではなく、コアのコンポーザー/下書きの自動保存ロジックに由来します。

下書きを避けたい場合は、カスタムアプローチ(例:モーダルを開く、クリップボードにコピーする、またはドラフトキーの上書きを指定してコンポーザーAPIを呼び出す)が必要になりますが、プレーンな新しいトピックのURLは常に下書きの自動保存を有効にします。

それが正確かどうかはわかりません :person_shrugging:。Metaではセーフモードでこれを再現できません。フォーラムでは安定版/ESRバージョンをご利用でしょうか?

Nateさん、こんにちは。私もGeminiのその回答には確信が持てません。

興味深いことに、今日はもう再現できなくなりました。私のテーマコンポーネントはその部分に変更がないにもかかわらずです。

ご協力ありがとうございます。さらなる発見があれば投稿します…

「いいね!」 1