anomalyco / anomalyco/opencode
[Bug] Web UI freezes mid-session behind nginx reverse proxy (SSE /global/event stream drops); page refresh required
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
The web UI gets stuck mid-session when accessed through a reverse proxy: it starts processing (spinner keeps spinning on the last line) but no new output ever appears. The session actually keeps running server-side — a manual page refresh shows everything that was executed. Without a refresh the UI never recovers. It looks like the live event stream dies silently (no error shown, no reconnection).
Plugins
MCP servers: open-design (remote). Custom provider via Omniroute gateway.
OpenCode version
1.18.14
Steps to reproduce
- Run
opencode web --port 4096 --hostname 0.0.0.0 --cors https://opencode.afonsoft.devbehind an nginx reverse proxy (withproxy_http_version 1.1+ Upgrade headers,proxy_read_timeout 6000s). - Open the web UI in a browser via the proxied HTTPS URL.
- Start a new session / send a message that takes a while (tool calls, long runs).
- Watch the UI freeze on the last line after some time; no further updates arrive even though the run is progressing server-side.
- Refresh the page — all progress that happened in the meantime appears.
Screenshot and/or share link
N/A
Operating System
Server: Ubuntu 24.04.4 LTS (aarch64). Browser: Windows 11 (Chrome/Edge) accessing the proxied web UI.
Terminal
N/A (web UI at https://opencode.afonsoft.dev)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the opencode web entry point and trace the /global/event SSE stream while reproducing the freeze through the stated nginx reverse-proxy setup. The issue names no source files or tests; done means the web UI continues receiving progress or recovers from a dropped stream without requiring a page refresh.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nginx, typescript
- Domain
- frontend, networking, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100