Skip to content

[Bug]: WebUI Team mode: REALTIME_BACKPRESSURE drops user messages & status events — UI stuck until full restart #3832

Description

@wchmike

Module

Team Collaboration

Platform

Linux

AionUi Version

v2.1.44

Bug Description

In WebUI mode (headless VPS, aionui-web standalone, no Electron), when a Team is running, the WebSocket outbound channel saturates and the backend silently drops user broadcast messages. The UI stops showing messages/status updates (spinners keep spinning forever), but the agents DO receive and execute the messages — the user just can't see anything.

Refreshing the page does NOT help (the saturated channel lives in the aioncore process). Only a full aioncore restart recovers the UI.

Log evidence (32,000+ occurrences within 8 minutes of a single Team run):

WARN outbound channel full, user broadcast message dropped
conn_id=conn-1, user_id=system_default_user, code=REALTIME_BACKPRESSURE
target=aionui_realtime::manager

Root cause: PER_CONNECTION_BUFFER = 64 (crates/aionui-realtime/src/types.rs). Team mode with multiple agents broadcasting saturates the 64-slot mpsc channel in seconds; try_send then drops messages silently.

Steps to Reproduce

  1. Create a Team with a lead + 3-4 teammates
  2. Run a task where multiple agents produce output simultaneously
  3. Within minutes, UI stops showing new messages/status; spinners stuck
  4. Refresh the page — nothing changes
  5. Only restarting the aioncore process recovers the UI

Expected Behavior

Messages and status events should not be silently dropped when the channel is saturated. Prefer backpressure (send().await) or drop low-priority events instead. Increasing PER_CONNECTION_BUFFER (64 → 512+) would significantly reduce saturation.

Team mode is currently unusable for sustained multi-agent runs — requires manual restart before every new task.

Actual Behavior

Messages sent by the user DO reach the agents and get executed (agents respond and act), but the WebUI panel never displays them. Status spinners keep spinning forever. Refreshing the page has no effect — the UI stays stuck until the aioncore process is fully restarted.

Backend logs show the cause: "outbound channel full, user broadcast message dropped" (REALTIME_BACKPRESSURE) — thousands of occurrences within minutes of a Team run.

Additional Context

No response

Metadata

Metadata

Assignees

Labels

area/team团队协作bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions