Discourseのすべてのタブでワークフローモーダルを閉じる必要があります

優先度/重大度:

プラットフォーム:

オペレーティングシステム

Windows 11

ブラウザ

Google Chrome 151.0.7922.138

Discourse

763655f6faf47b088afee1a59e2d97cec5886c97

説明:

新しい「ワークフロー」コアプラグインには、「モーダル」ステップタイプがあります。このステップは、対象ユーザーにモーダルダイアログを表示します。

対象ユーザーが複数のブラウザタブ/ウィンドウでフォーラムのページを開いている場合、そのモーダルはすべてのタブに持続的に表示されます。

:bug: ユーザーは、各タブごとにモーダルを閉じる必要があります。

:bug: ユーザーがボタンをクリックして余分なモーダルインスタンスを処理した場合、紛らわしいエラーメッセージが表示されます。

再現手順:

  1. 新しい「ワークフロー」プラグインが有効なサイトにおいて、管理者権限を持つDiscourseフォーラムアカウントにログインします。
  2. ウェブブラウザで、複数のフォーラムページを別のタブで開きます。
  3. 「ワークフロー」ページ(/admin/plugins/discourse-workflows/workflows)を開きます。
  4. + 新しいワークフロー」ボタンをクリックします。
    新しいワークフローが作成されます。
  5. + ボタンをクリックします。
    ステップの追加」パネルが開きます。
  6. パネルから トリガー > 手動トリガー を選択します。
    「手動トリガー」ステップがワークフローに追加されます。
  7. + ボタンをクリックします。
    ステップの追加」パネルが開きます。
  8. パネルから 人間のレビュー > モーダル を選択します。
    「モーダル」ステップがワークフローに追加されます。
  9. 新しく追加された「モーダル」ステップをダブルクリックします。
    ステップの設定ダイアログが開きます。
  10. ダイアログの「タイトル」フィールドに任意のテキストを入力します。
  11. ダイアログの「ボタンの追加」ボタンをクリックします。
    これは不具合の再現には必須ではありませんが、影響をより深刻なものにします。
  12. ボタンの「ラベル」フィールドに任意のテキストを入力します。
  13. ボタンの「」フィールドに任意の値を入力します。
  14. ダイアログの右上隅にある X アイコンをクリックします。
    ダイアログが閉じます。
  15. 「手動トリガー」ステップの出力を「モーダル」ステップの入力に接続します。
  16. マウスポインタを「手動トリガー」ステップの上に移動します。
    ステップの上に ボタンが表示されます。
  17. ボタン(「サンプルのピン留めデータを手動で実行」)をクリックします。
    :slightly_smiling_face: ダイアログが現在のタブに表示されます。
  18. ダイアログ内のボタンをクリックします。
    :slightly_smiling_face: ダイアログが閉じます。
  19. 手順2で開いた他のフォーラムページのブラウザタブのいずれかに切り替えます。
    :bug: 前のタブで既に閉じたにもかかわらず、ダイアログがそのタブに表示されています。
  20. ダイアログ内のボタンをクリックします。
    :bug: エラーダイアログが表示されます:

    エラーが発生しました:要求されたURLまたはリソースが見つかりませんでした。