Repository navigation
[FIX] 라이브 공유 종료 상태 유지 시간 단축 - #273
Conversation
종료 후 다음날 같은 테이블로 다시 공유할 때 청중이 사회자보다 먼저 입장하면 종료 화면이 표시되던 문제를 수정한다. 종료 상태 유지 시간이 지나면 사회자 부재(CHAIRMAN_ABSENT)를 알려 대기 화면으로 이동한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: debate-timer/debate-timer-be/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. Walkthrough공유 룸의 종료 상태 유지 시간이 1일에서 5분으로 변경되었습니다. 테스트는 단축된 유지 시간에 따른 룸 제거와, 유지 시간이 지난 뒤 사회자 없이 입장한 청중에게 Changes공유 룸 종료 상태 만료
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The five-minute retention matches the requested behavior, and viewers joining after expiry receive CHAIRMAN_ABSENT when no chairman is active. No material merge risk remains. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The five-minute expiry changes when viewers move from the finished screen to the waiting screen, but the reviewed paths do not show a new privilege, entrypoint, or security-control bypass. Client behavior and deployment conditions were not fully verified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Test Results169 files 169 suites 52s ⏱️ Results for commit 6f94a17. |
📝 Test Coverage Report
|
배경
사회자가
FINISHED를 발행하면 서버는 룸을 종료 상태로 기억하고, 이후 입장하는 청중에게FINISHED를 보내 종료 화면으로 이동시킨다.종료 상태 유지 시간(
SharingRoomRegistry.FINISHED_TTL)이 1일이라, 다음날 같은 토론 테이블로 다시 공유할 때 청중이 사회자보다 먼저 입장하면 대기 화면이 아닌 종료 화면이 표시됐다.작업
FINISHED_TTL을 1일 → 5분으로 단축FINISHED(종료 화면)CHAIRMAN_ABSENT(대기 화면)reopen으로 종료 상태가 즉시 해제되는 기존 동작은 유지CHAIRMAN_ABSENT수신 시 이미 대기 화면 처리)테스트
SharingRoomRegistryTest:removeExpired테스트가 시간 단위를 하드코딩해 5분 TTL에서 깨지므로 TTL 기준 분 단위로 재작성SharingServiceTest: 종료 유지 시간이 지난 룸에 사회자보다 먼저 입장하면CHAIRMAN_ABSENT를 받는 회귀 테스트 추가./gradlew test전체 통과참고 (후속 검토)
같은 테이블로 토론을 연달아 진행할 때, 종료 후 5분 이내 & 사회자가 공유 모달을 열기 전에 입장한 청중은 종료 화면을 본다.
종료 화면에는 소켓 연결이 없어 이후 공유가 시작돼도 자동 복귀하지 않으므로, 필요 시 FE에서 종료 화면에서도 룸 구독을 유지하는 방향으로 별도 대응한다.
Closes #272
🤖 Generated with Claude Code
Summary by CodeRabbit