Skip to content

UG/FE 인터페이스 결함 — streaming flag stuck + Stop 버튼 + queued 이벤트 표시 #71

@hagyutae

Description

@hagyutae

배경

#39 (PR #68) 검증 중 UG/FE 인터페이스 결함 2 가지 확인:

  1. SSE 가 끊기면 UI agent 버블의 "발화중" 표시가 영구히 풀리지 않고 stuck.
  2. 응답 도중 사용자가 명시 중단을 원할 때 처리 path 가 없음. Chat.tsxAbortController 가 dead code.

본 이슈는 UG/FE 의 인터페이스 측 결함만 다룸. 사용자 메시지의 의미 판단 / batch merge 정책은 Primary 책임 (#72).


상태 (#75 PR 4 머지 후)

✅ 해소

결함 1 — Streaming flag stuck

❌ 남은 작업

결함 2 — Stop 버튼 + AbortController 활용

  • 명시 Stop 버튼이 UI 에 없음
  • Chat.tsxAbortController 가 여전히 dead code (만들기만 하고 abort() 미호출)
  • 자연어 cancel (예: "그만") 은 main LLM 의 의미 판단 — latency 큼. Stop 버튼으로 즉시 cancel 이 깔끔.
  • POST /api/chat 진행 중 abort 시 Primary 의 background task cancel 처리 (SessionRuntime.aclose 와 비슷한 패턴) 도 필요

결함 3 — queued SSE 이벤트 UI 표시

별 영역 (본 이슈 scope 아님)

  • 결함 3 (외부 proxy SSE idle timeout, 17~20s cancel) — 환경 진단 후 UG keepalive=15s 단축 고려. 별 이슈로 추적

작업 plan

A. Stop 버튼 + AbortController 활성화 (FE)

  • 사용자 발화 입력창 옆 Stop 버튼 (응답 진행 중에만 활성화)
  • 클릭 시 ctrl.abort() 호출 → UG POST /api/chat 요청 중단
  • streaming agent 버블 강제 마무리 + "(중단됨)" 표시

B. Primary 측 task cancel 연동

C. queued 이벤트 표시 (FE)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions