500文字の「拒否理由」制限が狭すぎる

新しいユーザーのフォーラムへの申請を審査するよう通知された際に、申請を却下するために「ユーザーを削除」オプションを使用し、その際に申請が却下された理由を説明するメールでのメモを含めるように選択すると、「422 エラー」が応答として返されるようです。

メモを省略すると、以前のようにユーザーを削除できます。

フォーラムから生成されたサインアップしたユーザーへのメール通知は、それ以外は正常に機能しています。

現在インストールされている Discourse のバージョンは 3.2.0.beta5-dev です。

この発生日(本日)に対応するフォーラムのエラーログを以下に示します。

5
Deprecation notice: `SiteSetting.min_trust_to_edit_post` has been deprecated. Please use `SiteSetting.edit_post_allowed_groups` instead. (removal in Discourse 3.3) At /var/www/discourse/app/models/co
1:19 pm
15
Deprecation notice: warning: the email parameter is deprecated. all POST requests to this route should be sent with a base64 strict encoded email_encoded parameter instead. email has been received and
1:37 pm
Email can not be processed: Email::Receiver::AutoGeneratedEmailError Received: from smtp-mx-server-8.servers.netregistry.net (unknown [202.124.241.69]) by nz-mail-receiver.localdomain (Postfix) with
1:37 pm
Email can not be processed: Email::Receiver::NoBodyDetectedError Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown [104.47.14.50]) by nz-mail-receiver.localdomain (Postfix) with
1:39 pm
2
ActiveRecord::RecordInvalid (Validation failed: Reject reason is too long (maximum is 500 characters)) app/models/reviewable.rb:362:in `transition_to' app/models/reviewable.rb:335:in `block in perform
1:51 pm
2
Failed to handle exception in exception app middleware : ActiveRecord::RecordInvalid : Validation failed: Reject reason is too long (maximum is 500 characters)
1:51 pm
235
Sidekiq is consuming too much memory (using: 557.11M) for 'nzarchitecture.net.nz', restarting
1:54 pm
38
Deprecation notice: `SiteSetting.min_trust_to_create_tag` has been deprecated. Please use `SiteSetting.create_tag_allowed_groups` instead. (removal in Discourse 3.3) At /var/www/discourse/lib/guardia
2:06 pm
33
Deprecation notice: `SiteSetting.min_trust_to_edit_post` has been deprecated. Please use `SiteSetting.edit_post_allowed_groups` instead. (removal in Discourse 3.3) At /var/www/discourse/lib/guardian/
2:06 pm

この問題がいつ、どの Discourse ソフトウェアバージョンで最初に発生したのかは定かではありません。申請が少なく、却下する必要があるものもほとんどないためですが、以前はこの問題に遭遇したことはなく、以前の却下通知でも同じ貼り付けメッセージを使用していました。

「却下理由が長すぎます(最大500文字)」という参照があり、私の標準の却下理由テキストは確かに500文字を超えていますが、以前はこれで機能していました。

これは解決すべき重要な問題だと思います。なぜなら、却下の完全で満足のいく説明を提供することは、意図したメンバーシップ基準から外れているが、明らかにボット、マーケター、またはその他の「悪意のあるアクター」ではない場合、意図した申請者に対する基本的な配慮だからです。

再申請を希望する人にアドバイスを提供したい場合、500文字でこれを実行するのは困難です。必要であれば、文字制限を増やす方法はありますか?

これは他の場所でもリクエストされていますが、(開発者の方が見ていれば)編集可能な標準の「却下理由」のドロップダウンリストも用意してほしいというリクエストを繰り返したいと思います。

「いいね!」 3

これらのテキストフィールドのいくつかに制限が最近設けられたと思いますが、場合によっては合理的な推定値でした。これをより高い値に引き上げることができるか確認します。必要な文字数はどのくらいですか?

既存のトピックに賛同の声を加えていただけると、人気のあるリクエストであることが示され、優先順位が上がる可能性があります。:+1:

「いいね!」 3

