Merged
Conversation
…pace buttons in the sidebar
…y after running tests (#16249)
Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
# Conflicts: # packages/opencode/package.json # packages/opencode/src/acp/agent.ts # packages/opencode/src/cli/cmd/auth.ts # packages/opencode/src/cli/cmd/tui/worker.ts
Keep all upstream packages to avoid merge friction on future upstream merges. Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
- Accept upstream's version for skipFiles instead of `git rm` - Remove `cleanSkippedPackages()` post-merge step - Prevents merge friction on future upstream merges Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
…ACP Agent Required by upstream v1.2.20 bash output streaming feature. Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
Post-merge now runs build, test, and typecheck before declaring success. Stops on build failure; warns on test/typecheck failures (since some may be pre-existing). Co-Authored-By: Kai (Claude Opus 4.6) <noreply@anthropic.com>
Comment on lines
346
to
348
| await this.connection | ||
| .sessionUpdate({ | ||
| sessionId, |
There was a problem hiding this comment.
Bug: The content variable, holding bash output, is created but not included in the sessionUpdate payload, preventing the output from being streamed to the client.
Severity: CRITICAL
Suggested Fix
Add the content variable to the update object within the this.connection.sessionUpdate call in the case "running" block. The line should be content, inside the update object literal.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: packages/opencode/src/acp/agent.ts#L346-L348
Potential issue: In the `handleEvent` function, the `case "running"` block for tool
calls correctly populates a `content` variable with new bash output. However, the
subsequent `this.connection.sessionUpdate` call that sends the update to the client
omits this `content` field from its payload. As a result, while the logic for detecting
new output and de-duplicating it is present, the actual output content is never
transmitted. This effectively breaks the bash output streaming feature, as the client
will not receive any updates for running commands.
anandgupta42
pushed a commit
that referenced
this pull request
Mar 17, 2026
chore: merge upstream opencode v1.2.20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
package.jsonversion,agent.tsbash streaming,auth.ts+worker.tsnew importsbun.lockUpstream changes (v1.2.18 → v1.2.20)
Bun.hash,Bun.write,Bun.sleep,Bun.stdin, etc.)Test plan
bun run buildpassesbun test— 1432 pass, 51 fail (same as main, no new failures)plugin/index.tserror (same as main)