MSG-581 fix: [모바일] 광역 줌에서 테마 칩 미션 목록 0개 — 요청 bbox를 중심 0.5°로 클램프 - #149
Merged
Conversation
…5°로 클램프 활성 미션 조회가 뷰포트 한 변 0.5° 초과에서 enabled=false였고, MSG-579가 비활성 placeholder를 비우면서 최대 줌아웃에서 목록·경로선이 사라지고 집계 마커(16)와 시트(0)가 갈렸다(세 칩 공통). mission-query-args가 viewportQueryArgs 대신 clampBoundsToSpan(bounds, 0.5°)로 잘라 요청한다 (집계 조회 선례). viewportQueryArgs·canQueryGrids는 /api/grids·/api/hotzones 공유라 무수정. 테스트: L1 클램프 케이스 신설, MSG-579 "0.5° 초과 → undefined"는 "bounds null → undefined"로 치환. 실기: 두 번째 AVD + Metro 8083, 최대 줌아웃 경로추천 4개·팝업 16/16·지역축제 1/1, logcat 에러 0. Claude-Session: https://claude.ai/code/session_01GykigrEHEJm4Ss4jc4QJQR
|
Claude finished @s13121312's task in 2m 17s —— View job 🔍 코드 리뷰 완료 ✅작업 목록
결론: 지적 사항 없음. 기존 |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
🔍 코드 리뷰 요약 (MSG-581)결론: 지적 사항 없음 — 인라인 코멘트 0건. 검토 범위
잘한 점
확인했지만 문제 없다고 판단한 부분
확실하지 않은 부분: 없음 — 변경 범위가 작고(순수 함수 1개 + 테스트) 기존 검증된 패턴을 그대로 재사용해 리스크가 낮다고 판단했습니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎫 관련 티켓
📌 작업 내용
최대 줌아웃에서 경로추천 경로선이 사라지고, 팝업스토어·지역축제는 집계 마커에 16이 찍히는데 시트는 "없어요"로 0개가 뜨는 문제입니다(사용자 QA 3건). 세 칩이 같은 미션 조회를 쓰므로 원인과 수정이 하나입니다.
원인은 미션 조회가 지도 bbox1 한 변 0.5°를 넘으면
enabled=false로 닫히는 것입니다. MSG-579 전에는 직전 데이터가 남아 가려졌고, MSG-579가 비활성 쿼리의 placeholder2를 비우면서 목록이 빈 배열이 됐습니다. 경로선은 목록에서 파생되므로 함께 사라지고, 집계 마커는 별도 조회가 bbox를 잘라 보내기 때문에 살아 있어 수가 갈렸습니다. 웹은 칩을 켜면 1km 줌으로 고정해 이 경계에 닿지 않는, 앱 전용 결함입니다.수정은 집계 조회가 이미 쓰는 클램프3를 미션 조회에도 적용한 것입니다.
model/mission-query-args.ts:viewportQueryArgs대신clampBoundsToSpan(bounds, 0.5°)로 중심 기준 0.5°×0.5°를 잘라 요청하고, 게이트는 칩·bounds null만 봅니다model/mission-query-args.test.ts: 1° 뷰포트가 중심 0.5°로 잘리는 케이스 추가api/active-missions-query.test.ts: MSG-579의 "0.5° 초과면 비움"을 "넓은 bbox 같은 칩이면 유지" + "bounds null이면 비움"으로 치환docs/spec/MSG-581.md· STATUS 2행 · DECISIONS 1행viewportQueryArgs·canQueryGrids는/api/grids·/api/hotzones가 공유하므로 건드리지 않았습니다. 웹·packages·네이티브 0줄.✅ 체크리스트
pnpm lint/pnpm typecheck/pnpm --filter mobile test run통과🔍 검증 요약
pnpm --filter mobile test runpnpm typecheck/pnpm lint/pnpm format:checkpnpm check:duplicationapps/mobile/src/features/map-home/3파일 + docs. web·packages·native 0실기: 두 번째 AVD(
FillMap_Pixel8_verify) + 워크트리 Metro 8083(런북 1-D), 번들 grep으로 이 브랜치 코드 실행 확인. iOS 미실행(환경).📸 스크린샷 (선택)
S3(광안리 줌인 해파랑길 1코스 + 경로선) 원본 포함 4장은
_workspace/MSG-581/screenshots/(gitignore).💡 추가 논의할 사항
https://claude.ai/code/session_01GykigrEHEJm4Ss4jc4QJQR
Footnotes
bbox: 지도에 보이는 영역의 남서·북동 좌표 사각형입니다. 서버는 한 변 0.5°(약 55km)를 넘는 요청을 거부합니다. ↩
placeholder: TanStack Query가 새 응답을 기다리는 동안 대신 보여 주는 값입니다. MSG-579에서 "같은 칩이고 활성일 때만 직전 목록"으로 좁혔습니다. ↩
클램프: 요청 영역이 상한보다 크면 중심을 기준으로 상한 크기만큼만 잘라 보내는 처리입니다. 집계 마커 조회(
grid-aggregation-query.ts)가 이미 같은 방식을 씁니다. ↩