Release: preload home webview and bump build 15#24
Conversation
WalkthroughPR은 HomeWebView 프리로드 상태를 관리하는 새로운 React Context 시스템을 도입하여, Splash 화면 표시 기간을 webview 로딩 상태와 조율합니다. 애니메이션 타이밍이 단순화되고, Root Layout과 HomeWebViewScreen이 컨텍스트와 통합되며, 버전 번호가 버전 14에서 15로 일관되게 업데이트되었습니다. ChangesHomeWebView 프리로드 및 Splash 조율 시스템
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
app/(tabs)/index.tsx (1)
11-14: 💤 Low value
markFailed()중복 호출.
HomeWebViewScreen.handleError가 이미markFailed()를 호출한 뒤onError()(=handleWebViewError)를 부르므로, 여기서 다시markFailed()를 호출하면 동일 상태 전이가 두 번 발생합니다. 상태가 멱등이라 동작상 문제는 없지만 실패 처리 책임이 두 곳에 분산되어 혼란을 줄 수 있습니다.setWebViewFailed(부모 고유 책임)만 남기는 것을 고려해 보세요.♻️ 제안
- const handleWebViewError = useCallback(() => { - markFailed(); - setWebViewFailed(true); - }, [markFailed]); + const handleWebViewError = useCallback(() => { + setWebViewFailed(true); + }, []);🤖 Prompt for 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. In `@app/`(tabs)/index.tsx around lines 11 - 14, The handleWebViewError callback currently calls markFailed() and setWebViewFailed(true) but HomeWebViewScreen.handleError already calls markFailed() before invoking onError, so remove the duplicate markFailed() from handleWebViewError and leave only the parent-owned state update setWebViewFailed(true); update the useCallback for handleWebViewError to call setWebViewFailed(true) and keep markFailed responsibilities solely in HomeWebViewScreen.handleError/onError.app/_layout.tsx (1)
212-218: 💤 Low value의존성 배열에 중복 항목이 있습니다.
shouldBlockSplash는forceUpdateRequired,bootstrapStatus,pathname,homeWebViewPreloadStatus로부터 계산되는 값입니다. 따라서 의존성 배열에 이미 해당 값들이 포함되어 있으므로shouldBlockSplash를 추가하는 것은 중복입니다.기능적으로는 문제가 없지만, 의존성 배열을 간결하게 유지하는 것이 좋습니다.
♻️ 제안하는 수정
}, [ forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus, - shouldBlockSplash, ]);🤖 Prompt for 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. In `@app/_layout.tsx` around lines 212 - 218, 의존성 배열에서 중복 항목인 shouldBlockSplash를 제거하세요: useEffect의 의존성 배열(현재 forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus, shouldBlockSplash)을 검토하고 shouldBlockSplash를 삭제해 배열을 간결하게 유지하되 기존에 포함된 forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus가 변경될 때 동일한 계산이 일어나도록 유지하세요 (참조 심볼: shouldBlockSplash, forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus, 해당 useEffect 블록).
🤖 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.
Nitpick comments:
In `@app/_layout.tsx`:
- Around line 212-218: 의존성 배열에서 중복 항목인 shouldBlockSplash를 제거하세요: useEffect의 의존성
배열(현재 forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus,
shouldBlockSplash)을 검토하고 shouldBlockSplash를 삭제해 배열을 간결하게 유지하되 기존에 포함된
forceUpdateRequired, bootstrapStatus, pathname, homeWebViewPreloadStatus가 변경될 때
동일한 계산이 일어나도록 유지하세요 (참조 심볼: shouldBlockSplash, forceUpdateRequired,
bootstrapStatus, pathname, homeWebViewPreloadStatus, 해당 useEffect 블록).
In `@app/`(tabs)/index.tsx:
- Around line 11-14: The handleWebViewError callback currently calls
markFailed() and setWebViewFailed(true) but HomeWebViewScreen.handleError
already calls markFailed() before invoking onError, so remove the duplicate
markFailed() from handleWebViewError and leave only the parent-owned state
update setWebViewFailed(true); update the useCallback for handleWebViewError to
call setWebViewFailed(true) and keep markFailed responsibilities solely in
HomeWebViewScreen.handleError/onError.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: ad186f6f-5e83-4993-bb6a-21c00d43437d
📒 Files selected for processing (9)
app.jsonapp/(tabs)/index.tsxapp/_layout.tsxcomponents/custom-splash-screen.tsxcontexts/home-webview-preload-context.tsxcontexts/index.tsios/app.xcodeproj/project.pbxprojios/app/Info.plistui/home/home-webview-screen.tsx
Summary
Validation
Summary by CodeRabbit
릴리스 노트
Bug Fixes
Chores