채팅 플러그인이 탭 포커스를 인식하지 못함

결론적으로, 채팅 플러그인은 브라우저 탭이 현재 포커스/활성 상태인지 여부를 고려하지 않습니다.

영향

알림 누락 및 제목 표시줄의 읽지 않은 메시지 수 표시 누락.

재현 단계

최신 3.5.0.beta2-dev 버전에서 Firefox로 테스트했습니다.

  1. 사용자 A와 B가 discourse에 로그인하여 채팅 플러그인을 통해 서로 DM을 주고받는 상황입니다.
  2. 사용자 A는 채팅을 열어 두었지만 다른 탭에 있습니다.
  3. 사용자 B가 사용자 A에게 메시지를 보냅니다.
  4. 사용자 A의 탭에 새 메시지를 나타내는 "(1)"이 잠시 표시되지만, 1초 후 빠르게 사라집니다.
  5. 사용자 A는 데스크톱 알림을 받지 못합니다.

참고: 사용자 A가 채팅 창을 열어 두지 않은 채 discourse에 있는 경우, 제목 표시줄의 (1)은 올바르게 유지되고 시스템 알림이 표시됩니다.

기대 동작

탭이 보이지 않거나 포커스가 없는 상태(예: 29번째 탭이거나 여러 다른 창 뒤에 묻혀 있는 경우)라면, 사용자는 알림을 받아야 합니다.


감사합니다!

2개의 좋아요

안녕하세요, 보고해 주셔서 감사합니다.

디버깅에 도움이 될 몇 가지 질문이 있습니다.

  • 이 상황에서 채팅이 열리지 않은 상태에서 포커스가 있는 탭에 Discourse가 열려 있나요?

  • 전체 화면 채팅을 사용 중이신가요, 아니면 드로어(사이드바) 모드인가요?

이 경우의 데스크톱 알림이란 채팅 아이콘의 초록색 배지를 의미하나요? 아니면 다른 것을 의미하나요?

1개의 좋아요

문제가 아닙니다:

사용자 A의 경우, 브라우저에서 포커스가 맞춰진 탭은 다른 것입니다(예: 구글). 브라우저 포커스가 맞춰져 있지 않은 Discourse 탭 내부에서는 채팅이 열려 있는 상태입니다.

두 시나리오 모두에서 이 현상을 확인한 것 같아 90%는 확신하지만, 정확히 어느 경우였는지 확인하기 위해 다시 테스트해 봐야 합니다(최소한 다른 정보를 바로 공유할 수 있도록 지금 먼저 답변합니다).

데스크톱 알림은 운영체제(OS)를 통해 전달되는 푸시 알림을 의미합니다.

1개의 좋아요

업데이트: 전체 화면 모드와 드로어 모드 모두에서 발생한다는 것을 확인했습니다.

Chrome에서는 동작이 조금 다릅니다. (3)이 표시되었다가 (2)로 줄어듭니다.

또한 두 브라우저 모두에서 때때로 30초 동안 업데이트가 진행되지 않는 경우가 있습니다(네트워크 디버거에 따르면 다음 폴링 요청까지). 하지만 이 부분은 단순히 인터넷 연결 문제일 수도 있습니다.

문제를 시연하는 영상을 첨부합니다:

  • 0:08 Firefox 수신 문제
  • 0:32 Chrome 수신 문제
  • 0:50 느린 업데이트 문제