Skip to content

fix: refresh api 호출 안하는 이슈 수정#2194

Merged
ljh0608 merged 10 commits intodevelopfrom
feat/#2193
Feb 13, 2026
Merged

fix: refresh api 호출 안하는 이슈 수정#2194
ljh0608 merged 10 commits intodevelopfrom
feat/#2193

Conversation

@ljh0608
Copy link
Contributor

@ljh0608 ljh0608 commented Feb 13, 2026

🤫 쉿, 나한테만 말해줘요. 이슈넘버

  • close #

🧐 어떤 것을 변경했어요~?

🤔 그렇다면, 어떻게 구현했어요~?

❤️‍🔥 당신이 생각하는 PR포인트, 내겐 매력포인트.

📸 스크린샷, 없으면 이것 참,, 섭섭한데요?

@ljh0608 ljh0608 requested review from imddoy and seong-hui February 13, 2026 08:32
@ljh0608 ljh0608 self-assigned this Feb 13, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 13, 2026

Summary by CodeRabbit

  • 새로운 기능

    • iOS 및 Android 앱 딥링킹 지원 추가로 앱에서 콘텐츠로 직접 이동 가능
  • 개선

    • 배포 프로세스 최적화
    • 앱 링크 경로에 대한 인증 처리 개선

Walkthrough

앱 딥링크 지원을 위해 .well-known 엔드포인트에서 Apple App Site Association 및 assetlinks.json을 제공하는 서버리스 함수를 추가하고, API 인증 바이패스 가드를 추가하며, 배포 패키징 워크플로우를 개선했습니다.

Changes

Cohort / File(s) Summary
배포 워크플로우 개선
.github/workflows/build.yml
배포 패키지 준비 단계를 추가하여 빌드 출력을 deploy/ 디렉토리로 복사하고, 아티팩트 업로드 대상을 변경했습니다.
Apple App Site Association 서버리스 함수
functions/.well-known/apple-app-site-association.ts
APPLE_APP_SITE_ASSOCIATION JSON을 응답하는 PagesFunction 타입의 onRequest 함수를 추가했습니다.
assetlinks JSON 서버리스 함수
functions/.well-known/assetlinks.json.ts
Android 앱 관계 설정을 담은 assetlinks JSON을 응답하는 PagesFunction 타입의 onRequest 함수를 추가했습니다.
공개 AASA 파일 업데이트
public/.well-known/apple-app-site-association
JSON 구조로 변경하고 appID 값을 9395YWTT5L8K에서 95YWTT5L8K로 수정했습니다.
API 인증 바이패스 추가
src/api/index.ts
/.well-known 경로에 대한 인증 체크 스킵 가드 및 /intro 페이지에서의 토큰 갱신 바이패스를 추가했습니다.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

🐛 Bug

Suggested reviewers

  • seong-hui
  • imddoy

Poem

🐰 깊은 링크의 길을 열고,
사과와 안드로이드 손잡으며,
배포 꾸러미 쏙쏙 담아,
인증의 담을 슬쩍 넘어,
앱의 문이 활짝 열렸네! 🔐✨

🚥 Pre-merge checks | ✅ 2 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ⚠️ Unable to check for merge conflicts: Invalid branch name format
Description check ❓ Inconclusive PR 설명은 변경사항을 구체적으로 작성하지 않은 템플릿 형식이며, 실제 구현 내용이나 변경 이유에 대한 정보가 없습니다. PR 설명에 실제 변경사항, 구현 로직, 논의사항을 구체적으로 작성하여 검토자가 변경의 의도를 명확히 이해할 수 있도록 해주세요.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 실제 변경사항의 주요 부분인 refresh API 호출 문제 수정과 관련이 있으며, .well-known 경로 처리 추가 및 토큰 갱신 로직 개선을 포함하고 있습니다.
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.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#2193
⚔️ Resolve merge conflicts (beta)
  • Auto-commit resolved conflicts to branch feat/#2193
  • Create stacked PR with resolved conflicts
  • Post resolved changes as copyable diffs in a comment

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
Copy link

🚀 프리뷰 배포 확인하기 🚀

https://8858d637.sopt-internal-dev.pages.dev

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/api/index.ts`:
- Line 83: Replace the insecure console.log(error) with a safe error-logging
flow: do not print the full AxiosError object (which can contain
config.headers.Authorization); instead sanitize or remove the Authorization
header from error.config before logging and log using console.error or a
structured logger. Specifically, locate the console.log(error) occurrence and
change it to either log only non-sensitive fields (e.g., error.message,
error.response?.status, error.response?.data) or clone error.config and
mask/delete config.headers.Authorization prior to calling console.error,
ensuring no Bearer token is emitted to the browser console.
🧹 Nitpick comments (1)
public/.well-known/apple-app-site-association (1)

1-13: functions/.well-known/apple-app-site-association.ts 서버리스 함수와 내용이 중복됩니다.

public/.well-known/apple-app-site-association 정적 파일과 functions/.well-known/apple-app-site-association.ts 서버리스 함수가 동일한 경로에서 동일한 콘텐츠를 제공합니다. Cloudflare Pages에서는 함수가 정적 파일보다 우선하므로 이 정적 파일은 사용되지 않을 가능성이 높습니다. 둘 중 하나만 유지하는 것이 혼동을 줄일 수 있습니다.

);

export const handleTokenError = async (error: AxiosError<unknown>) => {
console.log(error);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

프로덕션 환경에서 console.log(error) 제거를 권장합니다.

AxiosError 객체에는 config.headers.Authorization에 Bearer 토큰이 포함되어 있어, 전체 에러를 console.log로 출력하면 브라우저 콘솔에 토큰이 노출될 수 있습니다. 디버깅 목적이라면 console.error로 통일하거나, 민감한 정보가 포함되지 않는 메시지만 출력하는 것이 좋습니다.

🔒 제안하는 수정
 export const handleTokenError = async (error: AxiosError<unknown>) => {
-  console.log(error);
+  console.error('API error:', error.message, error.response?.status);
   const originRequest = error.config;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
console.log(error);
export const handleTokenError = async (error: AxiosError<unknown>) => {
console.error('API error:', error.message, error.response?.status);
const originRequest = error.config;
🤖 Prompt for AI Agents
In `@src/api/index.ts` at line 83, Replace the insecure console.log(error) with a
safe error-logging flow: do not print the full AxiosError object (which can
contain config.headers.Authorization); instead sanitize or remove the
Authorization header from error.config before logging and log using
console.error or a structured logger. Specifically, locate the
console.log(error) occurrence and change it to either log only non-sensitive
fields (e.g., error.message, error.response?.status, error.response?.data) or
clone error.config and mask/delete config.headers.Authorization prior to calling
console.error, ensuring no Bearer token is emitted to the browser console.

@ljh0608 ljh0608 merged commit 4d844bf into develop Feb 13, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants