Skip to content

일기 등록 payload 의 imageUrl 이 «첫 업로드» 를 무조건 집는다 — 미디어 확장으로 음성·파일이 들어갈 수 있다 #1195

Closed

Description

@Sadturtleman

DiaryWriteViewModel.uploadMedia 는 업로드 성공 시 첫 결과 URL 을 등록 payload 의 imageUrl 로 든다.

val withUrl = if (it.imageUrl == null) it.copy(imageUrl = url) else it

«첫 번째» 라는 것 외에 종류 조건이 없다.

왜 지금 문제인가

이 배선 자체는 오래된 것이고 #958 이 만든 것이 아니다. 다만 #958 이 노출 조건을 만들었다 — 첨부 대상이 이미지에서 미디어 전체(사진·음성·파일)로 넓어지면서, 이 자리가 처음으로 비-이미지를 집을 수 있게 됐다. 음성을 먼저 첨부하면 imageUrl 에 .m4a 가 실린다.

지금 사용자 영향은 0

실측: 서버가 등록 요청의 이 필드를 무시하고, 조회 응답의 imageUrl 은 null 로 온다. #955 가 수정 요청에서 이 필드를 걷었고, #789 가 «응답 계약에 없음» 으로 분류한 자리다. 그래서 지금은 잘못된 값이 실려도 아무 데도 도달하지 않는다.

그래도 남겨야 하는 이유

서버가 이 필드를 쓰기 시작하는 순간, 「대표 이미지」 자리에 음성 파일 URL 이 들어간다. 조건이 «첫 번째» 뿐이라 사용자가 첨부 순서를 바꾸는 것만으로 값이 달라진다.

고칠 방향 (택일 필요)

  1. 대표 이미지 개념을 유지한다면 — 업로드 결과가 이미지일 때만 집는다. 종류 판정 수단이 필요하다(MIME 또는 확장자).
  2. 서버가 안 쓰는 필드라면 — imageUrl 배선을 payload 에서 걷는다. fix(mindrecord): 일기 이어쓰기 등록이 선택한 수신자를 버린다 — DiaryUpdatePayload 에 receiverIds 부재 #955 가 수정 요청에서 이미 걷었으므로 등록 쪽만 남은 상태다.

2번이 지금 계약에 맞아 보이나, 서버가 이 필드를 어떻게 쓸 계획인지 확인이 먼저다.

관련: #958 (노출 조건을 만든 PR) · #955 · #789 · #1016

Activity

  1. self-assigned this
    on Aug 26, 2026
  2. changed the title [-]fix(mindrecord): 일기 등록 payload 의 imageUrl 이 «첫 업로드» 를 무조건 집는다 — 미디어 확장으로 음성·파일이 들어갈 수 있다[/-] [+]일기 등록 payload 의 imageUrl 이 «첫 업로드» 를 무조건 집는다 — 미디어 확장으로 음성·파일이 들어갈 수 있다[/+] on Aug 28, 2026
  3. added
    bugSomething isn't working
    area:mindrecord마음의 기록 기능 영역
    on Aug 28, 2026
  4. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Aug 29, 2026
  5. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Aug 30, 2026
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