Skip to content

[Fix] #73 룸메이트 매칭/채팅 흐름 개선 및 채팅방 자동 생성 처리 - #74

Merged
nabbang6 merged 6 commits into
developfrom
fix/#73-룸메이트-매칭-시-채팅방-생성되게-수정
May 28, 2026

Hidden character warning

The head ref may contain hidden characters: "fix/#73-\ub8f8\uba54\uc774\ud2b8-\ub9e4\uce6d-\uc2dc-\ucc44\ud305\ubc29-\uc0dd\uc131\ub418\uac8c-\uc218\uc815"
Merged

nabbang6 merged 6 commits into
developfrom
fix/#73-룸메이트-매칭-시-채팅방-생성되게-수정

Conversation

@nabbang6

@nabbang6 nabbang6 commented May 28, 2026

Copy link
Copy Markdown
Collaborator

🗒️ PR 타입

  • 기능 추가
  • 기능 삭제
  • 버그 수정
  • 코드 리팩토링
  • 문서 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트

🔗 관련 이슈


📌 작업사항

채팅방 생성 로직 연결

  • MatchActionBar 내부에서 직접 createChatRoom 호출 및 채팅방으로 이동 처리 (onChatConfirm prop 제거)
  • MatchingReportPage("매칭하기" 버튼) 및 PostMatchingReportPagecreateChatRoom 연결
  • MatchingReportContenttargetUserId / targetUsername / targetProfileImage props 추가
  • 매칭 리포트 이동 시 navigation state로 target 유저 정보 전달 (PostDetailBottomBar, RoommateListContent, RoommateProfileContent)

채팅 UI 개선

  • ChatMatchCard를 모집글 채팅(recruitTitle 존재 시)에만 노출
  • 채팅 목록 로딩 중 텍스트 → ChatListItemSkeleton 5개로 교체
  • 채팅 상세 chatDetail 미수신 시 null 반환 → 헤더·메시지·입력바 스켈레톤으로 교체

프로필 사진 클릭 이동

  • PostDetailInfoCard 작성자 아바타 클릭 → /roommate/:authorId 이동
  • RoommateListonProfileClick prop 추가, 아바타 클릭과 행 클릭 이벤트 분리(stopPropagation)
  • PostDetailRoommatesCard / RoommateListContent 아바타 클릭 → /roommate/:userId 이동

📸 스크린샷

2026-05-29.025420.mp4

📣 기타사항 및 코멘트

스켈레톤 UI도 겸사겸사 적용해주다보니 또 파일 변경 수가... 저렇게 되엇는데...
스켈레톤 관련 변경사항은 제외하고 봐주셔도 괜찮습니당 b


✅ 체크리스트

  • 로컬에서 빌드 및 테스트 완료
  • Label 지정 완료
  • 리뷰어 지정 완료
  • 코드 리뷰 반영 완료

Summary by CodeRabbit

릴리스 노트

  • New Features

    • 프로필 사진을 클릭하여 사용자 프로필 페이지로 바로 이동 가능
    • 채팅 및 매칭 페이지 로딩 시 스켈레톤 UI 표시로 로딩 상태 시각화
  • Improvements

    • 매칭 과정에서 사용자 정보 전달 개선
    • 채팅 생성 및 매칭 확인 기능 최적화

Review Change Stack

nabbang6 added 5 commits May 29, 2026 02:16
- ChatListItemSkeleton 컴포넌트 추가 및 배럴 export
- ChatListPage: isPending 시 로딩 텍스트 → ChatListItemSkeleton 5개
- ChatDetailPage: chatDetail 없을 때 null 반환 → 헤더·메시지·입력바 스켈레톤
- PostDetailInfoCard: onAuthorClick prop 추가, 아바타를 버튼으로 감싸 클릭 가능하게 처리
- PostDetailContent: 작성자 아바타 클릭 → /roommate/:authorId 이동
- RoommateList: onProfileClick prop 추가, 아바타 클릭 시 행 이벤트와 분리(stopPropagation)
- PostDetailRoommatesCard: 아바타 클릭 → /roommate/:userId, 행 클릭은 기존 룸메이트 목록 페이지 유지
- RoommateListContent: 아바타 클릭 → /roommate/:userId, 행 클릭은 기존 체크리스트 선택 유지
@nabbang6
nabbang6 requested a review from hdg0116 May 28, 2026 18:00
@nabbang6 nabbang6 self-assigned this May 28, 2026
@nabbang6 nabbang6 added the 🐞 Fix 버그 해결 label May 28, 2026
@vercel

vercel Bot commented May 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bangjjack-frontend-dev Ready Ready Preview, Comment May 28, 2026 6:25pm

@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nabbang6, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 34 minutes and 31 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5911651f-ff89-41a5-af39-056bd2a67de9

📥 Commits

Reviewing files that changed from the base of the PR and between 1e76f7a and 3c22f5f.

📒 Files selected for processing (4)
  • src/features/board/components/roommate/MatchActionBar.tsx
  • src/features/board/components/roommate/RoommateListContent.tsx
  • src/features/roommate/components/MatchingReportContent.tsx
  • src/features/roommate/components/RoommateProfileContent.tsx

워크스루

이 PR은 매칭 확정 시 자동으로 1:1 채팅방을 생성하고 이를 위해 채팅 관련 책임을 컴포넌트 간 재분배합니다. 프로필 클릭 네비게이션을 추가하고, 로딩 상태에 스켈레톤 UI를 적용하여 사용자 경험을 개선합니다.

변경사항

매칭 및 채팅 통합 흐름

Layer / File(s) Summary
프로필 네비게이션 확장
src/features/board/components/post/PostDetailContent.tsx, src/features/board/components/post/PostDetailInfoCard.tsx, src/features/board/components/post/PostDetailRoommatesCard.tsx, src/features/board/components/roommate/RoommateList.tsx
게시글 상세와 룸메이트 목록에서 작성자/룸메이트 프로필 클릭 시 /roommate/{id} 경로로 네비게이션하도록 onAuthorClick, onProfileClick 핸들러를 추가하고 아바타를 버튼으로 감쌉니다.
MatchActionBar 채팅방 생성 이전
src/features/board/components/roommate/MatchActionBar.tsx, src/features/board/components/post/PostDetailBottomBar.tsx
MatchActionBar에서 useCreateChatRoom 훅을 사용해 내부적으로 채팅방을 생성하도록 변경하고, 외부 onChatConfirm 콜백을 제거합니다. PostDetailBottomBar에서 채팅 관련 로직을 제거하고 매칭 리포트로 이동 시 state에 target 정보를 포함합니다.
RoommateList 프로필 클릭 분리
src/features/board/components/roommate/RoommateList.tsx, src/features/board/components/roommate/RoommateListContent.tsx
RoommateList에 onProfileClick prop을 추가하여 프로필 클릭과 멤버 선택을 분리하고, 각각 프로필 네비게이션과 선택 상태 업데이트로 처리합니다. MatchActionBar에 target 정보를 전달합니다.
MatchingReportContent 매칭 확정
src/features/roommate/components/MatchingReportContent.tsx
"매칭하기" 버튼 클릭 시 useCreateChatRoom으로 채팅방을 생성하고, 성공 시 ChatDetail을 구성해 /chat/:roomId로 이동하도록 구현합니다. 생성 중일 때 버튼을 비활성화하고 실패 시 토스트 에러를 표시합니다.
라우팅 상태 전달
src/pages/MatchingReportPage.tsx, src/pages/PostMatchingReportPage.tsx
useLocation을 사용해 이전 페이지에서 전달한 target 정보(targetUserId, targetUsername, targetProfileImage)를 읽어 MatchingReportContent로 전달합니다.
로딩 UI 및 스켈레톤 추가
src/features/chat/components/chat-list/ChatListItem.tsx, src/features/chat/components/index.ts, src/features/chat/index.ts, src/pages/chat/ChatListPage.tsx, src/pages/chat/ChatDetailPage.tsx, src/features/chat/sections/chat-detail/ChatMessageListSection.tsx, src/features/chat/components/chat-detail/ChatRoommateRejectMessage.tsx, src/features/roommate/components/MismatchedItemsCard.tsx, src/features/roommate/components/RoommateProfileContent.tsx
Chat 관련 페이지에서 로딩 상태를 스켈레톤 UI로 표시하고 (ChatListItemSkeleton 추가), 채팅 거절 메시지 아이콘을 개선하며, 채팅 매칭 카드를 recruitTitle 존재 시에만 렌더링합니다.

