Conversation
이슈 #216 반영. myWishlistedStores 카드의 imageUrls가 매장 대표 이미지(StoreImage)를 쓰고 있어 인기 매장 카드(PopularStore.cakeImageUrls, 상품 대표 이미지)와 소스가 달랐다 — 같은 매장이 화면마다 다른 이미지로 보이고, 매장 대표 이미지 미등록 시 카드가 비는 문제. 변경점: - StoreRepository.findStoreCakeImages에 limit 파라미터 추가(기본값 기존 4장 유지) - StoreWishlistService: StoreImage 대신 findStoreCakeImages(3장) 재사용, 평점 집계와 Promise.all 병렬화 - StoreWishlistRepository: 목록 select에서 store_images 제거 - SDL imageUrls 설명 갱신 회귀 테스트 2건 교체: 최신 상품 3장 우선·이미지 없는 매장 빈 배열 / 삭제 이미지·비활성 상품 제외. Closes #216 Claude-Session: https://claude.ai/code/session_01KfiGgWooJdsa4iPQPmqvBj
fix(store): 찜한 매장 카드 이미지를 상품 대표 이미지로 통일
|
Warning Review limit reachedNext included review available in 26 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
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. Comment |
🧹 knip — dead-code 리포트전체 리포트
|
🩺 NestJS Doctor — 89/100 (Good)진단 283건 (error 0).
architecture / security 상위 항목
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8a2dcf648e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| this.storeRepo.findStoreCakeImages( | ||
| storeIds, | ||
| WISHLISTED_STORE_IMAGE_LIMIT, | ||
| ), |
There was a problem hiding this comment.
Batch image queries for wishlist pages
When a caller requests the allowed 50-item wishlist page, this call passes all 50 IDs to findStoreCakeImages, whose storeIds.map executes a separate product.findMany for every store. The endpoint therefore adds up to 50 concurrent product queries per request, whereas the previous nested relation selection could batch image loading; under concurrent traffic this increases database load and can cause connection-pool waits or timeouts. Fetch and group the product images in a bounded number of queries instead.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
미반영(기존 결정 유지): findStoreCakeImages의 매장당 병렬 조회는 popularStores·todayPickupStores가 이미 운영 중인 의도된 트레이드오프(전체 상품 materialize 대신 take 제한, 레포 주석 참조). 병렬도는 페이지 상한(50)으로 바운드되고 Prisma 커넥션 풀 큐잉으로 흡수됨. 트래픽 증가로 실측 문제가 생기면 윈도우 함수 기반 배치 조회로 세 호출부를 한꺼번에 최적화하는 편이 맞다고 판단.
Coverage report
Test suite run success1636 tests passing in 190 suites. Report generated by 🧪jest coverage report action from 8a2dcf6 |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
chore: 릴리즈 — 찜한 매장 카드 이미지 상품 이미지로 통일
배경
이슈 #216 후속 릴리즈입니다.
포함 PR
myWishlistedStores.imageUrls를 StoreImage에서 인기 매장 카드와 동일한 상품 대표 이미지 소스(findStoreCakeImages, 3장 제한)로 전환.검증
yarn validate통과 (190 suites / 1,636 tests), 필수 체크 전부 pass 후 develop 머지.