Skip to content

Comments

Feat(landing): add landing vercel.json for mobile domain branch processing#240

Merged
constantly-dev merged 1 commit intodevelopfrom
feat/#239/landing-vercel-domain-setting
Jan 8, 2026
Merged

Feat(landing): add landing vercel.json for mobile domain branch processing#240
constantly-dev merged 1 commit intodevelopfrom
feat/#239/landing-vercel-domain-setting

Conversation

@constantly-dev
Copy link
Member

@constantly-dev constantly-dev commented Jan 8, 2026

📌 Related Issues

관련된 Issue를 태그해주세요. (e.g. - close #25)

📄 Tasks

landing vercel.json 추가

⭐ PR Point (To Reviewer)

같은 https://landing.pinback.today/를 들어가도

위와 같이 분기처리 하였습니다.

Summary by CodeRabbit

신규 기능

  • 모바일 기기(Android, iPhone, iPad, iPod) 사용자가 앱에 접속할 때 모바일 최적화 버전의 랜딩 페이지로 자동 리다이렉트됩니다.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
pinback-client-client Ready Ready Preview, Comment Jan 8, 2026 0:50am
pinback-client-landing Ready Ready Preview, Comment Jan 8, 2026 0:50am

@github-actions github-actions bot added the feat 기능 개발하라 개발 달려라 달려 label Jan 8, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 8, 2026

안내

새로운 Vercel 설정 파일이 모바일 기기 사용자를 위한 리다이렉트 규칙을 정의하여 추가되었습니다. User-Agent 헤더를 기반으로 Android/iPhone/iPad/iPod 기기에서의 접근을 감지하면, 별도의 모바일 랜딩 도메인으로 임시 리다이렉트합니다.

변경 사항

응집단 / 파일 변경 요약
Vercel 설정
apps/landing/vercel.json
User-Agent 기반 모바일 기기 감지 리다이렉트 규칙 추가. Android/iPhone/iPad/iPod 사용자를 https://pinback-landing-m.framer.website로 임시 리다이렉트 (상태 코드 307).

코드 리뷰 예상 소요 시간

🎯 1 (Trivial) | ⏱️ ~5분

📱 모바일 친구들을 위해,
별도의 길을 마련했네요,
User-Agent로 쏙 감지하고,
맞춤 도메인으로 슝~ 이동!
작지만 알찬 설정 파일,
사용자 경험을 한 단계 ⬆️
토끼가 박수를 보냅니다! 🐰

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive PR은 #239 이슈의 요구사항을 충족합니다. vercel.json 파일을 추가하여 모바일 User-Agent 감지 시 Framer 배포 주소로 리다이렉트하는 기능을 구현했습니다. 하지만 #25 이슈(Progress 컴포넌트)는 이 PR과 무관합니다. #25 이슈는 이 PR의 목표와 관련이 없으므로 연결 이유를 확인하세요. #239에 대한 요구사항은 충족됩니다.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 변경 사항의 주요 내용을 명확하게 반영하고 있습니다. 'landing vercel.json을 추가하여 모바일 도메인 분기 처리'라는 핵심 변경 사항을 정확히 설명합니다.
Description check ✅ Passed PR 설명이 필수 섹션을 모두 포함하고 있습니다. 관련 이슈(#239), 작업 내용, 리뷰어를 위한 추가 정보가 충분히 작성되어 있습니다.
Out of Scope Changes check ✅ Passed 모든 변경 사항이 #239 이슈의 범위 내에 있습니다. apps/landing/vercel.json 파일 추가만 포함되어 있으며, 이는 모바일 도메인 분기 처리라는 명확한 목표에 부합합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2d76b0c and b43b2cb.

📒 Files selected for processing (1)
  • apps/landing/vercel.json
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: constantly-dev
Repo: Pinback-Team/pinback-client PR: 2
File: pnpm-workspace.yaml:3-3
Timestamp: 2025-08-18T13:48:59.065Z
Learning: constantly-dev는 docs 디렉터리를 컨벤션 문서 추가용으로 사용할 예정이라고 명시했습니다.
Learnt from: constantly-dev
Repo: Pinback-Team/pinback-client PR: 5
File: apps/extension/src/index.css:1-1
Timestamp: 2025-08-19T17:18:57.678Z
Learning: constantly-dev는 디자인 시스템 설정 PR 머지 후 `import 'pinback/tailwind-config/shared-styles.css';`를 `app.css`나 `index.css`에서 사용하여 공유 스타일을 관리할 계획입니다.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: storybook
🔇 Additional comments (5)
apps/landing/vercel.json (5)

4-4: 루트 경로만 리다이렉트됩니다 - 서브 경로 처리를 고려하세요.

현재 설정은 / 경로에만 적용됩니다. 모바일 사용자가 /about, /features 등의 서브 경로로 직접 접근하는 경우 리다이렉트가 작동하지 않습니다.

의도한 동작이 맞는지 확인이 필요합니다. 모든 경로를 리다이렉트하려면 다음과 같이 수정을 고려하세요:

🔄 모든 경로에 리다이렉트 적용하는 제안
-      "source": "/",
+      "source": "/:path*",

그리고 destination도 경로를 보존하도록 수정:

-      "destination": "https://pinback-landing-m.framer.website",
+      "destination": "https://pinback-landing-m.framer.website/:path*",

단, Framer 배포가 동일한 경로 구조를 지원하는지 먼저 확인해야 합니다.


5-11: User-Agent 기반 탐지의 한계를 인지하세요.

User-Agent 헤더 기반 모바일 탐지는 다음과 같은 한계가 있습니다:

  • 사용자가 User-Agent를 변조할 수 있음
  • 일부 모바일 브라우저는 데스크톱 모드로 요청할 수 있음
  • 새로운 디바이스나 브라우저는 패턴에 매칭되지 않을 수 있음

별도의 모바일 배포를 위한 접근 방식이 타당하지만, 장기적으로는 반응형 디자인도 고려할 가치가 있습니다.


13-13: 임시 리다이렉트 설정이 적절합니다.

permanent: false (307 리다이렉트) 사용은 다음 이유로 올바른 선택입니다:

  • 향후 모바일 배포 URL이 변경될 수 있음
  • 디바이스 조건에 따른 동적 리다이렉트에 적합
  • 브라우저가 리다이렉트를 캐싱하지 않아 유연성 제공

9-9: Vercel 리다이렉트 구성에서는 정규식 플래그를 지원하지 않습니다.

현재 패턴은 Vercel의 문서화된 정규식 구문을 올바르게 따릅니다. Vercel 리다이렉트의 has.value 필드는 정규식 같은 문자열을 지원하지만, (?i) 같은 정규식 플래그는 공식적으로 지원되지 않습니다.

User-Agent 헤더의 표준 대소문자는 일관되어 있으므로(예: "Android", "iPhone"), 현재 패턴으로 충분합니다. 대소문자 무시 매칭이 필수라면 Vercel Middleware(Edge)에서 처리하는 것이 공식 권장 방식입니다.


1-16: Vercel 설정 구조가 올바르게 구성되었습니다.

JSON 구조가 유효하며, User-Agent 정규식 패턴이 정상 작동하고 Android, iPhone, iPad, iPod 디바이스를 올바르게 감지합니다. Vercel 리다이렉트 설정 스키마도 준수하고 있습니다.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

✅ Storybook chromatic 배포 확인:
🐿️ storybook

@constantly-dev constantly-dev merged commit 9682f51 into develop Jan 8, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 기능 개발하라 개발 달려라 달려

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] landing mobile case domain 분기 처리 vercel.json 추가

2 participants