Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix]: qa 반영 #96

Merged
merged 10 commits into from
Aug 11, 2024
Merged

[Fix]: qa 반영 #96

merged 10 commits into from
Aug 11, 2024

Conversation

SeieunYoo
Copy link
Contributor

🎉 변경 사항

  1. 준회원 이후 개인정보 수정 페이지 접근 못하도록 가드 컴포넌트 생성하기
  2. 디스코드 별명 설정하고 다음으로 클릭 시 초기 1회 작동하지 않음 + 에러 시 토스트 안뜸
  3. 합류 확인 후 넘어갈 수 있음 버튼 UX

🚩 관련 이슈

🙏 여기는 꼭 봐주세요!

  • 디스코드 400에러 핸들링
    -> 지금 실시간으로 글자를 입력할 때 유효성을 검증 + 중복 체크가 아니라 버튼을 클릭했을 때 검증 하도록 되어 있어서 버튼을 disabled 처리해버리면 클릭을 할 수 없어서 검증을 할 수 없게 됩니다,, 우선 400 에러 뜨는 부분(2번 이슈랑 연결) 은 해결되었어용
  • 로그인 로직이 바뀌면서(서버단에서 gdschongik.com 에 쿠키 주입) 로컬에서 개발할 때 하드코딩된 토큰을 넣을 수 없고 반드시 프록시를 설정해야 하는 거 같더라구용,,?! 윈도우에서는 프록시 바꾸는 ophiuchi 앱이 지원되지 않아 잘 동작하는 지 확인할 수 없었습니덩,,, dev 에 배포되고 확인해야 될 거 같아욥 다른 분덜 로컬에서 잘 동작하는지 확인해주심 감사하겠습니다 ㅜ_ㅜ

@SeieunYoo SeieunYoo self-assigned this Aug 9, 2024
@SeieunYoo SeieunYoo changed the title fix: qa 반영 [Fix]: qa 반영 Aug 9, 2024
@eugene028
Copy link
Contributor

헉 맞네요.. 이번에 서버에서 직접 쿠키 심어주는걸로 바뀌어서 도메인이 무조건 .gdschongik.com 이어야지만 테스트가 잘 될 것임미당...cry...

@eugene028
Copy link
Contributor

eugene028 commented Aug 9, 2024

  1. Bevy 가드가 없어서 추가했습니다!
  2. 가드가 children을 반환해야 해서, element에 있는 요소들을 지우고, 실제 컴포넌트를 children으로 감쌀 수 있도록 개선했습니다!
  3. 디스코드 닉네임을 검사해야하는데, username으로 오타있는 부분들 지웠습니다!
  4. 디스코드 합류 여부 확인할때 '조금만 기다려주세요'만 보여서, 상태관리 조금 손봤습니다!
    206c1f6

Copy link
Member

@hamo-o hamo-o left a comment

Choose a reason for hiding this comment

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

수고하셨어요!! 이슈 해결 확인했습니다 🙂

src/components/discordConnect/JoinServer.tsx Outdated Show resolved Hide resolved
Comment on lines 18 to 44
// 초기에 5초 후에 isEnabled를 true로 설정
useEffect(() => {
const timer = setTimeout(() => {
setCallQuery(true);
}, FETCH_INTERVAL);

return () => clearTimeout(timer);
}, []);

const { data, refetch } = useGetDiscordJoined(
getValues('discordUsername'),
callQuery
);

// data가 변경될 때마다 refetch를 호출하여 최신 상태를 가져옴
useEffect(() => {
if (callQuery) {
refetch();
}
}, [callQuery, refetch]);

// data가 변경될 때마다 버튼 상태를 업데이트
useEffect(() => {
if (data) {
if (data.isJoined) setCallQuery(false); // 합류가 확인되면 더 이상 fetch하지 않음
}
}, [data]);
Copy link
Member

Choose a reason for hiding this comment

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

image

p4;
useQuery쪽에서 설정하신 refetchInterval 옵션만으로 5초마다 폴링을 해볼 수 있을 것 같아요. 해당 로직이 꼭 필요한 이유가 있을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

// data가 변경될 때마다 refetch를 호출하여 최신 상태를 가져옴
  useEffect(() => {
    if (callQuery) {
      refetch();
    }
  }, [callQuery, refetch]);

저도 이 부분은 refetchInterval 을 통해서 5초마다 refetch 될 거라고 생각했는데 확인하셨을 때 잘 동작하지 않았던 걸까용?! @eugene028

Copy link
Contributor

Choose a reason for hiding this comment

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

앗 제가 이거저거 테스트해보면서 별다른 고려없이 refetch 넣었던 것 같아요~ 요거 수정해두겠습니다

@SeieunYoo SeieunYoo merged commit 89722f7 into dev Aug 11, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants