모든 Discourse 탭에서 워크플로우 모달을 닫아야 합니다

우선순위/심각도:

중간

플랫폼:

운영체제

Windows 11

브라우저

Google Chrome 151.0.7922.138

Discourse

763655f6faf47b088afee1a59e2d97cec5886c97

설명:

새로운 “Workflows” 코어 플러그인에는 “Modal” 단계 유형이 있습니다. 이 단계는 대상 사용자에게 모달을 표시합니다.

대상 사용자가 포럼 페이지에서 여러 브라우저 탭/창을 열려 있는 경우, 모달은 모든 탭에 지속적으로 표시됩니다.

:bug: 사용자는 각 탭에서 모달을 닫아야 합니다.

:bug: 사용자가 버튼을 클릭하여 중복된 모달 인스턴스를 해결하면 혼란스러운 오류 메시지가 표시됩니다.

재현 단계:

  1. 새로운 “Workflows” 플러그인이 활성화된 사이트에서 관리자 권한이 있는 Discourse 포럼 계정에 로그인합니다.
  2. 웹 브라우저에서 여러 포럼 페이지를 개별 탭으로 엽니다.
  3. “Workflows” 페이지(/admin/plugins/discourse-workflows/workflows)를 엽니다.
  4. + New workflow” 버튼을 클릭합니다.
    새 워크플로가 생성됩니다.
  5. + 버튼을 클릭합니다.
    Add step” 패널이 열립니다.
  6. 패널에서 Triggers > Manual trigger를 선택합니다.
    워크플로에 “Manual trigger” 단계가 추가됩니다.
  7. + 버튼을 클릭합니다.
    Add step” 패널이 열립니다.
  8. 패널에서 Human Review > Modal을 선택합니다.
    워크플로에 “Modal” 단계가 추가됩니다.
  9. 새로 추가된 “Modal” 단계를 더블 클릭합니다.
    해당 단계의 설정 다이얼로그가 열립니다.
  10. 다이얼로그의 “Title” 필드에 아무 텍스트나 입력합니다.
  11. 다이얼로그의 “Add button” 버튼을 클릭합니다.
    이는 결함을 재현하는 데 필수적이지는 않지만, 더 심각한 영향을 초래합니다.
  12. 버튼의 “Label” 필드에 아무 텍스트나 입력합니다.
  13. 버튼의 “Value” 필드에 아무 값이나 입력합니다.
  14. 다이얼로그 오른쪽 위 구석의 X 아이콘을 클릭합니다.
    다이얼로그가 닫힙니다.
  15. “Manual trigger” 단계의 출력을 “Modal” 단계의 입력에 연결합니다.
  16. 마우스 포인터를 “Manual trigger” 단계 위에 올립니다.
    단계 위에 버튼이 나타납니다.
  17. 버튼(“Run manually with the sample pinned data”)을 클릭합니다.
    :slightly_smiling_face: 현재 탭에 다이얼로그가 나타납니다.
  18. 다이얼로그의 버튼을 클릭합니다.
    :slightly_smiling_face: 다이얼로그가 닫힙니다.
  19. 이 지침의 2단계에서 열었던 다른 포럼 페이지 브라우저 탭 중 하나로 전환합니다.
    :bug: 이전 탭에서 이미 닫았음에도 불구하고 다이얼로그가 해당 탭에 존재합니다.
  20. 다이얼로그의 버튼을 클릭합니다.
    :bug: 오류 다이얼로그가 나타납니다:

    An error occurred: The requested URL or resource could not be found.

3개의 좋아요

대상 사용자가 포럼 탭을 하나 이상 열려 있는 경우, 모달은 모든 탭에 표시됩니다.

하나의 탭에서 닫아도 다른 탭의 모달은 사라지지 않습니다. 더 나쁜 것은, 중복된 사본 중 하나에 대한 작업을 수행하면 no-op 대신 오해의 소지가 있는 오류가 발생한다는 점입니다:

오류가 발생했습니다: 요청한 URL 또는 리소스를 찾을 수 없습니다.

즉, 실제로는 이미 해당 단계를 완료한 상태인데도 불구하고 사용자에게 무언가 실패했다는 메시지가 표시됩니다.

리포트 감사합니다 @per1234 :+1:

아래 링크를 통해 수정될 예정입니다.

2개의 좋아요