Skip to content

fix(app): pin opencode sidecar+SDK to v1.14.38 to restore live streaming#1772

Open
jonharris0n wants to merge 1 commit into
different-ai:devfrom
jonharris0n:fix/pin-opencode-1.14.38
Open

fix(app): pin opencode sidecar+SDK to v1.14.38 to restore live streaming#1772
jonharris0n wants to merge 1 commit into
different-ai:devfrom
jonharris0n:fix/pin-opencode-1.14.38

Conversation

@jonharris0n
Copy link
Copy Markdown

Summary

The opencode bump to v1.14.48 in 2993b80 broke live session streaming. After sending a prompt the chat UI is stuck on the "Thinking" indicator — no user bubble appears, and the assistant response never streams in. The conversation only becomes visible after a manual refresh.

The getSessionSnapshot HTTP endpoint still returns the messages correctly (which is why refresh recovers everything), so the data is reaching opencode fine. The regression sits in the SSE event path between opencode 1.14.48 and the renderer's session-sync.ts — somewhere between those versions the live event stream stopped being consumed correctly by our app.

I verified empirically: with applyRevertCursor disabled the bug persists; with the SDK + bundled sidecar pinned back to 1.14.38 (and otherwise unchanged code) chats stream normally again on a fresh Electron build.

This PR is a minimal hot-fix: revert constants.json and apps/app/package.json to the 1.14.38 line that 2993b80 changed, plus the corresponding pnpm-lock.yaml updates. No app or server source changes.

Repro on the current dev

  1. Build a fresh Electron app and launch.
  2. Open any workspace, type a prompt, press send.
  3. Observe: "Thinking" indicator appears, no user bubble, no response.
  4. Refresh the window → full conversation (both user prompt and assistant reply) becomes visible.

After this patch

Same steps; the user bubble appears immediately, assistant reply streams in token-by-token as expected.

Follow-up (not in this PR)

We should bisect opencode 1.14.39…1.14.48 to identify which upstream change broke the SSE shape, then patch session-sync.applyEvent / normalizeEvent so we can bump opencode forward again. The current applyEvent guards drop events silently when they don't match the expected {type, properties: {info: {id, role, sessionID}}, …} shape — likely candidates are a renamed field, a removed info.sessionID, or a new role value outside the user|assistant|system whitelist.

Test plan

  • Fresh pnpm install resolves @opencode-ai/sdk to 1.14.38 (verified in lockfile)
  • pnpm --filter @openwork/desktop package:electron:dir succeeds; bundled versions.json shows opencode: 1.14.38
  • Launching the resulting .app, sending a prompt, and watching the response stream in works end-to-end (this was the failing case before the pin)
  • Reviewer: confirm no other workspace/script implicitly requires the 1.14.48 sidecar

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openwork-landing Error Error May 12, 2026 11:58pm

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 12, 2026

@jonrmls is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

The bump to opencode v1.14.48 (2993b80) regresses live session
streaming: after sending a prompt the UI is stuck on the "Thinking"
indicator with no user bubble, and the assistant response never
appears until the session is refreshed.

The session snapshot endpoint still works (which is why refresh
recovers), so the regression is in the SSE event path between
opencode 1.14.48 and the renderer's session-sync — confirmed
empirically by rebuilding the Electron app with the SDK + bundled
sidecar pinned back to 1.14.38: chats stream normally again.

This is a hot-fix pin to unblock users. A follow-up should bisect
1.14.39..1.14.48 to find the upstream change and adjust session-sync
so we can move forward again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant