Two fixes for the rendered text views (chat stream, log snapshot): 1. Lost wakeup: blocking stream readers captured the signal channel after their data check, so a write landing in that window signaled a now-stale channel and the reader blocked until the next event (the TUI's last message appeared only after the next prompt). Stream and BlockOnce now capture the signal channel before reading; chat.go swaps the channel under chatMu via signalChatLocked and RawLogStream captures it while holding the lock. 2. No streaming in TUI: textLog only received finalized blocks, so the chat text stream showed nothing until a block completed. SetPartial now appends the assistant partial's new suffix to textLog incrementally (tracking textPartialLen); AppendBlock appends only the trailing separator on finalization to avoid duplicating the body. |
||
|---|---|---|
| .. | ||
| ollie-9p | ||
| olliesrv | ||
| toolsrv | ||