feat: 기존 알림함에 대댓글 좋아요 팔로우 알림 추가 - #748
Open
Whale0928 wants to merge 15 commits into
Open
Conversation
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.
대댓글 작성 시 직접 부모 댓글 작성자도 알림을 받고, 리뷰 좋아요와 새 팔로우가 기존
notifications알림함에 저장되도록 확장합니다. 댓글·좋아요는 한 번의 활동 이벤트를 History와 Notification이 각각 처리하며 기존 History 내용과 기록 조건을 유지합니다.(source_type, source_id, user_id)고유 키로 같은 원본의 동시 중복을 원자적으로 처리합니다. 중복 요청은 기존 본문·읽음 상태·감사 시각을 유지하며 수신자별 저장 실패를 격리합니다.OPEN_REVIEWv1 댓글 이동과OPEN_HELPv1을 유지하고, 리뷰 상세는OPEN_REVIEWv2, 팔로우 대상은OPEN_USERv1으로 반환합니다.관련 이슈: bottle-note/workspace#383, bottle-note/workspace#373
새 테이블, 푸시 발송 및 수신 설정 API, 베스트 리뷰 선정 변경은 포함하지 않습니다. CI workflow와 스키마는 기존 구성을 그대로 사용합니다. #383의 수신 설정·보관 정책·운영 규모 성능 검증은 후속 범위이므로 이슈를 닫지 않습니다. 기존 비동기 이벤트 경로의 프로세스 장애 시 유실 가능성과 재시도 부재는 남습니다. 같은 리뷰의 좋아요 요청은 직렬 처리되므로 인기 리뷰의 대규모 부하 성능은 별도 검증이 필요합니다.
검증은 commit·push 후 GitHub Actions에서만 수행했습니다. 전체 검증 및 최종 빌드가 성공했으며, XML 보고서 기준 1,783개 검사에서 실패·오류·건너뜀은 모두 0개입니다.
./gradlew unit_test: 946개../gradlew check_rule_test: 66개../gradlew integration_test: 385개(공유 모듈 16개, Product 369개)../gradlew admin_integration_test: 280개../gradlew build -x test --build-cache --parallel: 성공.최초 LIKE 요청 8건의 동시 실행과 후속 취소·재활성화, 과거 REPEATABLE_READ snapshot을 가진 요청의 경쟁을 추가 검증했습니다. 두 회귀 테스트의 성공을 원격 XML에서 확인했습니다. 기존 동일 원본 재전달·읽음 보존·원본 rollback·수신자 실패 격리·활동 History·Action JSON·OpenAPI 검사도 통과했습니다.
최종 HEAD
03956b133876db0c7afc6f6d56db6bf17b062892와 Actions 실행 SHA가 일치하며 모든 job이 성공했습니다. 로컬 Docker·Gradle·테스트·빌드는 실행하지 않았습니다.