Conversation
Walkthrough
Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Assessment against linked issues
Poem
Note 🔌 MCP (Model Context Protocol) integration is now available in Early Access!Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context. ✨ Finishing Touches
🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
cs25-service/src/main/java/com/example/cs25service/domain/ai/service/AiFeedbackStreamProcessor.java (1)
142-150: SSE 에러 처리 단일화 제안: 중복 completeWithError 방지현재
send()에서completeWithError(e)호출 후RuntimeException을 재던지며, 업스트림에서도doOnError(emitter::completeWithError)가 있어 이중 완료 시도가 발생할 수 있습니다. 에러 스톰/로그 폭증을 방지하고 도메인 예외로 일관성 있게 처리하는 편이 안전합니다.권장:
send()에서는 Emitter 완료를 직접 하지 말고, 도메인 예외만 던지도록 정규화하세요. 업스트림에서 단일 지점으로 완료 처리되게 합니다.private void send(SseEmitter emitter, String data) { try { emitter.send(SseEmitter.event().data(data)); } catch (IOException e) { log.error("SSE send error: {}", e.getMessage(), e); - emitter.completeWithError(e); - throw new RuntimeException(e); + // 업스트림 doOnError / 외부 try-catch에서 단일 지점으로 완료 처리 + throw new AiException(AiExceptionCode.INTERNAL_SERVER_ERROR); } }보안 관점(DoS 완화)에서도 이중 완료/중복 로그를 줄이는 방향이 유리합니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
cs25-service/src/main/java/com/example/cs25service/domain/ai/service/AiFeedbackStreamProcessor.java(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: crocusia
PR: NBC-finalProject/CS25-BE#342
File: cs25-service/src/main/java/com/example/cs25service/domain/security/common/XssRequestWrapper.java:106-123
Timestamp: 2025-08-06T05:31:32.282Z
Learning: crocusia는 보안 문제, 특히 DoS 공격 방지에 대해 매우 강한 우선순위를 두고 있으며, 보안 취약점에 대해서는 "절대 막아"라는 표현을 사용할 정도로 강조한다.
🔇 Additional comments (1)
cs25-service/src/main/java/com/example/cs25service/domain/ai/service/AiFeedbackStreamProcessor.java (1)
7-8: 필수 예외 import 추가 검증 완료
AiException.java와AiExceptionCode.java가com.example.cs25service.domain.ai.exception패키지에 올바르게 선언되어 있으며, 변경된 import 경로와 완전히 일치합니다. 더 이상의 조치가 필요 없습니다.
🔎 작업 내용
close #355
Summary by CodeRabbit
해당 변경사항은 사용자에게 영향을 미치는 기능 변경이 없습니다.