Skip to content

[Feature] 온라인 사용자 실시간 메시지 수신 (SSE) #408

Description

@yunkihong-dev

🔥PURPOSE

접속(온라인) 중인 사용자에게 새 메시지를 실시간으로 전달한다.

📌DETAIL

  • 작업 배경:
  • 현재는 메시지 전송 후 폴링/새로고침 없이는 새 메시지가 보이지 않는다.
  • 온라인 사용자에게는 SSE로, 오프라인 사용자에게는 FCM(별도 이슈)으로 전달하는 구조가 필요하다.
  • 기대 결과:
  • 채널을 보고 있는 사용자가 새 메시지를 즉시 수신한다.
  • 연결 상태(온라인 여부)를 서버가 식별할 수 있다.
  • 참고 문서 / 링크:
  • 백엔드: SseEmitter 기반 구독 엔드포인트
  • 프론트: EventSource 구독

📒TODO

  • (BE) SSE 구독 엔드포인트 추가 (GET /api/v1/channels/subscribe 등), 사용자별 SseEmitter 관리
  • (BE) 메시지 전송 시 해당 채널 구독자에게 이벤트 publish
  • (BE) 연결/해제 시 온라인 상태 관리 (FCM 폴백 판단 근거)
  • (BE) 타임아웃·재연결·예외 시 emitter 정리
  • (FE) EventSource로 채널 이벤트 구독 및 메시지 실시간 반영
  • (FE) 음소거(mute) 채널은 알림 제외 처리 연동
  • (FE) 재연결/에러 핸들링

✅완료 조건

  • 온라인 사용자가 새 메시지를 새로고침 없이 실시간으로 받아본다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions