Sign in
Create an account or log in to run the realtime chat demo.
Conversations
Selected conversation
Chat
Select a conversation to connect
Breakers
Deliberate fault injection — secondary proof tools. Primary chat actions stay in the composer below.
Watch: CONNECTING → SYNCING → LIVE; missing messages arrive; feed gains no duplicate rows.
Watch: ack carries the original seq; the feed gains no new row.
Watch: history returns exactly five messages; re-render is seq-idempotent (no duplicate rows).
Watch: browsers always drain the receive buffer — this button does not trigger server abort 4013. The installed Uvicorn adapter lacks TCP-to-application backpressure; see scripts/slow_consumer.py (README).
Use a bot-enabled conversation (the list does not show that flag). Watch: your message and the bot's reply to it both appear (sender-scoped idempotency).