✨ Description
현상
사회자가 토론 도중 타이머 페이지(/table/customize/{id})를 새로고침하거나 탭을 닫았다 다시 열면, 진행 중이던 타이머 상태가 모두 초기화됩니다.
- 현재 순서(
index)가 첫 순서(0)로 돌아감
- 일반 타이머 남은 시간, 자유토론 양 팀 총 시간·발언 시간이 기본값으로 돌아감
- 실시간 공유 중이었다면 공유 모달을 다시 열어야 소켓이 재연결됨
#491 로컬 BE 연동 테스트 중 확인: 사회자 탭을 재접속하자 청중에게 첫 순서 180초(초기값) SYNC/PLAY가 전송됨.
원인
타이머 진행 상태가 모두 React 메모리 상태로만 관리되고 저장되지 않음.
src/page/TimerPage/hooks/useTimerPageState.ts — index, 선택 팀 등 useState
src/page/TimerPage/hooks/useNormalTimer.ts, useTimeBasedTimer.ts — 남은 시간, 재생 여부 useState
영향
논의 필요
- 저장 위치:
sessionStorage(탭 단위) vs localStorage
- 저장 범위: 순서, 남은 시간, 재생 중이었는지 여부
- 재생 중이던 타이머 복구 방식: 저장 시각 기준으로 흐른 시간을 차감해 이어서 진행할지, 정지 상태로 복구할지
- 실시간 공유 중이었다면 새로고침 후 소켓 자동 재연결 여부
✨ Time (마감 기한)
✨ Description
현상
사회자가 토론 도중 타이머 페이지(
/table/customize/{id})를 새로고침하거나 탭을 닫았다 다시 열면, 진행 중이던 타이머 상태가 모두 초기화됩니다.index)가 첫 순서(0)로 돌아감#491 로컬 BE 연동 테스트 중 확인: 사회자 탭을 재접속하자 청중에게 첫 순서 180초(초기값) SYNC/PLAY가 전송됨.
원인
타이머 진행 상태가 모두 React 메모리 상태로만 관리되고 저장되지 않음.
src/page/TimerPage/hooks/useTimerPageState.ts—index, 선택 팀 등useStatesrc/page/TimerPage/hooks/useNormalTimer.ts,useTimeBasedTimer.ts— 남은 시간, 재생 여부useState영향
논의 필요
sessionStorage(탭 단위) vslocalStorage✨ Time (마감 기한)