release: 최고 레벨(미션 없음) 응답 및 주간 회고 현황 반영#279
Conversation
- CurrentMissionResponse.mission 을 nullable 로 변경해 최고 레벨에서 미션 없이 응답 - 최고 레벨 분기에서도 이번 주 회고 현황(weeklyStatus) 계산해 반환 - confirmLevelUp: 진행 중 미션이 없을 때 최근 미션으로 폴백 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 428dcf1afb
ℹ️ 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".
| val missionLevel = userLevel.currentLevel + 1 | ||
| val mission = missionRepository.findByLevel(missionLevel) | ||
|
|
||
| if (mission == null) { |
There was a problem hiding this comment.
Gate no-mission responses to max level
This branch treats every missing Mission definition as the terminal-level state. Because levels 1–10 are the configured progression and currentLevel + 1 can be any of those levels, a missing seed/deploy row for e.g. Lv3 now returns 200 with mission: null and weekly status for a Lv2 user instead of surfacing MissionDefinitionNotFoundException, making users look maxed out and hiding the data/configuration error. Please only take this path when the user is actually at the cap (or compare against the max mission level) and keep throwing for lower levels.
Useful? React with 👍 / 👎.
| currentLevel = userLevel.currentLevel, | ||
| mission = null, | ||
| weeklyStatus = buildWeeklyStatusForUser(userId), | ||
| popup = lastMission?.let { getPopupStatus(it) } ?: PopupStatus(exists = false, type = null), |
There was a problem hiding this comment.
Create a popup state for the final level-up
For a user who completed Lv10 after already confirming the popup on the Lv10 mission, this reuses that completed mission's existing levelUpPopupShown=true, so the max-level response never exposes a LEVEL_UP popup for reaching level 10. Earlier level-ups work because awardNextLevel creates a new mission with levelUpPopupShown=false; at the cap no next mission is created, so the final level-up needs its own persisted/derived popup state before getPopupStatus can report it.
Useful? React with 👍 / 👎.
개요
develop의 변경사항을 main(운영)에 반영합니다.
주요 변경
확인
🤖 Generated with Claude Code