사용자 또는 브라우저 비활성으로 인해 서버에서 나갔을 때 사용자 상태가 업데이트되지 않습니다

같은 화면에서 기본 onlyWhenActive 옵션(기본적으로 channel.enter()을 호출할 때 true입니다)을 가진 채널만 입력하는 경우 → 대기 상태로 전환될 때 이 채널을 업데이트하기 위해 서버에 잘못된 호출이 발생합니다.

재현 방법

  • 먼저 채팅 플러그인이 활성화되어 있다면 비활성화하세요 (채팅 플러그인은 모든 화면에서 onlyWhenActive 옵션이 false로 설정된 .enter({onlyWhenActive: false} 호출을 수행하기 때문에 중요합니다)

  • 데모를 위해 채널을 추가하세요. 저는 topic-presence-display.js를 선택하고 다음을 추가했습니다:

  @on("init")
  _init() {
    this._presentChannel = this.presence.getChannel('/presence-idle-demo');
    this._presentChannel.enter();
  },
  • 브라우저 네트워크 콘솔을 열고 어떤 주제(Topic)를든 여세요 → /presence/update에 대한 첫 번째 호출을 볼 수 있어야 합니다

  • 브라우저 창을 최소화하고(네트워크 탭을 켜둔 채로) 10초보다 약간 더 기다리세요 (이것은 기본적으로 브라우저 비활성 시간입니다)

  • 브라우저를 다시 열고 /presence/update에 대한 최신 호출을 확인하세요

현재 결과:

leave_channels[]: /presence-idle-demo가 되어야 합니다

풀 리퀘스트를 열었습니다:

6개의 좋아요

신중한 디버깅과 근본 원인 파악을 해줘서 고마워요 … 이번 주에 검토해서 수정 사항을 병합할 수 있는지 확인해 보겠습니다!

6개의 좋아요

@david 님이 이 작업을 마무리했고, 이제 병합되었습니다 :tada:

@david 님이 이 문제를 제기하고 PR을 제출해 주셔서 감사합니다 :clap:

7개의 좋아요