-
Notifications
You must be signed in to change notification settings - Fork 120
Open
Description
Bug
The agent stops responding when multiple browser tabs are open against the deployed app. On the third tab, the agent hangs after the user sends a message — no response, no streaming indicator, no error.
Steps to reproduce
- Open the deployed app in tab 1, send a message (e.g. "visualize a musical chart") — works fine
- Open tab 2, send a message — works fine
- Open tab 3, send a message (e.g. "I want to understand the difference between BFS and DFS...") — agent never responds
The UI shows the user messages and suggestion chips ("Try these Prompts") but no assistant response arrives. No loading indicator, no error state.
Screenshot

The chat shows:
- "visualize a musical chart"
- "Create a 3D animation of a sphere turning into an icosahedron..."
- "I want to understand the difference between BFS and DFS. Create an interactive comparison on a node graph."
None received a response. Suggestion chips are visible but the agent is unresponsive.
Possible causes
- Thread/session exhaustion — The agent uses
BoundedMemorySaver(max_threads=200)inmain.py. Multiple tabs may be creating separate threads that exhaust the pool or hit a concurrency limit. - WebSocket/SSE connection limit — The browser or server may be hitting a connection limit for streaming responses.
- LangGraph checkpoint contention — Multiple concurrent sessions writing to the in-memory checkpointer could cause deadlocks.
- OpenAI API rate limiting — Multiple concurrent requests to GPT-5.4 could hit rate limits with no visible error surfaced to the user.
- Missing error handling — The frontend may not surface backend errors, making it look like the agent is "thinking" forever.
Expected behavior
Each tab should operate as an independent session. If a resource limit is reached, the user should see an error message rather than silent failure.
Environment
- Deployed on Render
- Agent: LangGraph + CopilotKit middleware
- Model: GPT-5.4 via langchain_openai
- Checkpointer:
BoundedMemorySaver(max_threads=200)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels