招待リンクの問題を引き起こす新しい「招待を受け入れる」プロンプト機能

招待リンクを使用して、ユーザーがプラットフォーム間を移動し、ディスコースに参加できるようにしてきましたが、最新のディスコースアップデートで表示され始めた新しいプロンプトにより、遅延と混乱が生じています。

トピック投稿にリダイレクトされる招待リンクを使用しているユーザーは、リンクを一度しか使用できません。これは、ユーザーがトピック投稿にアクセスするたびにリンクを使用することを期待している場合、大きな問題となります。ユーザーがトピックに何度もアクセスしたい場合、同じ招待リンクを使用してユーザーをリダイレクトできることが重要であり、この新機能が新しいプロンプトによってブロックされていることは問題を引き起こしています。

その他の技術的な問題も発生しました。まず、「招待を承認」をクリックしても応答するまでに少なくとも5秒かかり、その後ユーザーをトピックにリダイレクトするのに時間がかかります。次に、この新しい追加により、プロンプトが最初に読み込まれるのに時間がかかっています。第三に、以前に招待リンクをクリックして招待を承認した場合でも、リンクをクリックするたびに再度尋ねられます。

この問題を再現するには、ユーザーをトピック投稿にリダイレクトする、またはグループに追加する招待リンクを作成します。ディスコースアカウントにログインした状態でリダイレクトリンクをクリックします。

設定でこのプロンプトを無効にする方法はありますか?これは緊急かつ重要です。なぜなら、ユーザーエクスペリエンスに影響を与えるからです。

招待リンクに依存しているが、この変更について通知がなかったため、この新しい変更に気づいていない他のユーザーも見過ごす可能性があります。ありがとうございます!

「いいね!」 2

バグもあるので追記させてください。また、私たちのユースケースではそもそもプロンプトは不要なので、削除することは可能でしょうか? または、管理設定で無効にするオプションを提供していただけますか?

バグの内容は、「招待を承諾する」を2回クリックすると、ページが静止したままになり、何もメッセージが表示されないことです。これは全く役に立ちません。ユーザーは以前のコンテキストを使用してトピックにリダイレクトされることができなくなります。これは重大な問題です。招待リンクをドキュメントに記載し、読者が同じリンクを繰り返し使用してトピックにリダイレクトされることを期待する場合、招待リンクは機能しなくなります。:sob:

招待リンクを使用するのは、参加者がトピックを読むことができるように、まずプライベートカテゴリに追加する必要があるためです。ユーザーがトピックを再度見つける必要がある場合は、同じ招待リンクを使用できるはずです。この場合、招待はユーザーを対象としているため、ユーザーがログインしている場合は自動的に招待を承諾し、意図したトピック投稿にリダイレクトされるべきです。

以前は招待リンクは完璧に機能していました。この点について再検討し、管理者がこの「招待を承諾する」プロンプト/ボタンメッセージを無効にするオプションを提供していただけることを願っています。ありがとうございます!

「いいね!」 4

@gassim、ご報告ありがとうございます。

この5秒の遅延は再現できませんでした。metaで、グループへの追加あり・なしの両方で複数の招待をテストしました。この遅延が毎回発生する場合は、次回開発者ツールを開いた状態でコンソールタブを確認し、エラーが表示されていないか確認していただけますか?

こちらは再現できました。これはリグレッションのようです。近いうちに修正します。

「いいね!」 5

Firefox コンソールでの 5 秒間の遅延の証拠を以下に示します。

Firefox コンソールにエラーは表示されませんが、Chrome で試すと、これらのエラーが時々発生します。

includes.js?v=35a79b300ab5afa978cb59af0b05e059:839   

PUT https://XXX/invites/show/XXX.json 502
XMLHttpRequest.send @ includes.js?v=35a79b300ab5afa978cb59af0b05e059:839
send @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:495
ajax @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:471
y @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:3948
(anonymous) @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4309
O @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4309
f @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:3948
submit @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:2926
B._run @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4450
B._join @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4449
B.join @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4412
p @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2577
(anonymous) @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:725
a @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2481
(anonymous) @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:725
(anonymous) @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:719
_triggerAction @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:532
click @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:531
trigger @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2235
r @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2092
trigger @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:4230
r @ vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2092
a @ discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:4234

discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:3940 

