Conversation
v0.3 요구사항 전부 패치 , 컴파일에러 수정
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 255e9e8771
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| private fun recordLoginAuditAsync(result: LoginResult, clientIp: String, userAgent: String?) { | ||
| CompletableFuture.runAsync { | ||
| try { |
There was a problem hiding this comment.
Write login audit in the request flow
Recording login audits via CompletableFuture.runAsync makes login/logout ordering nondeterministic: if a user logs out before the async task runs, markLogout updates zero rows (it only updates existing active rows), and the delayed recordLogin then persists the session as still active. This leaves stale active sessions in audit data and inflates admin access metrics for real users who log in and immediately log out.
Useful? React with 👍 / 👎.
| .firstOrNull() | ||
| ?: return null | ||
| if (latestSession.status != InterviewStatus.IN_PROGRESS) { | ||
| return null |
There was a problem hiding this comment.
Pick the latest in-progress mock session
This returns the most recently updated DOC/MIXED session regardless of status, then returns null if that one is not IN_PROGRESS. If a newer session was completed while an older one is still in progress (possible because new sessions are created without closing older ones), the resume endpoint incorrectly reports no resumable session and blocks users from continuing an active interview.
Useful? React with 👍 / 👎.
| .firstOrNull() | ||
| ?: return null | ||
| if (latestSession.status != InterviewStatus.IN_PROGRESS) { | ||
| return null |
There was a problem hiding this comment.
Pick the latest in-progress tech session
This has the same status-filtering bug as the mock-session resume path: it fetches the latest TECH/QUESTION_SET_PRACTICE session first and immediately returns null when that single row is not IN_PROGRESS. When a newer session is DONE but an older session is still active, users cannot resume the active one even though it exists.
Useful? React with 👍 / 👎.
|
Warning Gemini encountered an error creating the summary. You can try again by commenting |
📢 기능 설명
필요시 실행결과 스크린샷 첨부
연결된 issue
연결된 issue를 자동으로 닫기 위해 아래 {이슈넘버}를 입력해주세요.
close #{이슈넘버}
🩷 Approve 하기 전 확인해주세요!
✅ 체크리스트