JammyDodgerさん、こんにちは。ありがとうございます。現在の拒否理由のテキストは2211文字と長いです。これは、いくつかのシナリオに対処するためのアドバイスが含まれており、かなりの専門フォーラムであるため、ニュアンスが含まれているからです。

ドロップダウンの理由リストのアイデアはひとまず置いておき、この理由をデフォルトで空白フィールドにするのではなく、事前に定義されたテキスト文字列を使用することは可能でしょうか?必要に応じて、オンザフライで空白フィールドを使用してカスタムテキストオプションの代わりに使用できるチェックボックスを付けることは可能でしょうか?

別のリクエストスレッドを探してみます。

「いいね!」 1

はい、その通りです。約9ヶ月前にデータベースレベルで制限を追加しました: DEV: Set limits for text fields in reviewables · discourse/discourse@783c935 · GitHub

現在、インスタンスごとにこれを上書きする可能性はありません。制限を少し、たとえば2000文字に引き上げることは検討できますが、まずはこれが問題となっている事例をさらに確認したいと思います。現時点では、そのメッセージを短縮すること(そして残りの部分をトピックへのリンクで追加すること)が理にかなっていると思います。

このUIを改善して、ユーザーが制限を超えたテキストを入力したときにエラーメッセージが表示されるようにすべきだと思います。

ログインが必要なサイトであれば、公開ページが非常にうまく機能するかもしれません。ログインが必要に設定されていても、匿名ユーザーに表示させることができます。

「いいね!」 2

ありがとうございます。そうしましたが、すでに少しイライラしている応募者に追加の手順を要求することは避けたいと考えています。特に、メールアプリはデフォルトで受信したメールのURLを開くのをブロックすることがよくあります。

後で有望なフォーラムユーザーになる可能性のある人を不必要に怒らせたり、疎外したりしたくないのです。

そして、毎回このメッセージを手動でコピー&ペーストする必要がないようにしたいのです。

「いいね!」 1

私は個人的にそのようなメールアプリを見たことがありません。奇妙なデフォルト設定のように思えます。

私のMicrosoft Outlookアプリもその一例です。この動作は、受信したメッセージに関連付けられた信頼レベルに影響されるようです。
新規ユーザー/応募者は、送信ドメインを信頼できる送信者リストにまだ追加していない場合、少しスパムのように見える自動メール応答をトリガーすることになります。この手順は、新規ユーザーが実行できることを期待するには少し多すぎるように思えます。特に、まだユーザーとして実際に受け入れられていない場合はなおさらです。

私はメールドメインの評判を最大化するためにできる限りのことをしましたが、私のフォーラムによって送信された一部のメッセージは、一部の受信者にとってジャンクメールフォルダに届いてしまいます。そこでも読むことはできますが、リンクは常に無効になっています。

私も同じ状況です。リンクや連絡先情報を提供するには、最低でも1200文字必要です。これは少々面倒です。また、段落分けができるようになると、ロボットのように見えなくなります。ありがとうございます。

「いいね!」 1

コミットで制限を2000文字に引き上げ、エラーメッセージの表示を修正しました :slight_smile:

「いいね!」 3

@martinさん、ありがとうございます。しかし、ホストされたアカウントではまだ機能していません。エラーが引き続き発生します。1100文字未満です。よろしくお願いします。

「いいね!」 1

おっと、興味深いことに、エラーは発生したものの、メールは正しく送信されました。しかし、ユーザーは削除されませんでした。昨日、同じユーザーに約20通のメールを送信したということでしょうか?

「いいね!」 2

申し訳ありません、お客様がホストされたお客様であることに気づきませんでした。サイトをプライベートメッセージでお知らせいただければ、本日中に変更をデプロイいたします。

それは奇妙ですね。確認します。昨日変更作業をしていたとき、重複メールには気づきませんでした。

「いいね!」 3

実際、文字数制限のエラーが発生してもメールは送信されます:fearful: 現在修正に取り組んでいます。

「いいね!」 4

修正が完了しました。

すぐにサイトをデプロイします。お送りいただきありがとうございました。

「いいね!」 2

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