Skip to content

fix(interview): 자기소개 답변 오롤백 방지 (#136 회귀)#137

Merged
i3months merged 1 commit into
devfrom
fix/self-intro-answer-false-rollback
Jul 1, 2026
Merged

fix(interview): 자기소개 답변 오롤백 방지 (#136 회귀)#137
i3months merged 1 commit into
devfrom
fix/self-intro-answer-false-rollback

Conversation

@i3months

@i3months i3months commented Jul 1, 2026

Copy link
Copy Markdown
Member

변경 사항

#136(#9 라이브 텍스트 답변 롤백) 회의적 max 리뷰(3/3 검증)에서 발견한 HIGH 회귀 수정.

문제 (모든 세션의 첫 답변)

낙관적 답변은 SESSION_MESSAGE → 메시지 리페치 → pendingAnswers content 매칭으로만 프루닝된다. 일반 꼬리질문은 백엔드가 placeholder를 즉시 INSERT+SESSION_MESSAGE 발행 → sub-second 프루닝. 그러나 자기소개(첫 질문) 답변isSelfIntroduction() 분기라 에코 없이 SelfIntroAnsweredEvent만 발행되고, 첫 SESSION_MESSAGEPro 모델 질문 풀 생성이 끝난 뒤에야 온다. 풀 생성이 10초를 넘기면(품질 모델·콜드스타트에서 흔함) 성공한 답변에 ACK 타이머가 발화 → 오롤백 + 입력 복원 + 실패 토스트. 재제출은 SESSION_INVALID_STATE로 드롭되어 오류 루프.

수정 (프론트, contained)

타임아웃 시 연결이 open이면 롤백하지 않는다 — 전송 실패가 아니라 '서버가 아직 에코 전'이므로(자기소개 답변은 풀 생성 후 SESSION_MESSAGE가 프루닝). 연결이 끊긴(closed/connecting) 경우에만 진짜 실패로 보고 롤백. connectionRef 미러 추가.

  • 일반 꼬리질문(즉시 에코): 무영향.
  • 진짜 전송 실패(연결 끊김): 안전망 유지(롤백+복원+토스트).
  • 자기소개 답변: 연결 정상이면 '전송 중'으로 남아있다가 풀 질문 도착 시 자연 프루닝(오롤백 없음).

build 통과, lint 신규 에러 없음. 프론트 전용.

🤖 Generated with Claude Code

#136(#9 라이브 답변 롤백)의 회귀를 회의적 리뷰(3/3)가 발견해 수정.

문제: 낙관적 답변 프루닝 트리거는 SESSION_MESSAGE(→메시지 리페치→pendingAnswers
content 매칭)뿐인데, 자기소개(모든 세션 첫 답변)는 placeholder/에코 없이
SelfIntroAnsweredEvent 만 발행되고 첫 SESSION_MESSAGE 는 Pro 모델 질문 풀 생성
이후에야 온다. 풀 생성이 10초를 넘기면 성공한 자기소개 답변에 ACK 타이머가 발화 →
오롤백 + 입력 복원 + 실패 토스트, 재제출은 SESSION_INVALID_STATE 로 드롭되어 오류 루프.

수정: 타임아웃 시 연결이 'open'이면 전송 실패가 아니라 '서버가 아직 에코 전'이므로
롤백하지 않는다(이후 SESSION_MESSAGE 가 프루닝). 연결이 끊긴(closed/connecting)
경우에만 진짜 실패로 보고 롤백. connectionRef 미러 추가. 일반 꼬리질문(즉시 에코)은
무영향, 진짜 전송 실패(연결 끊김) 안전망도 유지.

build 통과, lint 신규 에러 없음.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stackup Ready Ready Preview, Comment Jul 1, 2026 3:28am

@i3months i3months merged commit 8eb618c into dev Jul 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant