「本文が似すぎている」投稿とメッセージを比較する

「本文が最近投稿したものと酷似しています」

私は、公開前に下書きとして使用するために、詳細な投稿用のメッセージ・トゥ・セルフ機能を使用しています。(主な理由は、プレビューペインが常に公開された投稿/メッセージと同じようにレンダリングされるわけではないため、最終的な形式を確認するには公開する必要があるからです。また、プライベートで公開することで、投稿やトピックが最初に公開された後に送信されるメールの「編集ウィンドウ」の制限時間を回避できます。)

メッセージの本文をフォーラムの投稿に貼り付けようとしたところ、「みんなに同じコンテンツをスパム送信するのをやめろ 本文が最近投稿したものと酷似しています」というメッセージが表示されました。ユーザーはメッセージを削除できることを考えると、これは不要なチェックのように思えます。また、誰かにメッセージを送信した後、それを返信投稿に変換したい場合もあります(例えば、校正を依頼した場合など)。

私が話しているのは、メッセージをトピックの最初の投稿に変換することではありません。既存のトピックにメッセージを追加することについて話しています。Discourseのデータベース構造や、投稿とメッセージがどれほど異なるかについては全く知りません。メッセージから「メッセージらしい」属性を剥ぎ取り、トピックとして装うことが可能であれば、同様のプロセスで返信に変換することも可能だと思われます。

少なくとも、メッセージ本文を投稿で再利用できるようにしたいです。

回避策についての言及がこちらにあるかもしれませんが、OPのプロセスを十分に理解できず、明確に把握できていません。

「いいね!」 1

これはバグとは見なせないと思います。正しく機能しているようです。 :slightly_smiling_face:

これは unique posts mins という管理設定(デフォルトは5分)で制御されているため、待機時間が重大な問題を引き起こしている場合は、管理者に短縮するように依頼することができます。

「いいね!」 4

いつものように、素晴らしい舞台裏の情報ですね!

discuss.python.org に戻ったときには、タイマーが切れていて、最後の「メッセージ」の下書きの本文を投稿できるようになっていました。もし最初の重複で止められていなかったら、ここに投稿することはなかったでしょう。(それは somehow 「尾を食べる蛇」のミームを思い出させますね :upside_down_face:

これはバグとは考えられないと思います…

はい、これはその中間にあるように思えます。このクエリは、なぜ異なるプラットフォームオブジェクトタイプの最初の重複がそもそもブロックされるのかということです。これは、ある問題の解決策を別の問題(ただし、より小さな問題なので、この動作の「機能」側面は迷惑投稿やメッセージングに対する防御としてプラスになります)と交換しているように見えます。それにもかかわらず、投稿本文とメッセージ本文はスコープが大きく異なるため、比較することは不適切であり、したがって適用できないように思えます。

…正しく機能しているように見えるので。

「正しく機能している」を「意図したとおり」と定義し、これが設計上の決定であり、見落としや意図しない動作(これらはどちらもバグの一種です)ではなかったとすれば、私も同意します。 :smiley: 機能(またはどこかで議論されたこと)として投稿されているのを見なかったので、既存の最適ではない動作を報告するのに適切な場所だと考えました。

修正方法がわからないバグは、デフォルトで「機能」になり、邪魔になる「機能」はバグと見なすことができます。

unique posts mins が切れるのを待つことさえ、回避策です。 :point_left: :stuck_out_tongue_winking_eye:

メッセージ本文をトピックの返信に移動しようとした最初のユーザーかもしれませんね。 :person_shrugging:

「いいね!」 4

「pm-as-draft-message」のアプローチは大好きで、私もこれらの警告を数回受け取っています。もしかしたら、現状に甘んじすぎていたのかもしれません。:slightly_smiling_face: このワークフローがどれほど人気があるかわからないので、少数派かもしれませんが、Feature request にすることはできますか?

あるいは、もっと簡単な方法として、警告メッセージにもっと多くの情報を含める UX アプローチはどうでしょうか(例:「本文は最近投稿したものと酷似しています。%{unique posts mins} 後に再試行してください」)。これだけでも、時間制限があり一時的な制限であることが強調されるかもしれません(ただし、意図を損なう可能性もあります)。

「いいね!」 5

これは確かに効果的でシンプルな(したがって優れた)強化機能です。別の機能リクエストとして提出します。

「いいね!」 3

長文の下書きにPMを使用することに@codinghorrorがかなり賛成していると思いますが、これは意図したものではありません。

Discourseには非常に簡単な修正/変更があります。

以下のように変更します。

    def unique_post_key
      "unique-post-#{user_id}:topic?.private_message?:#{raw_hash}"
    end

これと簡単なテストでこのワークフローは修正されます。

この変更によってセキュリティ保証が損なわれるとは思いません。

異議がなければ、明日この変更を行います。

「いいね!」 4

ありがとうございます、サム!

これはすぐにリリースされますか? 私はdiscuss.python.orgで、ここよりも長い返信を作成する傾向があります。また、議論は技術的な内容に関するもので、テストされていないコードを投稿する際に誤解やタイプミスが発生する可能性が多くあるため、より広範囲に校正および改訂します。

「いいね!」 2

修正は以下のパイプラインで準備中です。

まもなくマージされ、サイトは数週間以内にデプロイされる予定です。
それまでの間、簡単な回避策をお勧めします。下書きを投稿する際に、簡単な「スペースパディング」を行ってください。

hello world

hello        world

は、Markdownでは同じように表示されます。

hello world.

「いいね!」 2

このトピックは4日後に自動的に閉じられました。返信はもう許可されていません。