[FEATURE] 핵심 플로우 전환 속도 개선#90
Merged
Merged
Conversation
sunm2n
approved these changes
Jul 8, 2026
sunm2n
left a comment
Contributor
There was a problem hiding this comment.
확인결과 큰 문제는 보이지 않습니다 바로 머지해도 될 거 같습니다!
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 #88
개요
URL 검사 플로우와 폴더 URL 추가 플로우에서 사용자가 버튼을 누른 뒤 다음 화면에서 결과를 확인하기까지의 대기 흐름을 개선했습니다.
URL 검사 플로우에서는 기존에 검사 버튼 클릭 후 저장 링크 중복 체크를 먼저 기다린 뒤 scanning 화면으로 이동하던 구조를 변경했습니다. 사용자가 검사 버튼을 누르면 먼저 scanning 화면으로 이동하고, 중복 체크와 분석 요청은 scanning 화면에서 처리하도록 분리했습니다.
또한 분석 요청 결과를 결과 화면에서 다시 조회하지 않도록
AnalysisResultCacheProvider를 추가했습니다. scanning 화면에서 받은 분석 결과를 cache에 저장하고, 결과 화면에서는 cache를 우선 사용해 불필요한 결과 재요청을 줄였습니다.폴더 URL 추가 플로우에서는 URL 추가 후
refreshFolders()까지 기다린 뒤 폴더 상세 화면으로 이동하던 구조를 변경했습니다. URL의 폴더 분류가 완료되면 바로 폴더 상세 화면으로 이동하고, 폴더 목록 갱신은 화면 이동 이후 background에서 처리하도록 분리했습니다.이번 작업은 측정용 로그를 최종 코드에 남기지 않고, 측정 결과를 기반으로 실제 사용자 경험 개선에 필요한 로직만 반영했습니다.
주요 구현 내용
refreshFolders()대기를 화면 이동 전 blocking 흐름에서 제거refreshFolders()를 background로 실행파일별 역할
context/analysis-result-cache-context.tsxapp/(tabs)/(home)/_layout.tsxapp/(tabs)/(home)/add-link.tsxapp/(tabs)/(home)/scanning.tsxhooks/use-analysis-result.tsapp/(tabs)/(folder)/folder-add-url.tsxassignCategory완료 후 바로 폴더 상세 화면으로 이동refreshFolders()는 화면 이동 이후 background로 실행app/(tabs)/(folder)/[id].tsxurlAddedparam 기반 toast 표시 흐름 유지측정 결과
URL 검사 플로우
Before 평균:
scan_button_to_scanning_screen: 371.0mssaved_link_duplicate_check_completed: 189.1msanalysis_request_completed: 211.3msanalysis_result_fetch_completed: 266.5msAfter 평균:
scan_button_to_scanning_screen: 169.1mssaved_link_duplicate_check_completed: 188.9msanalysis_request_completed: 158.8msscan_result_screen_with_cached_analysis: 158.9ms개선 내용:
폴더 URL 추가 플로우
Before 평균:
folder_assign_completed: 371.0msfolder_refresh_completed: 272.2msfolder_detail_screen_visible: 398.7msfolder_added_links_visible: 1047.7ms개선 방향:
assignCategory완료 후refreshFolders까지 기다린 뒤 폴더 상세 화면으로 이동했습니다.assignCategory완료 직후 폴더 상세 화면으로 이동하고,refreshFolders는 화면 이동 이후 background에서 처리합니다.refreshFolders단계를 blocking 흐름에서 분리했습니다.해결한 이슈 목록
체크 사항
npx tsc --noEmit통과npm run lint통과git diff --check통과참고사항
assignCategory완료 후 바로 폴더 상세 화면으로 이동합니다.refreshFolders()는 폴더 상세 화면 이동 이후 background에서 실행되므로, 폴더 목록 갱신은 유지됩니다.