Developer Brief
같이 듣는 음악
로그인 없이 4자리 코드로 입장해 같은 공간의 사람들이 하나의 플레이리스트를 함께 만드는 실시간 음악 서비스입니다. 호스트 화면이 실제 YouTube 영상을 재생하고, 게스트는 곡을 검색·추가하며 Supabase Realtime으로 재생 상태를 함께 봅니다.
별도 로그인 없이 같은 공간의 사람들이 4자리 코드로 모여 하나의 플레이리스트를 함께 만드는 실시간 서비스입니다. 호스트 화면이 실제 음악을 재생하는 단일 재생 주체(single source of truth)가 되고, 게스트는 곡을 추가하며 재생 상태를 실시간으로 함께 봅니다.
문제
모바일 절전·네트워크 변경 등으로 Realtime WebSocket 구독이 조용히 끊기면 대기열·재생 상태가 더 이상 갱신되지 않음
해결
수동 재연결 버튼에서 쿼리를 invalidate해 최신 데이터를 다시 받고, subscriptionKey를 증가시켜 채널을 cleanup 후 재구독하도록 구성
문제
공식 YouTube Data API 검색은 호출당 할당량(quota) 소모가 커서 무료로 운영하기 부담스러움
해결
API Key가 필요 없는 Invidious 퍼블릭 인스턴스를 우선 사용하고, 모든 인스턴스가 실패할 때만 공식 API로 폴백. URL 추가는 무료 oEmbed로 처리해 호출 비용을 최소화