🎯 4 (Complex) | ⏱️ ~45 minutes

관련 PRs

  • Bangjjack/Bangjjack-Frontend#55: useCreateChatRoom 훅과 채팅방 생성 API를 추가했으며, 본 PR에서 이 훅을 MatchActionBar와 MatchingReportContent에서 사용합니다.
  • Bangjjack/Bangjjack-Frontend#64: MatchActionBar의 dialogTarget 기반 매칭/채팅 분기 로직을 직접 수정하는 PR입니다.
  • Bangjjack/Bangjjack-Frontend#50: PostDetailBottomBar의 북마크 및 매칭 버튼 구성을 수정했으며, 본 PR에서 이를 기반으로 채팅 로직을 제거합니다.

제안 레이블

✨ Feature

제안 검수자

  • hdg0116
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed 제목은 주요 변경 사항인 룸메이트 매칭/채팅 흐름 개선 및 채팅방 자동 생성을 명확하게 요약하고 있습니다.
Linked Issues check ✅ Passed 모든 코드 변경사항이 이슈 #73의 목표인 '룸메이트 매칭 시 1:1 채팅방 생성 및 채팅방 페이지 리다이렉트'를 충족합니다.
Out of Scope Changes check ✅ Passed 채팅 UI 개선(스켈레톤, ChatMatchCard 조건 렌더링) 및 프로필 사진 클릭 이동 기능이 추가되었으나, 이는 모두 매칭/채팅 흐름 개선의 범위 내에 있습니다.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#73-룸메이트-매칭-시-채팅방-생성되게-수정

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.

@github-actions

Copy link
Copy Markdown

✅ CI 검증 결과

TypeScript: 통과
ESLint: 통과
Prettier: 통과
Build: 통과

🎉 모든 검증을 통과했습니다.

@hdg0116 hdg0116 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

악 너무 수고하셨습니다ㅠㅠ 제 부분까지 작업해주셔서... 항상 너무 감사해요😭 저도 빠르게 수정해서 작업 마무리하겠습니다ㅠㅠ 바로 머지하셔도 될 것 같아요!!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/features/board/components/roommate/RoommateList.tsx (1)

35-54: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

중첩된 <button> 구조를 분리해주세요.

src/features/board/components/roommate/RoommateList.tsx에서 행 클릭용 <button>(onMemberClick) 안에 아바타용 또 다른 <button>(onProfileClick)이 중첩되어 있어 invalid HTML/접근성(키보드 포커스·클릭 동작) 문제가 생길 수 있습니다. stopPropagation()만으로는 해결되지 않으니, 바깥 래퍼를 div/li 등으로 바꾸고 “행 선택”과 “아바타 클릭”을 형제 요소로 분리해주세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/features/board/components/roommate/RoommateList.tsx` around lines 35 -
54, The outer clickable row in RoommateList.tsx currently uses a <button> that
wraps another <button> (ProfileAvatar), causing invalid HTML and accessibility
issues; change the outer element (the one using onMemberClick and isSelected)
from a <button> to a non-interactive container (e.g., <div> or <li> with
appropriate role/aria-selected) so the inner avatar can remain a clickable
<button> that calls onProfileClick; ensure the outer container's onClick still
calls onMemberClick, update className usage (cn and isSelected) to preserve
visual styles, and if needed add role="button" and tabIndex={0} plus keyboard
handlers to the outer container to maintain keyboard accessibility.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/features/board/components/roommate/RoommateListContent.tsx`:
- Around line 134-145: The current code passes targetUserId={effectiveUserId ??
0} and allows onMatchConfirm to navigate even when effectiveUserId is null;
change the guard in RoommateListContent so that if effectiveUserId is falsy you
either (a) do not render MatchActionBar (or MatchActionBarContainer) or (b)
render it with a disabledMessage prop and disabled state, and ensure
onMatchConfirm does nothing when effectiveUserId is null; specifically update
the usage sites of effectiveUserId, onMatchConfirm, targetUserId, targetUsername
and targetProfileImage to avoid sending 0/empty values and only call
navigate(`/posts/${postId}/matching-report`, { state: { targetUserId:
effectiveUserId, ... } }) when effectiveUserId is present.

In `@src/features/chat/components/chat-list/ChatListItem.tsx`:
- Around line 72-73: In ChatListItem (the Skeleton usages), replace the
arbitrary height utilities `h-[18px]` and `h-[14px]` with the project's
design-token Tailwind height classes (e.g., the h- tokens defined in
src/index.css) so the Skeleton components use token-based heights; update the
two Skeleton className strings (`"h-[18px] w-24"` and `"mt-100 h-[14px] w-36"`)
to use the corresponding token classes (and remove the arbitrary bracketed
values and the incorrect `mt-100` if it’s also non-token) so they conform to the
design token rule.

In `@src/features/roommate/components/MatchingReportContent.tsx`:
- Around line 16-29: MatchingReportContent stopped using roommateId so flows
that pass only roommateId leave targetUserId undefined and disable the match
button; restore using roommateId as a fallback wherever targetUserId is used. In
MatchingReportContent (props and places referencing
targetUserId/targetUsername/targetProfileImage and functions like
handleMatchClick and the match button disabled check), use targetUserId ??
roommateId (and similarly fallback for username/profile image if needed) when
computing the target user id/props and when deciding button disabled state so
the roommate-profile-only flow works again.

In `@src/features/roommate/components/MismatchedItemsCard.tsx`:
- Line 19: In MismatchedItemsCard.tsx the DeleteIcon is using an arbitrary
Tailwind class `size-[16px]`; replace that arbitrary value with the project’s
design-token class defined in src/index.css (the same token used for other icons
in the repo) — update the DeleteIcon’s className to use the corresponding token
(e.g., the project’s standard icon size token) instead of `size-[16px]` so it
conforms to the token-based Tailwind rules.

In `@src/features/roommate/components/RoommateProfileContent.tsx`:
- Around line 125-135: The routing state and props for the matching/chat target
currently only use userProfile and can be undefined at load; update the
onMatchConfirm navigate state and the props targetUsername and
targetProfileImage to fall back to profile values (e.g., use
userProfile?.username ?? profile?.username and userProfile?.profileImage ??
profile?.profileImage) so targetUsername/targetProfileImage and state always
have a value; keep targetUserId as before (roommateId ?? 0) and apply these
fallbacks in the component where onMatchConfirm, targetUserId, targetUsername,
and targetProfileImage are set.

---

Outside diff comments:
In `@src/features/board/components/roommate/RoommateList.tsx`:
- Around line 35-54: The outer clickable row in RoommateList.tsx currently uses
a <button> that wraps another <button> (ProfileAvatar), causing invalid HTML and
accessibility issues; change the outer element (the one using onMemberClick and
isSelected) from a <button> to a non-interactive container (e.g., <div> or <li>
with appropriate role/aria-selected) so the inner avatar can remain a clickable
<button> that calls onProfileClick; ensure the outer container's onClick still
calls onMemberClick, update className usage (cn and isSelected) to preserve
visual styles, and if needed add role="button" and tabIndex={0} plus keyboard
handlers to the outer container to maintain keyboard accessibility.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 94473b98-7dea-4556-a990-1d7358d6e5a5

📥 Commits

Reviewing files that changed from the base of the PR and between e84c460 and 1e76f7a.

⛔ Files ignored due to path filters (1)
  • src/assets/icons/ic-delete.svg is excluded by !**/*.svg
📒 Files selected for processing (19)
  • src/features/board/components/post/PostDetailBottomBar.tsx
  • src/features/board/components/post/PostDetailContent.tsx
  • src/features/board/components/post/PostDetailInfoCard.tsx
  • src/features/board/components/post/PostDetailRoommatesCard.tsx
  • src/features/board/components/roommate/MatchActionBar.tsx
  • src/features/board/components/roommate/RoommateList.tsx
  • src/features/board/components/roommate/RoommateListContent.tsx
  • src/features/chat/components/chat-detail/ChatRoommateRejectMessage.tsx
  • src/features/chat/components/chat-list/ChatListItem.tsx
  • src/features/chat/components/index.ts
  • src/features/chat/index.ts
  • src/features/chat/sections/chat-detail/ChatMessageListSection.tsx
  • src/features/roommate/components/MatchingReportContent.tsx
  • src/features/roommate/components/MismatchedItemsCard.tsx
  • src/features/roommate/components/RoommateProfileContent.tsx
  • src/pages/MatchingReportPage.tsx
  • src/pages/PostMatchingReportPage.tsx
  • src/pages/chat/ChatDetailPage.tsx
  • src/pages/chat/ChatListPage.tsx

Comment thread src/features/board/components/roommate/RoommateListContent.tsx
Comment on lines +72 to +73
<Skeleton className="h-[18px] w-24" />
<Skeleton className="mt-100 h-[14px] w-36" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

스켈레톤 높이에 임의값([]) 사용은 디자인 토큰 규칙 위반입니다.

h-[18px], h-[14px] 대신 토큰 기반 높이 유틸리티로 바꿔 주세요.

수정 예시
-              <Skeleton className="h-[18px] w-24" />
-              <Skeleton className="mt-100 h-[14px] w-36" />
+              <Skeleton className="h-4 w-24" />
+              <Skeleton className="mt-100 h-3.5 w-36" />

As per coding guidelines **/*.tsx: Use Tailwind CSS with design tokens from src/index.css and avoid arbitrary values.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<Skeleton className="h-[18px] w-24" />
<Skeleton className="mt-100 h-[14px] w-36" />
<Skeleton className="h-4 w-24" />
<Skeleton className="mt-100 h-3.5 w-36" />
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/features/chat/components/chat-list/ChatListItem.tsx` around lines 72 -
73, In ChatListItem (the Skeleton usages), replace the arbitrary height
utilities `h-[18px]` and `h-[14px]` with the project's design-token Tailwind
height classes (e.g., the h- tokens defined in src/index.css) so the Skeleton
components use token-based heights; update the two Skeleton className strings
(`"h-[18px] w-24"` and `"mt-100 h-[14px] w-36"`) to use the corresponding token
classes (and remove the arbitrary bracketed values and the incorrect `mt-100` if
it’s also non-token) so they conform to the design token rule.

Comment thread src/features/roommate/components/MatchingReportContent.tsx
<Card className="gap-300 rounded-medium border-0 bg-bg-secondary px-400 py-450 shadow-none">
<div className="flex items-center gap-[6px]">
<DeleteIcon aria-hidden="true" className="size-[16px]" />
<DeleteIcon aria-hidden="true" className="size-[16px] text-state-error-2" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

아이콘 크기 클래스의 임의값(size-[16px])을 토큰 기반으로 교체해 주세요.

변경 라인에 포함된 임의값은 디자인 토큰 규칙과 충돌합니다.

수정 예시
-        <DeleteIcon aria-hidden="true" className="size-[16px] text-state-error-2" />
+        <DeleteIcon aria-hidden="true" className="size-4 text-state-error-2" />

As per coding guidelines **/*.tsx: Use Tailwind CSS with design tokens from src/index.css and avoid arbitrary values.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<DeleteIcon aria-hidden="true" className="size-[16px] text-state-error-2" />
<DeleteIcon aria-hidden="true" className="size-4 text-state-error-2" />
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/features/roommate/components/MismatchedItemsCard.tsx` at line 19, In
MismatchedItemsCard.tsx the DeleteIcon is using an arbitrary Tailwind class
`size-[16px]`; replace that arbitrary value with the project’s design-token
class defined in src/index.css (the same token used for other icons in the repo)
— update the DeleteIcon’s className to use the corresponding token (e.g., the
project’s standard icon size token) instead of `size-[16px]` so it conforms to
the token-based Tailwind rules.

Comment thread src/features/roommate/components/RoommateProfileContent.tsx Outdated
@github-actions

Copy link
Copy Markdown

✅ CI 검증 결과

TypeScript: 통과
ESLint: 통과
Prettier: 통과
Build: 통과

🎉 모든 검증을 통과했습니다.

@nabbang6
nabbang6 merged commit 1f940b4 into develop May 28, 2026
4 checks passed
@nabbang6
nabbang6 deleted the fix/#73-룸메이트-매칭-시-채팅방-생성되게-수정 branch June 2, 2026 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐞 Fix 버그 해결

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] #73 룸메이트 매칭 시 1:1 채팅방이 생성되도록 수정

2 participants