Skip to content

[DEPLOY] production-release(v.0.3.x)#378

Merged
taerimiiii merged 1 commit into
mainfrom
develop
Jun 18, 2026
Merged

[DEPLOY] production-release(v.0.3.x)#378
taerimiiii merged 1 commit into
mainfrom
develop

Conversation

@taerimiiii

@taerimiiii taerimiiii commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

🔗 Related Issue

  • resolve #이슈번호

✨ 작업 개요

작업 내용을 간략하게 작성해주세요.

체크리스트

  • Reviewers, Assignees, Labels를 모두 등록했나요?
  • .gitignore 설정을 하였나요?
  • PR 머지 전 반드시 CI가 정상적으로 작동하는지 확인해주세요!

📷 이미지 첨부 (선택)

  • 작업 결과를 확인할 수 있는 이미지나 GIF를 첨부해주세요.
  • UI 변경, API 응답 샘플, 테스트 결과 등이 포함되면 좋아요!

🧐 집중 리뷰 요청

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요.

@taerimiiii taerimiiii added the 🚀 deploy 배포 label Jun 18, 2026
@taerimiiii taerimiiii merged commit 0f181de into main Jun 18, 2026
2 checks passed

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces state transition helper methods to IssuePin and integrates them into ProblemSolverCommandServiceImpl to transition issue pins to 'in progress' or 'resolved' states. The review feedback highlights a missing state check to prevent participation in already resolved issues and suggests improving the ordering of state updates relative to database persistence operations.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

throw ProblemSolverException.of(IssueErrorCode.GO_NOW_400_1);
}

issuePin.markInProgressIfBeforeProgress();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

issuePin.getIssuePinState() == IssuePinState.RESOLVED state check is missing. imagine an issue that is already resolved, new solvers should not be allowed to participate. import and add a check before proceeding.

also, markInProgressIfBeforeProgress() should be called before saveAndFlush to keep the state consistent.

        if (issuePin.getIssuePinState() == issueissyu.backend.domain.issue.enums.IssuePinState.RESOLVED) {
            throw ProblemSolverException.of(IssueErrorCode.GO_NOW_400_1);
        }
        issuePin.markInProgressIfBeforeProgress();

solver.markResolved();
problemSolverRepository.save(solver);

solver.getIssuePin().markResolvedIfInProgress();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

calling markResolvedIfInProgress() after saving the solver is a bit inconsistent. since the method is @transactional, dirty checking will save it, but it is better to modify all states before calling save, or even better, remove the explicit save call and rely on dirty checking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant