hack-house/hh/src
leetcrypt 9158a488f7 fix(ui): batch-drain incoming frames so a sandbox stream can't stall chat
The reader funnels both chat and high-volume _sbx:data terminal frames
through one channel, and the UI loop redraws after handling a single frame
per turn — so on a viewer's side each chat message queued behind hundreds
of sandbox frames only surfaced one-per-redraw, making chat appear to
buffer/stall whenever a shared shell was scrolling output.

Drain a bounded burst (up to 256) of ready frames per turn via a new
drain_ready() helper, keeping chat latency bounded no matter how hard the
sandbox is streaming. Add regression tests covering FIFO/cap behavior and
chat surfacing within a few turns under flood.

Also add connect.sh: a join helper with a default port that keeps the room
password in RAM only (no-echo prompt or env var, never written to disk).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 14:20:40 -07:00
..
app.rs fix(ui): batch-drain incoming frames so a sandbox stream can't stall chat 2026-06-02 14:20:40 -07:00
crypto.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
ft.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
main.rs feat(client): prompt for a handle on join when none is given 2026-06-01 22:31:48 -07:00
net.rs feat(ai): /ai start|stop agent control + in-room typing indicator 2026-06-01 11:38:15 -07:00
sbx.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
theme.rs ci: proper Rust+Python CI workflow; cargo fmt + clippy clean 2026-06-01 00:52:20 -07:00
ui.rs feat(ui): scrollable help menu, Esc-to-close, + blush/matrix/wraith themes 2026-06-01 22:09:08 -07:00