## 배경 ### 파싱 뒤 같은 상품으로 밝혀진 카드를 서버가 합침 - 서로 다른 링크가 파싱 뒤 같은 상품으로 확정되는 경우 - 그 상품을 이미 가진 카드가 남고 방금 확정된 카드는 삭제 | 범위 | 남는 카드 | 알림 | | --- | --- | --- | | 위시 | 같은 사용자 안의 기존 위시 | 요청자에게 `ITEM_PARSING_MERGED` | | 토너먼트 후보 | 같은 토너먼트 안의 기존 후보 | 요청자에게 `ITEM_PARSING_MERGED` · 참여자 전원에게 SSE `TOURNAMENT_ITEM_MERGED` | - 삭제된 토너먼트 후보 id 로 조회하면 404 - 삭제된 위시는 목록에서 사라짐 ### 알림·SSE 계약 변경 | 대상 | 이전 | 이후 | | --- | --- | --- | | `ITEM_PARSING_MERGED` 알림 | 없음 | 이동 좌표는 남는 카드 | | `ITEM_PARSING_FAILED` 의 `refId` | 상품 id | 요청한 카드 id (위시 id 또는 토너먼트 후보 id) | | `ITEM_REFRESH_FAILED` 의 `refId` | 상품 id | 위시 id | | SSE `TOURNAMENT_ITEM_MERGED` | 없음 | `tournamentId` · `tournamentItemId` · `mergedIntoTournamentItemId` | | SSE `TOURNAMENT_ITEM_PARSED` 의 `status` | `READY` · `FAILED` | `READY` · `INCOMPLETE` · `FAILED` | - 위시 카드의 파싱 결과와 합침은 SSE 갱신 신호 없이 알림으로만 옴 ## 인수 조건 - `ITEM_PARSING_MERGED` 알림을 누르면 남는 카드 화면으로 이동 - 토너먼트 대기실이 `TOURNAMENT_ITEM_MERGED` 를 받으면 사라진 후보를 지우고 남는 후보를 다시 읽음 - `TOURNAMENT_ITEM_PARSED` 의 `INCOMPLETE` 가 대기실 카드에 반영됨 - 합쳐져 사라진 위시·토너먼트 후보 화면에 머물러 있어도 404 에서 목록으로 빠져나옴 - 알림 목록에서 `ITEM_PARSING_FAILED` · `ITEM_REFRESH_FAILED` 가 카드 화면으로 이동 ## 참고 - 알림 라우팅은 이미 `kind` · `wishId` · `tournamentItemId` 를 우선 쓰므로 `refId` 의미 변경 영향은 그 값이 없는 경우로 한정 - 등록 순간 같은 상품임을 아는 경우는 지금처럼 409 로 거절 ## 연관 이슈 - TeamPiKi/core#1245
Activity