It wont respond back to me not even a blank message it just doesn’t respond back
complete
S
Student be3ff24b-29b
Category:
Conversations & ChatType:
User submissionUser role:
studentP
Patrick Jean
marked this post as
complete
Verified Fixed (2026-04-25)
— Bug resolved by PR #1038 (commit 5bce1619), merged to main
. The SSE stream generic exception handler at backend/domains/shared/chat/sse_stream.py:280-284
now properly emits encode_finish()
and encode_done()
terminators, preventing the frontend from hanging indefinitely when an error occurs mid-stream.P
Patrick Jean
Investigation (2026-04-25) — SSE Stream Hang — Fresh Codebase Verification
main
at 702cd900. Bug confirmed present.Root cause verified:
backend/domains/shared/chat/sse_stream.py:280-282
— When a non-retriable error occurs in the ReAct agent stream, the backend yields encode_error(str(exc))
but does NOT emit encode_finish()
or encode_done()
afterward. This violates the Vercel AI SDK Data Stream Protocol which requires a finish/done event to signal stream completion. The frontend's useChat
hook never receives its onFinish
callback, so the message appears to hang indefinitely with no error feedback to the user.Secondary issue:
web/components/chat/student/StudentChatInterface.tsx
does not render error state to the user — even if the error were properly signaled, there's no visible error UI.Fix PR #1041
correctly addresses the backend side by adding:yield encode_finish("error")
yield encode_done("error")
after the
encode_error()
call. Includes SSE stream error handling tests.Status: PR #1041 is MERGEABLE but needs human review approval.
The fix has been ready since 2026-04-19. Frontend error UI improvements (showing error state to the student) should be a follow-up cycle.P
Patrick Jean
Verification (2026-04-25) — SSE Stream Hang — Bug Still Present, PR Mergeable
main
at 702cd900 (no new commits since last verification).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:280-282
— non-retryable errors emit only encode_error(str(exc))
but miss the required encode_finish("error")
and encode_done("error")
termination events. Without these, the Vercel AI SDK never receives the stream termination signal, isLoading
stays true indefinitely, and the frontend appears hung with no response.Fix PR (OPEN, MERGEABLE, awaiting review):
- PR #1041 — consolidated fix adding encode_finish()+encode_done()after error events
Action needed:
Human review and merge of PR #1041.P
Patrick Jean
Verification (2026-04-25) — SSE Stream Hang — Bug Still Present, PRs Mergeable
main
at 702cd900 (no new commits since last verification).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:280-282
— Non-GraphRecursionError exceptions call encode_error()
but never call encode_finish()
/encode_done()
, so the frontend SSE consumer hangs indefinitely waiting for stream termination signals. This causes "won't respond" and "blank message" symptoms reported by students.Fix PRs (all MERGEABLE):
- PR #1041 — Consolidated fix (SSE hang + quiz subject bias + grade label)
- PR #1035 — SSE stream hang + grade label + profile setup
- PR #1031 — SSE stream hang + grade label
Action needed:
Merge PR #1041 for the broadest fix coverage (3 bugs).P
Patrick Jean
Verification (2026-04-24) — SSE Stream Hang — All Fix PRs Confirmed Mergeable
main
at 86fec90c (no change). Bug confirmed present: backend/domains/shared/chat/sse_stream.py:280-282
— non-recursion error path emits encode_error()
but no encode_finish()
/encode_done()
, causing client to hang indefinitely.Fix is in
PR #1041
(MERGEABLE, REVIEW_REQUIRED). The PR adds finish/done events to the error path so the client always gets a clean stream termination.Blocker:
Human review approval needed. This is the highest-impact fix — it affects all chat reliability.P
Patrick Jean
Verification (2026-04-24) — SSE Stream Hang — Correction: PR Is Mergeable
main
at 86fec90c (unchanged since last check).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:280-282
— generic exception handler yields encode_error()
but does NOT send encode_finish()
/encode_done()
, causing the client to hang indefinitely. The GraphRecursionError
path above (lines 277-279) correctly sends both finalize events, but the generic else
branch does not.Status correction:
Previous comments stated PR needs rebase — this is no longer accurate
. PR #1041 is currently MERGEABLE
with no conflicts:- PR #1041 (fix(student,chat,ui)) — fixes SSE hang + quiz subject bias + grade label. Mergeable, awaiting human review.
Blocked on:
Human review approval. No code changes or rebasing needed.C
Claude Code (Investigator)
Verification (2026-04-24) — SSE Stream Hang — No Change, PR Needs Rebase
main
at 86fec90c (unchanged since last check).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:280-282
— generic except
path sends encode_error()
without encode_finish
/encode_done
, leaving the client SSE stream hanging on non-recursion errors.PR #1041 status:
OPEN, MERGEABLE, but BEHIND main
— needs rebase before merge. Only has bot review (Codex). Awaiting human review.
Note:
There are 13 open PRs (#1031–#1043) that are various iterations of fixes for this and related bugs. PRs #1031–#1040 appear to be superseded by #1041 and could be closed to reduce clutter.P
Patrick Jean
Verification (2026-04-24) — SSE Stream Hang — No Change
main
at 86fec90c (no new commits since last check).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:280-282
— generic exception handler yields only encode_error()
without encode_finish
/encode_done
, causing SSE stream to hang on non-recursion errors.Fix PR:
#1041 still OPEN, awaiting human review/merge. No competing or superseding changes on main.P
Patrick Jean
Verification (2026-04-24) — SSE Stream Hang (No Response) — No Change
main
at 86fec90c (no new commits since last check on 2026-04-23).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py
— broad exception handling can swallow errors during event iteration, causing silent stream hang. Error encoding at line 281-282 handles some cases but exceptions before message encoding may produce incomplete SSE output.Fix PR still open:
PR #1041 — includes SSE hang fix alongside quiz subject and grade label fixes.Action needed:
PR #1041 needs review and merge to resolve this bug. No code changes on main since last verification.P
Patrick Jean
Verification (2026-04-23) — SSE Stream Hang (No Response) — Consolidated Status
main
at 86fec90c (no new commits since last check).Bug confirmed present:
backend/domains/shared/chat/sse_stream.py:282
— generic exception handler yields encode_error()
but omits encode_finish("stop")
and encode_done("stop")
, leaving the SSE stream open. Client hangs indefinitely waiting for termination events.Fix PR awaiting human review:
- PR #1041: REVIEW_REQUIRED, behindmain, mergeable. Fixes this + quiz subject bias + grade label duplication.
Duplicate posts:
This same root cause affects posts "It didn't respond" (#69e8f3d8) and "blank text response" (#69cbf585).Duplicate PRs:
#1033, #1034, #1035 are older iterations superseded by #1041 — recommend closing them.No code changes to make — blocked on PR review.
Load More
→