fix: 안드로이드 스플래시 로고 저해상도 노출 수정 (RN 오버레이 전환) - #352
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAndroid 시스템 스플래시의 로고를 빈 이미지로 대체하고 RN 오버레이에서 고해상도 로고를 표시하도록 변경했습니다. 시스템 스플래시는 첫 렌더 직후 숨기며, 웹뷰 로드 완료·실패·타임아웃 시 RN 오버레이를 종료합니다. Changes스플래시 렌더링 흐름
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant App
participant SplashScreenControllerProvider
participant SystemSplash
participant SplashOverlay
participant WebView
App->>SplashScreenControllerProvider: 첫 렌더 커밋
SplashScreenControllerProvider->>SystemSplash: hideAsync()
App->>SplashOverlay: 오버레이 표시
WebView-->>App: 로드 완료·실패 또는 타임아웃
App->>SplashScreenControllerProvider: hideSplashOverlay()
SplashScreenControllerProvider-->>SplashOverlay: 표시 중지
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/app/hooks/useSplashScreenController.tsx`:
- Around line 40-42: In the useEffect callback within useSplashScreenController,
handle rejected promises from SplashScreen.hideAsync by attaching a catch
handler while preserving the existing fire-and-forget behavior and empty
dependency array.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 21eeb18b-39ab-4f41-b047-343f78a8c096
⛔ Files ignored due to path filters (1)
apps/app/assets/images/splash-android-blank.pngis excluded by!**/*.png
📒 Files selected for processing (4)
apps/app/app.jsonapps/app/app/index.tsxapps/app/components/SplashOverlay.tsxapps/app/hooks/useSplashScreenController.tsx
* fix: Android 12+ 스플래시 로고 저해상도 문제 해결 (RN 오버레이로 전환) * fix: Android 시스템 스플래시 저품질 로고 미노출 처리 (배경색만 표시) * fix: SplashScreen.hideAsync rejection 처리 추가
* fix: svgo removeViewBox 비활성화로 아이콘 축소 렌더링 시 잘림 방지 * feat: 바텀탭 디자인 변경 및 탭 4개로 분리 * refactor: 바텀탭 button > link 태그로 교체 * feat: 마이페이지에 바텀탭 추가 * refactor: 바텀탭 z-index를 Z_INDEX 상수로 관리 * refactor: 마이 탭 신설에 따라 헤더 프로필 아이콘 제거 * feat: 바텀탭 포인터 다운 시 스케일업 인터랙션 추가 * feat: 바텀탭 인디케이터 드래그로 탭 전환하는 인터랙션 추가 * feat: 바텀탭 liquid glass 효과 추가 * feat: 바텀탭 포커스되지 않은 탭 클릭해도 드래그 가능하도록 변경 * feat: 바텀탭 렌즈 변신 조건 정리 및 배경 틴트 상태 분리 * refactor: 바텀탭 wrapper 컴포넌트 내부로 이동 * style: 바텀탭 blur 완화 * fix: 탭바 새 제스처 시작 시 예약된 라우팅 취소 * fix: 탭바 착지 애니메이션 완료 후 라우팅되도록 지연 정렬 * fix: 탭바 새 제스처 시작 시 예약된 라우팅 취소 * refactor: 로그인 진입 시 세션 조회 왕복 제거 및 스플래시 전환 개선 (#348) * refactor: access token JWT에서 role 추출하는 유틸 추가 * refactor: 로그인 세션 검사(getMe) 제거하고 JWT role 기반으로 전환 * refactor: 게스트 세션 재활용 판정을 클릭 시점 refresh로 일원화 * fix: 루트 스플래시 배경 FOUC 제거 * feat: 로그인 진입 시 문구·버튼 fade-in 애니메이션 추가 * refactor: /archive 탭을 위시리스트·내 토너먼트 페이지로 분리 (#347) * refactor: /archive 탭 쿼리 파라미터를 /archive/wish, /archive/tournament 경로로 분리 * refactor: 구버전 /archive(?tab=) 경로를 신규 경로로 리다이렉트 * refactor: 옛 /wish 페이지 잔재 정리 및 archive 콜로케이션 재배치 * fix: 위시 페이지 체류 중 후속 공유 인텐트가 무시되던 문제 수정 * fix: 보관 탭 활성 판정 경로 경계 추가 및 위시 추가 후 중복 라우팅 제거 * fix: 공유 인텐트 실패 URL 잠금 해제 및 링크 담기 실패 시 다이얼로그 유지 * refactor: JWT role을 명시적 검증으로 좁혀 타입 단언 제거 * fix: share intent 처리 후 URL 잠금 해제하여 재공유 허용 * refactor: font preload 삭제 * refactor: Pretendard 폰트 CDN Dynamic Subset Variable로 교체 * chore: TanstackQuery devtool Dynamic Import로 변경 * chore: Tanstack Query Devtools ssr false 설정 * fix: Android 12+ 스플래시 로고 저해상도 문제 해결 (RN 오버레이로 전환) * fix: Android 시스템 스플래시 저품질 로고 미노출 처리 (배경색만 표시) * Revert "fix: Android 시스템 스플래시 저품질 로고 미노출 처리 (배경색만 표시)" This reverts commit adede7e. * Revert "fix: Android 12+ 스플래시 로고 저해상도 문제 해결 (RN 오버레이로 전환)" This reverts commit 74d09aa. * fix: 안드로이드 카카오 로그인 무한 로딩 수정 (리다이렉트 수신 액티비티 등록) (#350) * fix: 카카오 로그인 안드로이드 리다이렉트 수신 액티비티 등록 * chore: 서명 자격증명 및 빌드 산출물 gitignore 추가 * fix: 안드로이드 스플래시 로고 저해상도 노출 수정 (RN 오버레이 전환) (#352) * fix: Android 12+ 스플래시 로고 저해상도 문제 해결 (RN 오버레이로 전환) * fix: Android 시스템 스플래시 저품질 로고 미노출 처리 (배경색만 표시) * fix: SplashScreen.hideAsync rejection 처리 추가 * refactor: BottomCta 공통 컴포넌트 개선 및 페이지별 개별 구현 통합 (#345) * feat: 바텀 CTA 상단 그라데이션 옵션 추가 및 패딩 스펙 반영 * refactor: 페이지별 바텀 CTA를 BottomCta 공통 컴포넌트로 교체 * chore: iOS ShareBottomSheet 에셋 파일명 교체 (#353) * chore: iOS 앱 공유 바텀 시트 에셋 추가 * feat: iOS 앱 공유 바텀시트 성공/에러 UI 추가 * chore: app sentry cli 추가 * chore: patch app version * chore: Playwright E2E 테스트 환경 구축 (#319) * chore: playwright 설치 * chore: Playwright 설정 및 테스트 스크립트 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat: 게스트 storageState 생성 setup 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat: page.route 기반 API 목킹 fixture 및 목 데이터 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 홈 및 토너먼트 준비 페이지 E2E 테스트 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: SSR 접근 권한 조회용 목 스텁 서버 추가 및 준비 페이지 테스트를 진입 플로우로 변경 * chore: playwright/.auth gitignore 패턴 수정 * chore: E2E 테스트 CI 잡 추가 * fix: UI 모드와 CLI 동시 실행 시 목 스텁 포트 충돌 해결 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: dev 전용 react-grab 스크립트 차단으로 trace 스냅샷 빈 화면 해결 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: CI Node 버전 22 LTS로 변경 * refactor: E2E 테스트를 도메인 폴더 구조로 변경 * refactor: @e2e alias 도입 * feat: E2E 이미지 목킹 추가 (가짜 CDN URL + /_next/image 인터셉트) * feat: api 목킹 fixture에 patch, delete 메서드 추가 * docs: E2E 테스트 사용 가이드 추가 --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Jung Sun A <amber0809@naver.com> --------- Co-authored-by: joyeongchan <tigerbone@naver.com> Co-authored-by: kanghaeun <145974230+kanghaeun@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* fix: Android 12+ 스플래시 로고 저해상도 문제 해결 (RN 오버레이로 전환) * fix: Android 시스템 스플래시 저품질 로고 미노출 처리 (배경색만 표시) * fix: SplashScreen.hideAsync rejection 처리 추가
작업 내용
안드로이드에서 스플래시 로고 모서리가 각지고 뭉개져 보이는 문제를 수정했어요.
원인
preventAutoHideAsync로 이 시스템 스플래시를 웹뷰 로드 완료까지 유지해서 저품질 로고가 수 초 노출됨 (iOS 는 스토리보드 방식이라 정상)수정
SplashOverlay신설 — 스플래시와 동일한 화면(배경 + 로고 200dp)을 RN 이 고해상도로 렌더hideAsync(), 이후 RN 오버레이가 웹뷰 첫 로드 완료(또는 실패·15초 타임아웃)까지 표시android.image= 투명 PNG, iOS 는 기존 유지)결과
검증
연관 이슈
closes #351
Summary by CodeRabbit
새로운 기능
개선 사항