Repository navigation
fix(mindrecord): 수정 원본 조회 실패 후 재조회에서 원본 확인 없는 덮어쓰기와 복구 불가가 발생한다 #2224
Description
작업 유형
bug — 버그·오동작
주 담당 모듈
mindrecord — 마음의 기록
개요
데일리 답변 수정에서 원본 조회가 실패한 뒤 글을 쓰고 임시저장을 누르면, 재조회가 성공해도 원본은 화면에 나오지 않은 채 저장이 열린다. 그대로 저장하면 원래 답변이 방금 쓴 글로 바뀐다. 일기 수정은 반대로 조회가 실패하면 화면 안에서 다시 불러올 방법이 없다.
아래 내용은 2026-10-01 KST에 기록한 과거 QA 결과이며, 최신 빌드 재현 결과는 아니다. 실측은 빌드 5806b3a88(develop 7e8209f07 기준, 마음의 기록 코드는 develop 과 같다), 에뮬레이터 API 36, QA823 계정, 실서버다.
데일리 답변 수정 (답변 82, 09.23 작성)
- 비행기 모드에서 수정하기로 들어간다. 질문 자리에 "오늘의 질문을 불러오지 못했습니다."가 뜨고 본문은 비어 있다.
- 네트워크를 되살리고 본문에
Z를 쓴다. 자동 재조회는 없다. - 하단 임시저장을 누르면
GET daily-questions가 200 으로 돌아온다. "오늘의 질문을 불러오지 못해 저장할 수 없습니다." 문구가 남은 채 상단 저장이 활성화된다. 본문은Z그대로이고 원본은 한 번도 보이지 않는다. - 저장을 누르면 원래 답변이 덮인다(QA 데이터라 원복했다).
--> PATCH daily-questions/82 {"content":"<p>Z</p>","isDraft":false}
<-- 200
#2028 이 실패 복구를 원래 대상의 재조회로 바꿨고(submit), #2031 이 늦게 온 프리필이 입력을 덮지 않게 했다(loadAnswer). 둘이 겹치면 재조회 성공 때 대상 ID 만 채워지고 본문은 사용자가 쓴 글로 남는다. #2031 의 전제는 원본을 기다리는 동안 쓴 글인데, 조회가 실패한 빈 폼에서 새로 쓴 글도 같은 규칙을 탄다. 사용자는 원본을 보지 못한 채 덮어쓰게 된다. 재조회 성공 뒤에도 실패 문구는 지워지지 않는다.
일기 수정 (정식 일기)
- 비행기 모드에서 수정하기로 들어간다. "임시 저장된 일기를 불러오지 못했습니다."가 뜬다. 정식 일기인데 임시저장 문구다.
- 네트워크를 되살리고 제목을 쓴 뒤 임시저장과 등록을 누른다. 요청은 0건이다. 문구가 "본문을 입력해 주세요."로 바뀐다.
- 본문과 기분까지 채워도 문구는 "본문을 입력해 주세요."이고 요청은 0건이다. 덮어쓰기는 막혀 있지만(fix(mindrecord): 정식 일기 수정 조회 실패 후 원본을 덮어쓰는 저장을 막는다 #2027) 다시 불러오는 동선이 없다.
- 빠져나가려면 뒤로가기뿐인데 확인 없이 입력이 사라진다(fix(mindrecord): 작성 중 뒤로가기가 확인 없이 내용을 버린다 #2144 범위).
완료 조건
-
데일리 수정에서 원본을 한 번도 보여 주지 않은 상태로 원본을 대체하는 PATCH 가 나가지 않는다. 조회 실패 후 작성한 입력도 사라지지 않는다. 구체적인 충돌 해결 UI는 이 관측으로 정하지 않는다.
-
두 편집기 모두 조회 실패 뒤 화면 안에서 같은 대상을 다시 불러올 수 있다. fix(mindrecord): 정식 일기 수정 조회 실패 후 원본을 덮어쓰는 저장을 막는다 #2027·fix(mindrecord): 답변 수정 조회 실패가 오늘 질문 신규 저장으로 전환되지 않게 한다 #2028 완료 조건의 재조회에 사용자가 닿는 동선이다.
-
조회 실패 문구가 상황과 맞는다. 데일리 수정에 오늘의 질문 문구를, 정식 일기 수정에 임시저장 문구를 쓰지 않는다. 재조회가 성공하면 실패 문구가 사라진다. 일기에서 조회 실패라는 실제 사유를 "본문을 입력해 주세요."가 가리지 않는다.
-
재조회가 다시 실패해도 입력과 수정 대상이 유지된다. 정상 원본 조회 후 수정·저장 경로를 보존한다.
참고
DailyQuestionWriteViewModel과DiaryWriteViewModel은 refactor(mindrecord): MVI 전환 — ViewModel 10개 #1807 MVI 전환의 교체 대상이라 그 위에 얹는다(blocked_by refactor(mindrecord): MVI 전환 — ViewModel 10개 #1807).- 뒤로가기의 확인 없는 폐기는 fix(mindrecord): 작성 중 뒤로가기가 확인 없이 내용을 버린다 #2144 가 추적한다.
- 관측만 적는다: 데일리 답변 수정 화면의 머리 날짜가 원본 작성일(09.23)이 아니라 오늘(10.01)이고, 질문 칸 이름도 "오늘의 추천 질문"이다. 결함 판정은 하지 않았다.
실기동 화면
데일리 답변 수정. 왼쪽부터 정상 프리필, 비행기 모드 진입, 복구 뒤 임시저장, 재조회 뒤(저장 활성)다.
일기 수정. 왼쪽부터 비행기 모드 진입, 복구 뒤 임시저장, 본문과 기분을 채운 뒤, 뒤로가기 직후 목록이다.


Activity
github-actions commentedon Oct 1, 2026
bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:
값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.