Skip to content

fix: CameraViewController 이미지 업로드 실패 이슈 수정#796

Merged
Do-hyun-Kim merged 2 commits into
developfrom
fix/#795-camera-upload-failure-modify
Mar 11, 2026
Merged

fix: CameraViewController 이미지 업로드 실패 이슈 수정#796
Do-hyun-Kim merged 2 commits into
developfrom
fix/#795-camera-upload-failure-modify

Conversation

@Do-hyun-Kim

@Do-hyun-Kim Do-hyun-Kim commented Feb 23, 2026

Copy link
Copy Markdown
Collaborator

🔵PR을 올리기 전 아래 사항을 확인해주세요.

  • 구현한 로직과 기능이 올바르게 작동되는지 충분히 테스트해주세요.
  • 코드의 성능이나 메모리 효율성이 적절하게 고려되었는지, 불필요한 코드가 없는지 검토해주세요.
  • 이번 PR에서 구현된 주요 기능이나 해결된 문제에 대해 자세히 서술해주세요.
    (위 내용은 지워주세요)

😽개요

  • 네트워크 전환 및 대용량 이미지 업로드 시 타임아웃 발생 이슈 예외처리 로직 추가
  • MixPannel 라이브러리 제거
  • ThirdPartyLib 모듈 추가 및 Firebase 의존성 이전

🛠️작업 내용

  • 대용량 이미지를 PresignedURL에 업로드 할 경우 한번 압축하도록 ImageCompressionService 모듈 구현
  • PreSinged URL 만료시간이 180초로 지정되어있어 timeoutIntervalForResource을 180초로 지정 이후 TimeOut 발생하도록 했습니다.
  • TimeOut, 네트워크 유실 현상 오류 발생시 재시도 로직 추가
  • BBLogManager 내부 이미지 업로드 시간, 이미지 용 등을 Tracking하여 클라이언트단에서 확인할 수 있도록 처리
  • MixPanel 라이브러리 의존성 제거 및 MixPanel 관련된 코드 제거
  • App모듈, Util 모듈 내부 Firebase 라이브러리 제거
  • Core모듈 내부 Extensions 코드 및 BBLogManager Util 모듈로 이전
  • 이미지 업로드 성공 및 실패 시 FireBase Analytics 로깅하도록 코드 추가

PreSigned URL 만료시간에 맞춰 TimeOut 발생하도록 코드 수정

  • PreSigned URL 만료 시간이 180초로 지정되어 있어서 timeoutIntervalForResource를 180초로 지정하여 지정된 네트워크 시간 내에 네트워크 요청이 안 오면 TimeOut 발생하도록 로직을 수정하였습니다. 이유는 해당 시간 내에 네트워크 요청하지 않으면 만료된 PresignedURL로 이미지를 업로드하기 때문에 업로드 성공을 보장받을 수 없기 때문입니다.

✅테스트 케이스

  • Network Link Conditioner를 사용하여(3G, 2G)환경으로 이미지 업로드 테스트시 실패 현상 케이스 확인
  • 이미지 업로드 성공시 Firebase Log 트랙킹 확인 체크

🙏🏻아래와 같이 PR을 리뷰해주세요.

  • PR 내용이 부족하다면 보충 요청해주세요.
  • 코드 스타일이 팀의 규칙에 맞게 작성되었는지, 일관성을 유지하고 있는지 확인해주세요.
  • 코드에 대한 문서화나 주석이 필요한 부분에 적절하게 작성되어 있는지 확인해주세요.
  • 구현된 로직이 효율적이고 올바르게 작성되었는지, 아키텍처를 잘 준수하고 있는지 검토해주세요.
  • 네이밍, 포매팅, 주석 등 코드의 일관성이 유지되고 있는지 확인해주세요.

- Tuist ThirdPartyLib 모듈 추가 및 Firebase 관련 의존성 ThirdPartyLib으로 의존성 이전
- App, Uitl 모듈 ThirdPartyLib 모듈 의존성 추가
- Observable+NetworkRetry 타입 추가
- HTTPHeaders Content-Type, Content-Length 추가
- PostRepository uploadPostImageToS3Bucket 메서드 내부 비즈니스 로직 수정
- CameraViewReactor, CameraDisplayViewReactor 이미지 관련 예외처리 로직 수정
- ImageCompressionService, ImageCompressionServiceProtocol 이미지 압축 관련 비즈니스 로직 추가
- PostDIContainer ImageCompressionService 의존성 추가
@Do-hyun-Kim Do-hyun-Kim requested a review from akrudal February 23, 2026 12:03
@Do-hyun-Kim Do-hyun-Kim self-assigned this Feb 23, 2026
@Do-hyun-Kim Do-hyun-Kim merged commit 41105a4 into develop Mar 11, 2026
1 check failed
@Do-hyun-Kim Do-hyun-Kim deleted the fix/#795-camera-upload-failure-modify branch March 11, 2026 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant