From 29161f94a567e814e1be71b906fb10df5bdf2afe Mon Sep 17 00:00:00 2001 From: halang Date: Mon, 7 Nov 2022 17:21:18 +0900 Subject: [PATCH 1/4] Update README.md --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ba455914..7d736a02 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ npx cypress open - 현재 진행중인 모각코 방들을 메인화면에서 찾을 수 있어요 - 방에대한 정보(제목, 태그, 테마)등을 통하여 원하는 방에 입장 할 수 있어요 +- 초대하기 링크를 통해 입장하면 비밀번호가 있는 방에 바로 접속 가능해요 ### ⭐️ 모각코 방 생성 @@ -170,17 +171,28 @@ npx cypress open ### ⭐️ 친구 추가 - 모각코중에 마음에 드는 사람을 만났나요? 친구로 등록해보세요 -- 친구의 모각코 방을 따라갈 수도, 개인적인 연락을 할 수 도 있어요 +- 친구 신청, 친구 수락 및 거절, 친구 삭제 모두 가능해요! ### ⭐️ 화면 공유 - 어떤것을 코딩하는지 공유하고 싶다면, 화면을 공유해보세요 - 화면만으로 부족하다면, 음성을 키고 대화해보세요 -### ⭐️ 통계 +### ⭐️ 채팅 +- 모각코 방에서 여러 사람들과 채팅을 할 수 있어요 +- 친구들과 1:1 채팅 또한 가능해요! -- 얼마나 했는지 궁금하시다면, 통계 페이지를 참고하세요 -- 오늘, 이번주, 한달 등 다양한 통계 자료를 보여드려요 +### ⭐️ 유튜브 플레이리스트 듣기 +- 나만의 플레이리스트로 커스텀하여 친구들과 노래를 들을 수 있어요 +- 원하지 않는 노래는 삭제도 가능해요 + +### ⭐️ 프로필 설정 +- 나의 깃허브와 개인 페이지 혹은 블로그 링크를 등록할 수 있어요 +- 간단한 한줄 소개로 자신을 표현해봐요! + +### ⭐ 로비 입장 +- 현재 모도코에 있는 모든 사람들을 확인할 수 있어요 +- 전체 채팅을 통해 같이 모각코할 사람을 구해보세요! --- From 7534560a1645a09de7ee41bc3b3fa7bcb42776bf Mon Sep 17 00:00:00 2001 From: YeongGi Yoon Date: Wed, 9 Nov 2022 16:28:24 +0900 Subject: [PATCH 2/4] friendSocket bug fix --- src/adapters/friendSocket.ts | 2 +- src/hooks/useLogin.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/adapters/friendSocket.ts b/src/adapters/friendSocket.ts index 88f196d1..b96cfb7f 100644 --- a/src/adapters/friendSocket.ts +++ b/src/adapters/friendSocket.ts @@ -107,7 +107,7 @@ const recvDirectMessage = ( const myChatRoom = messages[targetUid]; // 채팅방에 메세지가 없었을 때 - if (myChatRoom.length === 0) { + if (!myChatRoom) { setMessages({ uid: targetUid, messages: [ diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts index c7f3cf88..adcd26e3 100644 --- a/src/hooks/useLogin.ts +++ b/src/hooks/useLogin.ts @@ -43,7 +43,6 @@ export default function useLogin() { getMe() .then((res) => { // reload to resolve socket bog - window.location.reload(); setNickname(res.data.nickname); setAvatar(res.data.avatar); setUid(res.data.uid); From 640c9d4baf5d45dd12f69caff75b8b4516b24e2b Mon Sep 17 00:00:00 2001 From: YeongGi Yoon Date: Wed, 9 Nov 2022 17:36:34 +0900 Subject: [PATCH 3/4] improve direct message - setMessage to [] when direct message doesn't exist --- src/adapters/friendSocket.ts | 10 ++++++++-- src/hooks/useLogin.ts | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/adapters/friendSocket.ts b/src/adapters/friendSocket.ts index b96cfb7f..cda9336c 100644 --- a/src/adapters/friendSocket.ts +++ b/src/adapters/friendSocket.ts @@ -34,7 +34,13 @@ const syncFriend = ( ) => { friendSocket.socket?.on('friend:sync-all', (data: directMessage[]) => { data.forEach((singleData) => { - if (singleData.messages.length === 0) return; + if (singleData.messages.length === 0) { + setMessage({ + uid: singleData.friend.uid, + messages: [], + }); + return; + } // 가장 최근에 온 순서로 정렬 const filteredMessage = singleData.messages ? singleData.messages.sort((a, b) => { @@ -107,7 +113,7 @@ const recvDirectMessage = ( const myChatRoom = messages[targetUid]; // 채팅방에 메세지가 없었을 때 - if (!myChatRoom) { + if (myChatRoom.length === 0) { setMessages({ uid: targetUid, messages: [ diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts index adcd26e3..5e4dad10 100644 --- a/src/hooks/useLogin.ts +++ b/src/hooks/useLogin.ts @@ -42,7 +42,6 @@ export default function useLogin() { localStorage.setItem('access_token', result.data.access_token); getMe() .then((res) => { - // reload to resolve socket bog setNickname(res.data.nickname); setAvatar(res.data.avatar); setUid(res.data.uid); From e84c54985f3a491df209ab97145a95c59fe74486 Mon Sep 17 00:00:00 2001 From: leeharyung Date: Wed, 9 Nov 2022 17:51:49 +0900 Subject: [PATCH 4/4] fix invite code --- src/components/room/InviteModal/Invite.tsx | 3 +-- src/pages/Invite.tsx | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/room/InviteModal/Invite.tsx b/src/components/room/InviteModal/Invite.tsx index ac8c3911..128ed026 100644 --- a/src/components/room/InviteModal/Invite.tsx +++ b/src/components/room/InviteModal/Invite.tsx @@ -19,9 +19,8 @@ export default function Invite() { } else { const password = localStorage.getItem(`${roomId}`); getInviteCode(parseInt(roomId, 10), password).then((res) => { - localStorage.setItem(`${roomId}`, res.data.password); setInviteCode( - `${process.env.REACT_APP_LAMBDA_INVITE}/${res.data.roomId}`, + `${process.env.REACT_APP_LAMBDA_INVITE}/${res.data.roomId}/${res.data.password}`, ); }); } diff --git a/src/pages/Invite.tsx b/src/pages/Invite.tsx index 3084475f..26779f9f 100644 --- a/src/pages/Invite.tsx +++ b/src/pages/Invite.tsx @@ -14,6 +14,10 @@ export default function Invite() { const { setLoginModal } = loginModalStore(); const token = localStorage.getItem('access_token'); + const urlSearch = new URLSearchParams(window.location.search); + const password = urlSearch.get('pw'); + if (password) localStorage.setItem(`${inviteId}`, password); + localStorage.setItem('inviteId', inviteId); const { isLoading, error, data } = useMe();