[WEB-USER]: 명함 QR용 앱 다운로드 진입점(/app) 추가 - #165
Merged
Merged
Conversation
명함 등 인쇄물에 스토어 URL을 직접 넣으면 스토어 구성이 바뀔 때 대응할 수 없어 (현재 App Store만 입점, Play Store는 예정) 항상 /app을 QR로 넣고 서버가 UA로 분기합니다. - iOS → App Store, Android → Play Store(미입점 시 /app/android 안내), 그 외 → 홈 - Play Store 입점 시 app-download.constants.ts의 링크만 채우면 QR·명함은 그대로 사용 - 목적지를 영구 캐시하지 않도록 302 + no-store (301이면 입점 후에도 옛 대상으로 감) - Android 안내 페이지는 자동 이동 없이 버튼 방식 — 앱이 아직 없다는 사실 자체가 전달돼야 함 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ScM4roFnvWcR1hmDuw7Zi
`test-backend`는 브랜치 보호의 필수 체크인데 트리거에 `paths:` 필터가 걸려 있어, 백엔드를 건드리지 않은 PR에서는 워크플로우가 아예 뜨지 않았습니다. 필수 체크는 해당 체크가 성공을 보고할 때까지 기다리므로, 보고 자체가 없으면 PR이 `Expected — Waiting for status to be reported` 상태로 영구히 머지 불가가 됩니다. 규칙 설정 이후 첫 웹 전용 PR(#165)에서 실제로 발생했습니다. 트리거는 항상 걸고 백엔드 변경 여부는 job 안에서 판단해 각 단계를 건너뜁니다. - 웹 전용 PR: 체크아웃 + 판단만 하고 종료, 체크는 성공 → 머지 가능 - 백엔드 PR: 기존과 동일하게 테스트 전체 실행, 실패 시 머지 차단 CI 시간을 아끼려는 원래 의도와 머지 게이트가 모두 유지됩니다. `paths:`를 다시 넣으면 같은 문제가 재발하므로 워크플로우 주석에 경고를 남겼습니다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ScM4roFnvWcR1hmDuw7Zi
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.
배경
명함에 넣을 앱 다운로드 QR이 필요한데, 현재 App Store만 입점하고 Play Store는 미입점 상태입니다.
QR에 App Store URL을 직접 넣으면 Play Store 입점 후 대응할 수 없습니다 — 명함은 회수가 불가능합니다.
변경
QR에는 항상
https://picakes.com/app만 넣고, 목적지는 서버가 User-Agent로 판단합니다./app/android안내 페이지)Play Store 입점 시
app-download.constants.ts의 링크 한 줄만 채우면 되고, QR과 명함은 그대로 사용합니다.구현 메모
Cache-Control: no-store— 301은 브라우저가 목적지를 영구 캐시해서, 입점 후에도 예전에 QR을 찍은 사람은 계속 App Store로 갑니다. 인쇄물 QR에서는 치명적이라 임시 리다이렉트로 고정했습니다.PLAY_STORE_URL로도 덮어쓸 수 있습니다.검증
staging(
web-user/staging-v0.0.228) 배포 후 실제 응답 확인:302 https://apps.apple.com/kr/app/picake/id6787681984302 https://staging.picakes.com/app/android302 https://staging.picakes.com//app/android→200Play Store 입점 후 시나리오(링크 주입 시 Android만 스토어로 전환, iOS·PC 불변)도 로컬 프로덕션 빌드로 확인했습니다.
알려진 제약
iPadOS 13+ Safari는 자신을 Mac으로 보고해 PC로 분류됩니다(홈으로 이동). 명함 QR을 아이패드로 찍는 경우는 드물어 그대로 뒀습니다.
🤖 Generated with Claude Code
https://claude.ai/code/session_016ScM4roFnvWcR1hmDuw7Zi