Skip to content

fix: 팀원 모집 마감 시 채팅방 읽기 전용 전환 제거 - #2421

Merged
dnjswldnd-3513 merged 4 commits into
developfrom
fix/2420-team-recruitment-chat-read-only
Sep 9, 2026
Merged

fix: 팀원 모집 마감 시 채팅방 읽기 전용 전환 제거#2421
dnjswldnd-3513 merged 4 commits into
developfrom
fix/2420-team-recruitment-chat-read-only

Conversation

@dnjswldnd-3513

@dnjswldnd-3513 dnjswldnd-3513 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

🔍 개요

팀원 모집이 마감(마감일 경과, 수동 마감, 모집글 삭제)될 때 채팅방이 READ_ONLY로 전환되어
메시지 전송 시 409 TEAM_RECRUITMENT_CHAT_READ_ONLY 에러가 발생하는 문제를 수정합니다.
기획에 없던 동작으로, 채팅방은 마감 이후에도 ACTIVE 상태를 유지해야 합니다.


🚀 주요 변경 내용

  • TeamRecruitmentClosureService: onClosed(), onDeleted()에서 markRoomsReadOnly() 호출 제거
  • TeamRecruitmentDeadlineCloseProcessor: closeIfExpired()에서 markRoomsReadOnly() 호출 제거
  • TeamRecruitmentChatRoom: markReadOnly() Dead Code 제거
  • 관련 테스트 4개 파일 어서션 READ_ONLY → ACTIVE로 수정

💬 참고 사항

  • 정원 마감(onCapacityFull) 시에는 기존부터 채팅방 ACTIVE 유지로 설계되어 있었음
  • 디자인/PM 확인 완료 — 기획에 없던 동작이었음

✅ Checklist (완료 조건)

  • 코드 스타일 가이드 준수
  • 테스트 코드 포함됨
  • Reviewers / Assignees / Labels 지정 완료
  • 보안 및 민감 정보 검증 (API 키, 환경 변수, 개인정보 등)

Summary by CodeRabbit

  • Behavior Changes
    • Chat rooms remain active when a recruitment is closed, deleted, or reaches its deadline.
    • Existing direct chat rooms continue to support requests and retrieval after the associated recruitment is deleted.
  • Bug Fixes
    • Removed automatic transitions of recruitment chat rooms to read-only status during closure workflows.

@github-actions github-actions Bot added the 버그 정상적으로 동작하지 않는 문제상황입니다. label Sep 9, 2026
@dnjswldnd-3513
dnjswldnd-3513 requested review from insik03 and taejinn and removed request for JanooGwan and kih1015 September 9, 2026 07:49
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 31 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: ed01b711-9a2b-4fd5-9226-24ca9103d9a7

📥 Commits

Reviewing files that changed from the base of the PR and between c3a242d and 3e97e28.

📒 Files selected for processing (3)
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentApplicationFlowApiTest.java
  • src/test/java/in/koreatech/koin/unit/domain/team/recruitment/model/TeamRecruitmentDirectChatPolicyTest.java
  • src/test/java/in/koreatech/koin/unit/domain/team/recruitment/scheduler/TeamRecruitmentDeadlineCloseProcessorTest.java

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: d68f8d7a-205f-4827-86c8-a80f2df31a8c

📥 Commits

Reviewing files that changed from the base of the PR and between 68a8c3d and c3a242d.

📒 Files selected for processing (7)
  • src/main/java/in/koreatech/koin/domain/team/recruitment/model/TeamRecruitmentChatRoom.java
  • src/main/java/in/koreatech/koin/domain/team/recruitment/scheduler/TeamRecruitmentDeadlineCloseProcessor.java
  • src/main/java/in/koreatech/koin/domain/team/recruitment/service/TeamRecruitmentClosureService.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentApplicationFlowApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentArticleFlowApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentDeadlineCloseIntegrationTest.java
  • src/test/java/in/koreatech/koin/unit/domain/team/recruitment/scheduler/TeamRecruitmentDeadlineCloseProcessorTest.java
💤 Files with no reviewable changes (2)
  • src/main/java/in/koreatech/koin/domain/team/recruitment/scheduler/TeamRecruitmentDeadlineCloseProcessor.java
  • src/main/java/in/koreatech/koin/domain/team/recruitment/model/TeamRecruitmentChatRoom.java

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Recruitment deadline, manual closure, and deletion flows no longer change chat rooms to READ_ONLY. The markReadOnly() API and related helpers were removed. Tests now verify that chat rooms remain ACTIVE.

Changes

Recruitment chat status

Layer / File(s) Summary
Remove read-only transitions
src/main/java/in/koreatech/koin/domain/team/recruitment/model/TeamRecruitmentChatRoom.java, src/main/java/in/koreatech/koin/domain/team/recruitment/{scheduler,service}/*
Removed markReadOnly() and the closure logic that changed active chat rooms to READ_ONLY.
Validate retained ACTIVE status
src/test/java/in/koreatech/koin/acceptance/domain/*, src/test/java/in/koreatech/koin/unit/domain/team/recruitment/scheduler/*
Updated tests to expect ACTIVE chat rooms and no chat-room saves during closure.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to c3a24

Recruitment chat rooms remain active after closure, deletion, and deadline expiry, allowing continued messaging as intended. The relevant behavior and API responses are covered with updated tests, with no active merge-blocking risk identified.

Suggested reviewers: taejinn, insik03

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes satisfy issue #2420. They remove markRoomsReadOnly() for deadline expiry, manual closure, and recruitment deletion, remove the unused markReadOnly() method, and update tests to verify that…
Out of Scope Changes check ✅ Passed All production and test changes support issue #2420. No unrelated code changes are present.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: removing the transition of team recruitment chat rooms to read-only when recruitment closes. It is concise and consistent with the pull request objectives.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/2420-team-recruitment-chat-read-only

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Unit Test Results

1 149 tests   1 146 ✔️  2m 39s ⏱️
   258 suites         3 💤
   258 files           0

Results for commit 3e97e28.

♻️ This comment has been updated with latest results.

@dnjswldnd-3513
dnjswldnd-3513 merged commit 3d14db3 into develop Sep 9, 2026
6 checks passed
@dnjswldnd-3513
dnjswldnd-3513 deleted the fix/2420-team-recruitment-chat-read-only branch September 9, 2026 08:26
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.

[버그] 팀원 모집 마감 시 채팅방 읽기 전용 전환

3 participants