Skip to content

fix(afternote): 업로드 크기 초과를 저장 오류와 구분한다 (#1868) - #2119

Merged
OnlyReadOneBook merged 13 commits into
developfrom
fix/1868-upload-size-feedback
Oct 6, 2026
Merged

OnlyReadOneBook merged 13 commits into
developfrom
fix/1868-upload-size-feedback

Conversation

@OnlyReadOneBook

@OnlyReadOneBook OnlyReadOneBook commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #1868

사진이나 영상 업로드가 서버의 크기 초과로 거절되면 일반 저장 실패와 구분하여 기존 크기 초과 안내를 표시합니다. FileUploadFailure.FileSizeExceeded를 실제 Save Intent·UseCase 경로에서 소비하며 저장 요청 중단·로딩 해제·선택한 파일 보존과 일반 오류·썸네일 재시도 동작을 유지합니다.

직접 base는 #1972의 refactor/1804-editor-mvi입니다. 크기 초과에는 재시도 액션을 붙이지 않습니다. 변경 범위는 afternote 저장 오류 분류와 기존 스낵바 연결 6개 파일이며 압축·리사이즈 또는 미확정 임시저장 화면의 후속 구현을 예약하지 않습니다.

검증

JVM 검증 리비전 32813e93206099ef8736b986612f0c081bf34deb에서 presentation 349개 테스트가 통과했습니다(실패·오류·건너뜀 0). presentation ktlint, 실제 base 대비 전체 diff의 모듈 소유권 검사와 git diff --check를 통과했습니다.

현재 HEAD 47ccb020b2eb14aa6c8f2836e734240dd0bae258는 검증 리비전에서 수신자 복귀 KDoc만 최종 Intent 이름으로 정정했습니다. 프로덕션 코드와 테스트 코드는 동일하며 KDoc 링크 검사(끊김 0)와 ktlint를 통과했습니다.

🧪 CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "기존 저장 실패의 도메인 타입 판정과 스낵바 문자열 연결만 변경합니다. 사진·영상 실패의 실제 Save Intent/UseCase 경로, 저장 중단·선택 보존·재시도 액션 제외는 Robolectric 단위 테스트로 검증하며 Android 내비게이션·권한·파일 업로드 런타임 배선은 변경하지 않습니다.",
    "tests": []
  }
}

@OnlyReadOneBook

Copy link
Copy Markdown
Collaborator Author

실기기에서 확인했다. 2026-09-23 15:04 KST, 갤럭시 S25(SM-S931N, Android 16, 1080x2340 @420dpi, font_scale 0.8), 이 PR head b402415ec debug 빌드, QA 계정, 실서버.

  • 애프터노트 추억 노트 > 영정사진에 8160x6120 · 17,279,369 B JPEG 를 고르고 등록했다. POST /files/presigned-url 이 contentLength 17279369 로 나가 400 · code 1803 을 받고, 스낵바가 "파일 크기가 업로드 허용 한도를 초과했습니다." 로 뜬다. 재시도 액션은 없고 닫기만 있다. 고른 사진은 편집 화면에 그대로 남는다.
  • 같은 빌드에서 마음의 기록 데일리 질문의 이미지 첨부는 여전히 "이미지를 올리지 못했어요. 다시 시도해 주세요." 다. 이 PR 이 애프터노트 편집기만 다룬다고 적은 범위 그대로이고, fix(core): 10MiB 넘는 사진은 업로드가 원천 차단되는데 「다시 시도해 주세요」로 안내한다 — 서버 1803 미처리·압축 부재 #1868 의 그 경로는 이 PR 이 머지돼도 남는다.
  • 대조군 3,776,479 B JPEG 는 마음의 기록에서 presigned 200 과 S3 PUT 200 으로 올라간다.
크기 초과 스낵바

@OnlyReadOneBook
OnlyReadOneBook removed this pull request from stack #2121 September 25, 2026 08:53
@OnlyReadOneBook
OnlyReadOneBook added this pull request to stack #2165 September 25, 2026 08:53
@OnlyReadOneBook
OnlyReadOneBook removed this pull request from stack #2165 September 27, 2026 04:55
@github-actions github-actions Bot added the conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

이 PR 은 refactor/1804-editor-mvi 와 충돌 상태이고, 그래서 CI 가 돌지 않는다.

pull_request 워크플로는 base 와 head 를 합친 가상 머지 커밋(refs/pull/<N>/merge)에서
실행되는데, 충돌이면 GitHub 이 그 ref 를 만들지 못해 워크플로가 트리거조차 되지 않는다.
체크가 실패하는 것이 아니라 아예 생성되지 않으므로, 새 커밋을 올려도 no checks reported
인 채 최신 커밋이 한 번도 검증되지 않은 상태로 남는다 (#1028).

refactor/1804-editor-mvi 를 병합해 충돌을 풀면 검증이 다시 돈다. 해소되면 이 라벨은 자동으로 떨어진다.

…ix/1868-upload-size-feedback

# Conflicts:
#	feature/afternote/presentation/src/main/kotlin/com/afternote/feature/afternote/presentation/editor/AfternoteEditorViewModel.kt
Base automatically changed from refactor/1804-editor-mvi to develop October 6, 2026 04:54
@github-actions github-actions Bot added the sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

형제 충돌이 해소됐다 — 지금은 이 PR 과 같은 파일을 서로 다르게 고친 열린 PR 이 없다 (#1750).
다시 생기면 이 코멘트를 현재 상태로 고쳐 쓴다.

@github-actions github-actions Bot removed sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 labels Oct 6, 2026
@OnlyReadOneBook
OnlyReadOneBook added this pull request to the merge queue Oct 6, 2026
Merged via the queue into develop with commit 766ff69 Oct 6, 2026
21 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the fix/1868-upload-size-feedback branch October 6, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

android-test PR head에서 Android Managed Device 계측 테스트 실행

Projects

None yet

2 participants