SyntaxError: Unexpected token '<', "<!DOCTYPE html>
<html>
..." is not valid JSON
    at Function.parse [as parseJSON] (<anonymous>)
    at i (discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:3940:167)
    at discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:2926:699
    at b (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4291:12)
    at g (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4289:128)
    at h (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4287:107)
    at p.invoke (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4377:192)
    at p.flush (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4369:141)
    at h.flush (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4384:207)
    at B._end (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4448:9)
    at B.end (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4401:240)
    at B._run (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4450:118)
    at B.run (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:4410:13)
    at d (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:2577:23)
    at u.error (discourse-27b1f43fa762ddf5962cd2fe315ed30d7328317e3f712317bcf73fe42f3e91e3.js:3948:44)
    at l (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:200:118)
    at Object.fireWith [as rejectWith] (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:201:698)
    at E (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:483:468)
    at XMLHttpRequest.<anonymous> (vendor-52a227242ff3f3ca9d1116e8a9ef5c5c0470f27df70b8688420e4f4222a222ed.js:494:206)
「いいね!」 2

ご協力ありがとうございます @pmusaraj

このプロンプトメッセージは、私たちのユースケースでは役に立ちません。管理者がこの種のプロンプトなしで招待リンクを作成する方法はありますか?

招待リンクは、参加者がディスカッションフォーラムに参加するように招待されるコースで使用されます。招待リンクに期待することは、ユーザーをグループに追加し、プライベートカテゴリのトピックにリダイレクトすることです(毎回「招待を承諾する」をクリックする必要なく)。最初のクリック後、ユーザーは同じ招待リンクを使用してトピックに戻れるはずです。これは、メッセージプロンプトが夜間に強制されるまで、スムーズかつ完璧に機能していました。

招待リンクの使用方法については、別のトピックで説明しました。

@tobiaseigen @dan @JammyDodger 、どうかお願いします。私たちのユースケースでは、プロンプトメッセージを削除する必要があります。

@yanokwaさん、ありがとうございます! (:

こんにちは、@gassimさん。社内でこの件について話し合いました。申し訳ありませんが、同じユーザーがブックマークとして機能するために同じ招待を複数回受け入れる動作は予期しないものであり、ログインユーザーがすでに招待を受け入れている場合は「招待を受け入れる」ボタンを非表示にするように修正します。代わりに、ユーザーが招待リンクをすでに利用したことを通知するメッセージを表示します。

ページを開いたときに招待を自動的に受け入れることはセキュリティ上の問題であったため、代わりに「招待を受け入れる」の確認画面を表示するように変更しました。

ユーザーが同じトピックに繰り返し戻る必要がある場合は、ブックマークすることをお勧めします。または、招待リンクを記載した社内ドキュメントがある場合は、利便性のために同じ場所にトピックへのリンクを追加してください。

「いいね!」 4

@martinさん、ご検討いただきありがとうございます。現在、代替ソリューションを検討中です。

はい、お願いします。このバグが修正されたらお知らせいただけると幸いです。

承知いたしました。管理者が招待リンクを作成する際に、プロンプトメッセージを使用するかどうかを選択できるオプション(プロンプトメッセージを使用しない場合に何が起こる可能性があるかについての警告付き)があればと思っていました。プロンプトメッセージなしでは誰でもプライベートグループ/カテゴリにアクセスできることは承知していますが、私たちのユースケースでは、それらは「秘密」のグループ/カテゴリではなく、コースのトピックを議論するための専用スペースとして分離されているだけなので、問題ありません。

コース参加者にトピックをブックマークするように要求するのは簡単ではありませんが、後者の提案は、現在私たちが取れる唯一の選択肢であり、問題を解決するための即時の行動のように思えます。

また、現在この問題にも直面しているようです:https://meta.discourse.org/t/no-sign-in-option-in-the-accept-invitation-page-only-the-signup-form-is-shown/245769、ありがとうございます!


重ねて、皆様の多大な尽力とサポートに感謝いたします。:+1:

「いいね!」 2

これは興味深い制約ですね。つまり、誰でもアクセスできる1000の部屋を持つDiscourseがあり、コースメンバーが特定の部屋に強い愛着を持つようにしたいということですね。

いくつか質問があります。

  • ここでセキュリティを使用しないことの価値は何ですか? latest は典型的なユーザーにとって単に大量のノイズなのでしょうか?「デフォルトですべてのカテゴリをlatestから抑制する」という設定もあります。

  • サイドバーで痛みを少し和らげることはできますか?カテゴリがサイドバーにあれば、少なくとも呼び出されます。招待もサイドバーに追加できるようにすべきでしょうか?よくわかりません。

  • ウェルカムトピックでより明確に説明することは役立ちますか?「あなたの家を見つけるには、以下をブックマークしてサイドバーに追加してください。手順は次のとおりです。」

cc @mcwumbly

「いいね!」 3

なぜ、主にグループに基づいたホームを設定しないのですか?

「いいね!」 2

短期的には、お互いの制約を受け入れる必要があると思います。

@gassim さんはうまく機能していたシステムを持っていたようなので、それにできるだけ近い形でガイダンスを提供するのが最善だと思います。特定のカテゴリへのアクセスを制限するためにグループを引き続き使用し、他の場所からのノイズを制限してください。

招待システムのいくつかの粗いエッジをきれいにし、保守性と理解しやすさを向上させたいと考えており、その過程でこのような問題に遭遇することが予想されます。この場合、再利用可能なトピックリンクとして招待リンクに頼らないことを主張しています。

以前のトピックを読んだ上で、以下のようなことを行うのが最も理にかなっていると思います。

  1. 各コースの招待リンクを、トピックへの直接リンクに置き換える
  2. これらのリンクの近くに、一般的な招待リンクを含める。「まだアカウントをお持ちでないですか?アカウントを作成してグループに参加するにはここをクリックしてください」
  3. 招待リンクは、より一般的な概要のトピックに誘導し、ユーザーにコースに戻ってそこからコース固有のトピックに参加するように指示する。
「いいね!」 5

この修正をマージしました。まもなくDiscourseサイトでアップデートできるようになるはずです。

ご理解いただきありがとうございます。

「いいね!」 5

ご関心をお寄せいただきありがとうございます!

プライベートに保たれるルームは、コース参加者向けです。基本的に、フォーラムの他のアクティビティ(latest、topなど)に影響を与えることなく、専用のスペースにしたいと考えています。コースのディスカッションフォーラムをプライベートカテゴリに置くのは、「秘密」だからではなく、コースに登録することを選択した人のみがトピックやディスカッションを見る必要があり、登録しない人は通常どおりサイトの他の部分を使用し続けることができるからです。

ご提案ありがとうございます!まだサイドバーについては試していませんが、なぜまだサイドバーを宣伝していないのかについて、自由に書いてみます。

  1. ホームページにはすでに2つの列が表示されています:一方の列にカテゴリ、もう一方に最新情報。サイドバーがあると、ホームページで繰り返しになるように思えます(ホームページで非表示にする方法はありませんか?)
  2. サイドバーは、プライベートメッセージに必要以上の注意を払っているように見えますが、PMの使用はあまり推奨していません。
  3. これが痛みを和らげるという考えに反して、サイドバーは、他のカテゴリが表示されないようにしたいプライベートカテゴリに参加するコース参加者にとっては、気を散らすもののように見えるでしょう(一部のカテゴリでサイドバーを無効にするオプションはありませんか?)
  4. 管理者がグループごとにサイドバーをカスタマイズするオプションがあれば、グループAの参加者はグループAに関連するものを表示し、グループBはグループBに関連するものを表示できるので、痛みを和らげることができます。その理由は、すべてのユーザーがサイトをメールアカウントのように扱い、カスタマイズ方法を学ぶのに時間を費やすことを期待していないからです。一方で、彼らがすでに快適に感じ、カスタマイズを学ぶのに時間を費やすことなく直接体験から利益を得られるように歓迎する必要があります。したがって、各グループに対して事前にカスタマイズでき、その後、変更する選択肢があれば素晴らしいでしょう(さらに、ホームページに表示しないオプションもあります。デフォルトではホームページに非表示にすべきですが、CSSコードで修正できるかもしれませんが、特定のカテゴリの場合はどうなりますか?)

わかりません。コースに登録する参加者には少なくとも50のトピックがあります。しかし、私たちは@martinの提案を使用しています。

@Stephen、ご提案ありがとうございます!しかし、ホームページはすべてのメンバー向けであり、それを変更したくありません。コース参加者はいくつかのコースに参加しますが、各コースの後、コミュニティに参加し続けるように招待されます。

「いいね!」 2

:100::100::100: ありがとうございます!

承知いたしました。しかし、管理者が招待リンクを一定回数使用した後、または特定の日付後に期限切れにするオプション(特定のメールアドレスに限定することに加えて)があった場合、どうなりますか? 私たちは招待リンクを期限切れにしたくなかったので、期限は2092年、使用回数は1000000回に設定し(もちろん、招待リンクをプライベートカテゴリのディスカッショントピックに参加したい人に開いておきたかったので、メールアドレスのリストは指定しませんでした!)。しかし、リンクが個々のユーザーごとに初回使用後に期限切れになる場合、これらのオプションがどれほど役立つかはわかりません。
個人的には、招待リンクの作成時に上記のような制約に似たオプションを追加することで、これが異なる方法で強制された場合、すべてが私の認識ではるかに簡単になったと思います。(デフォルトでは、管理者がこのオプションをオフにしない限り、招待リンクは再利用できません。オフにすると、Discourseチームが懸念しているセキュリティ問題に関する警告が表示されます。):blush:


:100: ありがとうございます!これはまさに現在取っているアプローチですが、ガイドラインをスクリーンショットで更新する必要があります。現在、ヘッダーに「ログイン」ボタンを追加する修正を待っています:No 'sign in' option in the accept invitation page, only the signup form is shown

@martin さん、ありがとうございます!

「いいね!」 3