Skip to content

[#381] 웹페이지 썸네일 저장 위치를 수정하여 썸네일이 재 fetch되는 현상을 해결한다#389

Merged
opficdev merged 11 commits intodevelopfrom
fix/#381-webpage
Apr 14, 2026
Merged

[#381] 웹페이지 썸네일 저장 위치를 수정하여 썸네일이 재 fetch되는 현상을 해결한다#389
opficdev merged 11 commits intodevelopfrom
fix/#381-webpage

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev commented Apr 14, 2026

🔗 연관된 이슈

📝 작업 내용

📌 요약

  • 웹페이지 썸네일 저장 경로를 Application Support/webPageImages로 정리했습니다.
  • 웹페이지 썸네일 파일 관리를 WebPageImageStore로 분리했습니다.
  • 설정 화면의 썸네일 디렉터리 용량 조회/전체 삭제를 Repository -> UseCase -> SettingViewModel 경로로 연결했습니다.
  • WebPageMetadataService가 직접 처리하던 파일 저장/삭제를 WebPageImageStore에 위임했습니다.
  • 긴 URL에서도 안정적으로 캐시 경로를 만들 수 있도록 파일명을 해시 기반으로 변경했습니다.
  • 설정 화면의 디렉터리 작업은 백그라운드에서 실행되도록 조정했습니다.
  • 썸네일 저장 디렉터리를 iCloud 백업 제외 대상으로 설정했습니다.

🔍 상세

  • WebPageImageStore 추가
    • 썸네일 파일 경로 계산
    • 이미지 저장/삭제
    • 디렉터리 전체 삭제
    • 디렉터리 용량 계산
  • WebPageImageRepository 추가
    • 설정 화면에서 필요한 디렉터리 조회/삭제 책임 분리
  • UseCase 추가
    • FetchWebPageImageDirSizeUseCase
    • ClearWebPageImageDirectoryUseCase
  • SettingViewModel 수정
    • 파일 시스템 직접 접근 제거
    • 유즈케이스를 통해 용량 조회 및 임시 파일 삭제 처리
    • 디렉터리 조회/삭제를 비동기 side effect로 실행하도록 변경
  • WebPageMetadataService 수정
    • 파일 IO 직접 처리 제거
    • WebPageImageStore를 통한 저장/삭제로 정리
  • WebPageImageStore 개선
    • URL 기반 파일명을 SHA-256 해시로 변경
    • webPageImages 디렉터리에 백업 제외 속성 설정
    • 미사용 observeDirSize() 제거
  • DI 등록 추가
    • PersistenceAssembler
    • DataAssembler
    • DomainAssembler
    • InfraAssembler

📸 영상 / 이미지 (Optional)

  • 없음

@opficdev opficdev self-assigned this Apr 14, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

이번 PR은 웹 페이지 이미지 캐시 관리를 위한 WebPageImageStore를 도입하고, 관련 로직을 유스케이스로 분리하여 WebPageMetadataService와 SettingViewModel을 리팩토링했습니다. 리뷰 결과, 긴 URL 대응을 위한 파일명 해싱 처리, 빈번한 디렉토리 스캔으로 인한 성능 저하 개선, iCloud 백업 제외 설정 추가, 그리고 메인 스레드 차단을 방지하기 위한 비동기 처리 또는 상태 구독 방식 도입이 필요합니다.

@opficdev opficdev merged commit 1ac1e3d into develop Apr 14, 2026
1 check passed
@opficdev opficdev deleted the fix/#381-webpage branch April 14, 2026 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

웹페이지 썸네일 저장 위치를 수정하여 썸네일이 재 fetch되는 현상을 해결한다

1 participant