Commit 43d1559
Fix freebuff grace-period hang where UI looks stuck streaming
Two separate hang vectors after a freebuff session ends mid-run:
1. `handleFreebuffGateError` for session_expired/waiting_room_required
only flipped session state — it never finalized the in-flight AI
message. Result: `isComplete` stayed false, the streaming cursor kept
rendering, and the batched-updater flush interval leaked. Users saw
an apparently still-streaming message next to the rejoin banner,
assumed the agent was working, and waited indefinitely. Now calls
`updater.markComplete()` so the message visibly finalizes.
2. If the agent was mid-`ask_user` when the session ended, the
SessionEndedBanner replaced the ChatInputBar and hid the answer form,
leaving the agent waiting on input that could never arrive. Chat.tsx
now lets ask_user take precedence over the banner (same pattern as
review mode) so in-flight runs can still finish during grace.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent 21d5dd3 commit 43d1559
2 files changed
Lines changed: 16 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1473 | 1473 | | |
1474 | 1474 | | |
1475 | 1475 | | |
1476 | | - | |
1477 | | - | |
1478 | | - | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
1479 | 1481 | | |
1480 | 1482 | | |
1481 | 1483 | | |
1482 | 1484 | | |
1483 | 1485 | | |
1484 | | - | |
| 1486 | + | |
1485 | 1487 | | |
1486 | 1488 | | |
1487 | 1489 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
517 | 523 | | |
518 | 524 | | |
519 | 525 | | |
| |||
0 commit comments