Skip to content

[fix] 약속/주제 확정 관련 버그 수정 및 기능 연결#79

Merged
haruyam15 merged 3 commits intodevelopfrom
fix/meetings-confirm-78
Feb 16, 2026
Merged

[fix] 약속/주제 확정 관련 버그 수정 및 기능 연결#79
haruyam15 merged 3 commits intodevelopfrom
fix/meetings-confirm-78

Conversation

@haruyam15
Copy link
Contributor

@haruyam15 haruyam15 commented Feb 14, 2026

🚀 풀 리퀘스트 제안

📋 작업 내용

약속/주제 확정 흐름에서 발생하는 버그를 수정하고 누락된 기능을 연결합니다.

🔧 변경 사항

  • confirmedTopicExpand 필드명을 confirmedTopic으로 수정
  • 약속 승인 후 모임 약속 리스트 캐시 무효화 추가
  • 주제 확정 후 약속 상세 쿼리 캐시 무효화 추가
  • 약속 수정 완료 후 약속 상세 페이지로 이동하도록 수정
  • 약속 수정 버튼(CAN_EDIT) 클릭 시 수정 페이지로 이동 연결
  • 수정 모드에서 도서 선택 유효성 검사 예외 처리
  • 주제 확정 시 좋아요/삭제 버튼 비활성화 처리
  • 주제 확정 API 메서드 POST → PATCH로 수정

Summary by CodeRabbit

  • 새로운 기능

    • 모임 수정 네비게이션 추가 (모임 상세로 이동)
    • 모임 상세에 책 저자 정보 표시
  • 개선사항

    • 주제 확정 시 제안 목록의 좋아요/삭제 UI 비활성화
    • 모임 생성/수정 후 관련 데이터 캐시 동기화 범위 확대
    • 수정 모드에서 책 관련 입력을 선택 사항으로 완화
  • 기타

    • 주제 확정 API 호출 방식 및 오류 로깅 소소 개선

- confirmedTopicExpand 필드명을 confirmedTopic으로 수정
- 약속 승인 후 모임 약속 리스트 캐시 무효화 추가
- 주제 확정 후 약속 상세 쿼리 캐시 무효화 추가
- 약속 수정 완료 후 약속 상세 페이지로 이동하도록 수정
- 약속 수정 버튼(CAN_EDIT) 클릭 시 수정 페이지로 이동 연결
- 수정 모드에서 도서 선택 유효성 검사 예외 처리
- 주제 확정 시 좋아요/삭제 버튼 비활성화 처리
- 주제 확정 API 메서드 POST → PATCH로 수정
@haruyam15 haruyam15 self-assigned this Feb 14, 2026
@haruyam15 haruyam15 added the bug 버그 수정 label Feb 14, 2026
@haruyam15 haruyam15 linked an issue Feb 14, 2026 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Feb 14, 2026

Warning

Rate limit exceeded

@haruyam15 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 23 minutes and 39 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

이 변경사항은 회의/토픽 확인 흐름에서 gatheringId를 추가로 전달해 관련 캐시를 무효화하도록 하고, 토픽 확인 관련 API와 UI props를 정리(필드명 confirmedTopicExpandconfirmedTopic)하며, 미팅 생성/수정 폼 검증·네비게이션과 일부 UI 상태 제어를 조정합니다.

Changes

Cohort / File(s) Summary
Meeting Approval & Hook Updates
src/features/meetings/components/MeetingApprovalItem.tsx, src/features/meetings/hooks/useConfirmMeeting.ts
useConfirmMeeting 서명이 gatheringId: number을 받도록 변경하고, 승인 성공 시 gatheringQueryKeys.meetings(gatheringId) 캐시를 추가 무효화. 호출부에서 gatheringId 전달하도록 수정.
Meeting Detail Button & Navigation
src/features/meetings/components/MeetingDetailButton.tsx, src/pages/Meetings/MeetingDetailPage.tsx
MeetingDetailButtongatheringId prop 추가 및 CAN_EDIT 시 ROUTES.MEETING_UPDATE(gatheringId, meetingId)로 네비게이션 구현; 버튼 disabled 처리 로직 보강.
Meeting Detail & Edit Flow
src/features/meetings/components/MeetingDetailInfo.tsx, src/features/meetings/hooks/useMeetingForm.ts, src/pages/Meetings/MeetingCreatePage.tsx
도서 저자 표시 추가, 수정 모드일 땐 도서 관련 필드 검증을 요구하지 않도록 변경. 미팅 업데이트 후 리다이렉트 대상이 모임 상세 → 미팅 상세로 변경.
Type & Mock Normalization
src/features/meetings/meetings.types.ts, src/features/meetings/meetings.mock.ts
응답/목업 필드명 confirmedTopicExpandconfirmedTopic으로 정규화(타입·목업 데이터 일치).
Topic Confirmation & API
src/features/topics/hooks/useConfirmTopics.ts, src/features/topics/topics.api.ts, src/features/topics/components/ConfirmTopicModal.tsx
토픽 확인 시 meetingQueryKeys.detail(meetingId) 캐시 무효화 추가. API 호출을 POSTPATCH로 변경하고 피처플래그명 USE_MOCK_DATAUSE_MOCK로 조정. 에러 핸들러에 console.log 추가.
Topic UI & State Management
src/features/topics/components/ProposedTopicList.tsx, src/features/topics/components/TopicHeader.tsx, src/pages/Meetings/MeetingDetailPage.tsx
confirmedTopic: boolean prop 추가로, 확인된 토픽일 경우 좋아요·삭제 비활성화(및 like UI 비활성화). 제안 버튼은 항상 렌더하되 조건에 따라 disabled 처리. 디버그 로그 일부 추가.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • mgYang53
  • choiyoungae
🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경사항의 핵심을 정확히 반영하고 있습니다. 약속/주제 확정 관련 버그 수정 및 기능 연결이라는 주제는 실제 변경사항(캐시 무효화, 라우팅, 유효성 검사, UI 상태 처리 등)과 일치합니다.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into develop

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/meetings-confirm-78

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 and usage tips.

@haruyam15 haruyam15 changed the title [fix] 약속/주제 확정 관련 버그 수정 및 기능 연결 (#78) [fix] 약속/주제 확정 관련 버그 수정 및 기능 연결 Feb 14, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@src/features/topics/components/ConfirmTopicModal.tsx`:
- Line 76: In ConfirmTopicModal replace the leftover console.log(error) with
proper error handling: either remove the debug log, or call console.error(error)
(or the app's logger) and surface a user-friendly message/state; locate the
exact console.log(error) statement in the ConfirmTopicModal component and change
it to console.error(error) or integrate with the existing logging/helper used in
the component to avoid leaking debug info to production.

In `@src/features/topics/components/ProposedTopicList.tsx`:
- Around line 49-54: The current JSX in ProposedTopicList.tsx forces isLiked to
false when confirmedTopic is true (isLiked={confirmedTopic ? false :
topic.isLiked}), causing already-liked items to appear unliked; keep the real
like state and only disable interactions by leaving isLiked set to topic.isLiked
and keep isLikeDisabled={confirmedTopic} (or explicitly set
isLiked={topic.isLiked}) so the visual like state matches topic.isLiked while
clicks are blocked when confirmedTopic is true; if the original behavior was
intentional, add a comment or feature flag around the isLiked override for
clarity.

In `@src/features/topics/components/TopicHeader.tsx`:
- Line 31: Remove the leftover debugging console.log from the TopicHeader render
path: delete the line logging props.confirmedTopic and props.confirmedTopicDate
inside the TopicHeader component (the console.log(props.confirmedTopic,
props.confirmedTopicDate) statement) so it no longer runs on every render; if
runtime inspection is still needed, move logging behind a dev-only guard or into
an effect (e.g., useEffect) rather than leaving a direct console.log in the
component body.
🧹 Nitpick comments (1)
src/features/topics/topics.api.ts (1)

240-242: POST → PATCH 변경 확인 완료.

의미적으로 적절합니다. 다만 topics.endpoints.ts Line 19의 주석이 아직 // 주제 확정 (POST ...) 로 되어 있을 수 있으니 함께 수정하면 좋겠습니다.

#!/bin/bash
# endpoints 파일에서 CONFIRM 관련 주석 확인
rg -n 'CONFIRM' --type=ts -C2 -g '*endpoints*'

@haruyam15 haruyam15 merged commit 1fff012 into develop Feb 16, 2026
2 checks passed
@haruyam15 haruyam15 deleted the fix/meetings-confirm-78 branch February 16, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 버그 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] 약속/주제 확정 관련 버그 수정 및 기능 연결

3 participants