perf: PR Detail 헤더 렌더링과 files 로딩 분리 - #157
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
phnml1
marked this pull request as ready for review
April 29, 2026 08:55
This was referenced Apr 29, 2026
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.
작업 유형
관련 마일스톤
개요
Closes #156
PR Detail 진입 시 변경 파일 목록(
usePRFiles) 로딩이 PR title/header 렌더링까지 막지 않도록 loading 책임을 분리했습니다. PR 기본 정보는usePRDetail이 준비되는 즉시 렌더링하고, file sidebar / mobile dropdown / diff 영역은 각 영역에서 files loading/error 상태를 처리합니다.변경 사항
PRDetailContainer의 full-page loading/error gate를 PR detail 데이터 기준으로 축소했습니다.usePRFiles(id)는 계속 실행해서 React Query cache를 채우되, 전체 페이지 skeleton 조건에서는 제거했습니다.PRFileList에서 파일 목록 loading skeleton과 error state를 지역적으로 처리하도록 변경했습니다.PRDiffSection에서 diff 영역 전용 loading skeleton과 error state를 추가했습니다.MobileFileDropdown에서 files loading/error 상태를 표시하도록 변경했습니다.pr-detail-header-loading-before.md에 before/after Lighthouse 지표, 개선 내용, 남은 병목, 다음 최적화 계획을 기록했습니다.스크린샷 (선택)
테스트
tsc --noEmit)검증 결과:
npm.cmd run lint: 통과. 단, 기존hooks/useRealtimeComments.ts의appendCommentunused warning 1건이 남아 있습니다.npm.cmd test -- --runInBand: 통과. 22 suites / 131 tests passed.npx.cmd tsc --noEmit: 실패. 기존 Prisma/generated 타입 불일치로 실패했습니다.BaseNotification.reviewStatus누락 관련 오류Review.stage/Notification.reviewStatusgenerated type 불일치참고 사항
Lighthouse after 측정 기준으로 TTFB와 critical path는 개선됐지만, TBT와 JS execution 병목은 여전히 남아 있습니다. 다음 최적화 후보는
react-syntax-highlighter/refractorlazy loading,IssueDetailModal중복 mount 정리, true polling mode 측정 검증, shared app shell hydration 비용 감소입니다.