You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(afternote): 에디터 검증 실패 안내가 두 번째 시도부터 미표출 — validationError 소비 신호 부재 #706
에디터에서 같은 검증 오류가 두 번째부터는 안내되지 않는다. 첫 등록 시도에는 스낵바가 뜨지만, 이후 같은 오류로 다시 막히면 화면에 아무 변화가 없다. 사용자는 첫 안내를 읽고 다른 항목을 채운 뒤 등록을 눌렀는데 이번엔 침묵하니, 방금 고친 항목이 문제였는지 버튼이 죽은 것인지 구분할 수 없다.
재현(소셜네트워크 신규 작성)
아무것도 입력하지 않고 "등록" → "수신자를 한 명 이상 선택해 주세요" 스낵바 표출 (정상)
서비스명만 선택하고 다시 "등록" → 스낵바·토스트·필드 강조 0건
2번에서도 수신자는 여전히 비어 있어 검증은 1번과 같은 RECEIVERS_REQUIRED 로 실패한다. 서비스명 선택이 원인이 아니라 같은 오류를 반복해서 맞은 것이 원인이라, 아무것도 입력하지 않고 등록을 두 번 연속 눌러도 두 번째부터는 아무 것도 뜨지 않는다.
원인 — 검증 오류가 일회성 신호로 소비되지 않는다.
AfternoteEditorViewModel.saveAfternote 는 검증 실패 시 validationError 를 같은 값으로 다시 대입한다(AfternoteEditorViewModel.kt:283). StateFlow 는 동일 값을 재방출하지 않으므로 구독자에게 아무 변화가 전달되지 않는다.
UI 는 LaunchedEffect(saveError) 로 스낵바를 띄운다(AfternoteEditorScreen.kt:124). 키가 그대로라 재발화하지 않는다.
validationError 가 null 로 돌아가는 지점은 검증을 통과해 저장 경로에 진입할 때뿐이다(AfternoteEditorViewModel.kt:293). 검증에서 막히는 동안은 리셋 기회가 없다.
서버 실패(error/errorRes)는 저장 경로 진입 시 null 리셋을 거치므로 이 문제가 없다. 클라이언트 검증 실패에만 해당하며, 카테고리·오류 종류를 가리지 않는다.
📌 Child Issue(Optional)
No response
📍 Note (Optional)
시안 미대조 — 동작 결함이고 근거는 코드 경로 실측이다. 안내 형태(스낵바 유지 / 필드 하단 문구 / 버튼 비활성)를 바꾸는 판단은 필수 발송 날짜 누락 시 등록이 무반응 — 호출·안내 없음 #624 쪽 시안 확인에 속한다. 이 이슈는 현재의 스낵바가 두 번째부터 안 뜨는 것만 범위로 둔다.
AfternoteEditorUiState 는 이미 pendingSaveSuccessId·pendingThumbnailUrl 등에서 "non-null = 처리 대기, 소비 후 null" 패턴을 쓰고 있다. validationError 도 같은 형태로 onValidationErrorConsumed() 를 붙이는 것이 기존 구조와 맞는다.
소비 신호가 생기면 editorSaveErrorFromUiState 의 PLAYLIST_SONGS_REQUIRED 특례(AfternoteNavGraphEditor.kt:58 — 곡이 채워지면 남은 오류를 감춤)도 정리 대상이 된다. 그 특례 자체가 stale 상태를 우회하려던 흔적이고, MEMORIAL 곡 한 가지에만 걸려 있다.
Activity
OnlyReadOneBook commentedon Aug 25, 2026
재발 확인 — 후속 이슈 #1127 로 등록했습니다
develop
4e0a648eb(2026-08-25 17:25 KST) 에서 같은 증상이 재현됩니다. PR #776 이 소비 신호를 도입했지만 동일 에러가 연속될 때는 여전히 안내가 발행되지 않습니다.에러 값이 바뀌면 뜨고 같으면 안 뜹니다. 상세는 #1127 에 적었습니다.
docs(qa): 성공 경로 실측 결과와 3차 순회 총계를 반영한다