TIL(Today I Learned)/스파르타 내배캠 최종프로젝트

[TIL] 24/02/06 [최종] D-1 알람 invalidation Queries 이슈 수정

개발자먼지 2024. 2. 6. 01:06
반응형

내일 제출이라고~!?!

납기일이라고!!!


1. 알람 데이터 읽음 처리 시 바로 안되는 이슈 (invaildation Queries 바로 안될때 있음) 수정
- 개별삭제 시 간헐적으로 안됨/ 전체 삭체시 100% 안됨

문제였던 부분 :
1) 알람 온 게시물로 routing 을 하고, invalidationQueries를 해준 것 

(이미 화면이 이동된 후라 제대로 동작 안한듯)

  • 공식문서의 내용 확인 : Mutations | TanStack Query Docs
  • Please keep in mind that those additional callbacks won't run if your component unmounts before the mutation finishes.

 


2) 알람 전체 삭제 시 안되었던 부분 : 바보같은 실수 !!!
throw Error 를 if 안쪽에 넣지않아서; mutation의 onSuccess 안불린것 


수정 Commit : 
https://github.com/jjuhee/nbcamp_final/pull/177/commits/e96b2fa12f2d869ca3d3dc5482d8453023d507b7

 

2. 댓글 하나만 오는 것 수정

- type이 "invitation"일때만 project_id, receiver_id ... 등이 똑같은 row 는 중복이 안되게 쿼리 수정 (초대 알림은 한번만 보낸다)

- 댓글 대댓글 등 기타 기능은 여러번 알람 가능

기존 쿼리

ALTER TABLE notifications ADD CONSTRAINT unique_invitation UNIQUE (project_id, receiver_id, type, sender_nickname);

 

드랍하고 

ALTER TABLE public.notifications DROP CONSTRAINT unique_invitation;

 

아래 적용

CREATE UNIQUE INDEX unique_invitation
ON public.notifications (project_id, receiver_id, sender_nickname)
WHERE type = 'invitation';


이상, SQL 문은 우리 전공이 아니므로 gpt 기계친구의 도움을 받음.

 


프로젝트 진행 상황

✓ 오늘 Main 배포 12-14차 반영사항 

할 일

- 각 담당 페이지 CSS 최종 디자인 맞게 수정

- 반응형 (2차에 넣을 거지만 할 수 있는 사람은 적용~)

- 잔 이슈 수정.. ㅠ

 

오늘 발견 남은 이슈 

- 수정페이지 수정하고 다시 수정시 방금 수정한 버전으로 다시 안가져옴 -> refetch 필요

- 처음 가입 후 프로필 수정 안됨 (이것도 쿼리 ..이슈인지 모르겠음)

 

잔잔바리

- 태그 떼고 보여주는 거 적용 ( 메인 페이지 / 프로필 페이지 ) 


내 진행 상황 

오늘 한일

1. 댓글 하나만 오는 것 수정

2. 알람 데이터 바로 안없어지는 이슈 수정

3. 카테고리 코드 리팩토링

4. 드롭다운 CSS

5. 내 댓글, 대댓글은 알람 안오게 수정

반응형