Repository navigation
[FEAT] 라이브 공유 기록 · 어드민 통계 · 종료 디스코드 알림 - #277
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (45)
✨ Finishing Touches📝 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 Results188 files 188 suites 57s ⏱️ Results for commit 78b6274. |
📝 Test Coverage Report
|
coli-geonwoo
commented
Oct 6, 2026
| return LocalDateTime.ofInstant(instant, clock.getZone()); | ||
| } | ||
|
|
||
| private record ActiveSharing( |
Contributor
Author
There was a problem hiding this comment.
이너 레코드 쓰지 않는 것 AGents.md에 넣어두기
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚩 연관 이슈
closed #276
배경
라이브 공유(사회자 → 청중 STOMP 동기화)가 하루에 얼마나 쓰이는지, 한 번에 몇 분 정도 이어지는지 알 수 없었다.
공유 한 번을 DB 한 행으로 기록하고, 어드민 페이지에서 일별 통계를 보고, 공유가 끝나면 디스코드로 알림을 받는다.
작업
1. 공유 기록 (
sharing_log, V17)table_id,member_id,started_at,ended_at,audience_count,status(SHARING / FINISHED / ABANDONED)audience_count를 원자적으로 +1 한다(재접속도 함께 셈)2. FINISHED 없이 사회자 연결이 끊긴 경우
ChairmanSessionRegistry.release가 해제한 룸을Optional<Long>으로 돌려준다3. 공유 종료 디스코드 알림
@Async+@TransactionalEventListener(AFTER_COMMIT)로 보낸다discord.sharingChannelId채널로 보낸다applicationTaskExecutor구성이 꺼지기 때문이다4. 어드민 통계
GET /api/admin/sharing/stats?from=&to=:X-Admin-Password헤더 검증(고정 시간 비교), 최대 366일/admin.html: 비밀번호 입력 → 기간 선택 → Chart.js 막대그래프 2개(일별 횟수, 일별 평균 시간)와 기간 요약배포 전 설정 (dev / prod secret)
값이 비어 있으면 서버가 뜨지 않는다.
테스트
SharingLogServiceTest,SharingLogEntityTest,SharingStatsServiceTest,AdminSharingControllerTest,AdminAuthorizerTest,AdminPropertiesTest,SharingFinishedListenerTest,SharingFinishedMessageTest,DiscordSharingNotifierTest,SharingServiceTest/ChairmanSessionRegistryTest보강./gradlew test508개 통과, Flyway V17 검증(DatabaseSchemaManagerTest) 포함sharing-dev채널에 알림이 오는 것까지 확인🗣️ 리뷰 요구사항 (선택)
🤖 Generated with Claude Code
Summary by CodeRabbit