Skip to content

fix(mindrecord): 크기 초과(1803)로 원천 차단된 이미지 첨부에 재시도를 권한다 (#1868 표시 몫 분리) #2080

Open

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

mindrecord — 마음의 기록

개요

#1868 의 마음의 기록 표시 몫이다. 서버는 10 MiB 를 넘는 업로드를 code 1803 으로 거절하는데, 두 작성 화면은 그 거절을 다른 업로드 실패와 같은 문구로 뭉개 재시도를 권한다. 파일 크기가 그대로인 한 재시도는 같은 거절을 다시 받는다.

현행 실측 (origin/develop 7d87aa3, 2026-09-13)

화면 자리 표시
데일리 질문 작성 viewmodel/DailyQuestionWriteViewModel.kt:250 R.string.mindrecord_error_image_upload_failed
일기 작성 viewmodel/DiaryWriteViewModel.kt:158 같은 문자열

feature/mindrecord/presentation/src/main/res/values/strings.xml:221

<string name="mindrecord_error_image_upload_failed">이미지를 올리지 못했어요. 다시 시도해 주세요.</string>

#1868 이 실기기에서 재현한 화면이 이 둘이고, 위 문자열이 그 이슈 본문에 인용된 안내다. SM-S931N 에서 8160×6120 · 14,002,366 B JPEG 를 고르면 POST /api/v1/files/presigned-url 이 400 code 1803 으로 떨어진다. 서버 경계는 정확히 10 MiB 이고 그 위는 전부 1803 이다.

선행

#2089 가 core:domain 에 FileUploadFailure.FileSizeExceeded 를 세우고 PhotoUploadRepository, VideoUploadRepository 의 실패를 그 타입으로 옮긴다. 그 타입이 서야 여기서 when 으로 가를 수 있으므로 blocked_by 로 건다. 처음에는 #1868 에 걸었는데, 그 타입 수립분이 #2089 로 떨어져 나가 선행을 그 번호로 옮겼다. 소비처가 core:network 의 ApiException 이나 1803 이라는 숫자를 직접 보지 않게 하는 것이 그 선행분의 목적이다.

문구는 #446 이 PM 에게 확인 중이고 완료 조건이 그 답변에 걸려 있으므로 #446 도 blocked_by 로 건다. 종전에는 #1868 을 거쳐 전이로 걸려 있었는데, 선행을 #2089 로 옮기면 그 전이가 끊겨 문구 게이트가 사라진다. #446 이 확정한 공통 팝업 4종에 크기 초과 경우가 없고, 그중 "업로드 실패" 팝업은 버튼이 "다시 시도하기"라 이 결함을 그대로 물려받는다.

완료 조건

  • 두 ViewModel 이 FileUploadFailure.FileSizeExceeded 를 다른 업로드 실패와 갈라 안내한다
  • 크기 초과 안내가 재시도를 권하지 않는다
  • 사유를 확인하지 못한 업로드 실패는 기존 문구와 경로에 그대로 남는다
  • 표시할 문구는 공통 오류 안내의 상황별 문구·액션·적용 범위를 PM에게 확인한다 #446 이 PM 답변으로 확정한 값을 쓴다. 확정 전에 FE 재량으로 문안을 정하지 않는다

참고

Activity

  1. github-actions commented on Sep 13, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  2. OnlyReadOneBook commented on Sep 13, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    선행을 #1868 에서 #2089 로 옮겼다

    이 이슈가 기다리던 선행분은 core:domain 에 FileUploadFailure.FileSizeExceeded 를 세우고 두 업로드 저장소의 실패를 그 타입으로 옮기는 일이다. 그 몫이 #1868 에서 #2089 로 떨어져 나갔다. #1868 에는 애프터노트 에디터 표시 연결과 #446 문구 결정 대기가 남는다. 그래서 blocked_by 를 #1868 에서 #2089 로 바꿨다.

    함께 #446 을 직접 걸었다. 종전에는 #1868 을 거쳐 전이로 걸려 있었는데 선행을 옮기면 그 전이가 끊긴다. 이 이슈의 완료 조건 마지막 줄이 "표시할 문구는 #446 이 PM 답변으로 확정한 값을 쓴다" 라 #446 없이는 닫을 수 없으므로, 문구 게이트가 관계에서 그대로 읽히게 두는 편이 맞다.

    본문의 선행 문단과 분리 출처 줄도 새 번호로 고쳤다. 착수 순서는 #2089 가 먼저 들어오고 #446 의 답변이 온 뒤다. 판단 근거 전문은 #1868 코멘트에 있다.

  3. OnlyReadOneBook commented on Sep 30, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    10MB 초과 사진의 안내 문구·버튼과 자동 축소 여부를 PM 질문방에 올렸습니다(2026-09-30, #1868·#2080·#2081 공통): https://discord.com/channels/1423516014330646760/1425390413128138862/threads/1554867003897028780

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:mindrecord마음의 기록 기능 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions