anomalyco / anomalyco/opencode

[Bug] Web UI freezes mid-session behind nginx reverse proxy (SSE /global/event stream drops); page refresh required

Open
#40,910 1 comment 2 reactions 0 assignees View on GitHub

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

  1. Run opencode web --port 4096 --hostname 0.0.0.0 --cors https://opencode.afonsoft.dev behind an nginx reverse proxy (with proxy_http_version 1.1 + Upgrade headers, proxy_read_timeout 6000s).
  2. Open the web UI in a browser via the proxied HTTPS URL.
  3. Start a new session / send a message that takes a while (tool calls, long runs).
  4. Watch the UI freeze on the last line after some time; no further updates arrive even though the run is progressing server-side.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.