Repository navigation
opencode plugin: send surface_id on feed events - #14781
Conversation
Feed events from opencode only carried workspace_id, so attention targeting fell back to the hook-session store or the focused pane even though the Swift side (WorkstreamEvent.surfaceId, #6798) already prefers an explicit surface. Read CMUX_SURFACE_ID like CMUX_WORKSPACE_ID and set surface_id when present. From #6504 by @e-jung. Co-authored-by: e-jung <e-jung@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughThe OpenCode event base function reads and trims ChangesEvent surface ID
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~5 minutes Change: Feature Merge Risk: ⚪ Minimal · up to This change enables explicit surface targeting while retaining existing fallback behavior when no surface ID is available. No merge-blocking risk is apparent. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to A plugin-provided surface identifier may influence which pane receives an attention event or permission prompt. The available code does not establish that OpenCode events are bound to the pane that launched them, although permission replies still target their original OpenCode session. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
Full details: Description checkExplanation The description clearly explains the problem and resulting behavior, but it omits the required Testing section and checklist. It does not state which tests ran, what passed, or why tests were not added. A demo is not clearly required because this is not a UI change.
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merge receipt for |
f39a1e5 Localize the Cancel button in close-confirmation dialogs (manaflow-ai#14780) 1508a9b opencode plugin: send surface_id on feed events (manaflow-ai#14781) 766c2c2 deps: bump iroh-ffi to 1.2.0-cmux.1.ios17 (iroh 1.2.0 + noq 1.3.0) (manaflow-ai#14714) 79a6ff6 Keep active pane border aligned when split zoom changes pane bounds (manaflow-ai#14646) a3a8726 mobile: give each terminal's render-grid output its own QUIC stream (manaflow-ai#14699) b7c3d23 fix: echo requested PID from delivery target resolution (manaflow-ai#11166) 11bcc80 ci: fill idle and briefly busy owned minis before Blacksmith (manaflow-ai#14774) # Conflicts: # .github/workflows/test-e2e.yml
opencode feed events only carry
workspace_id, so attention targeting falls back to the hook-session store or the focused pane. The Swift side already prefers an explicit surface (WorkstreamEvent.surfaceId, #6798). This readsCMUX_SURFACE_IDthe same way asCMUX_WORKSPACE_IDand setssurface_idwhen present.This is the plugin half of #6504 by @e-jung, which main still needed. Co-authored with them.
🤖 Generated with Claude Code
Summary by cubic
Adds
surface_idto opencode feed events so attention targeting can use the explicit surface instead of falling back to the hook-session store or focused pane.CMUX_SURFACE_IDthe same way asCMUX_WORKSPACE_IDand setssurface_idon the event when present.WorkstreamEvent.surfaceId.Written for commit 4d5b61b. Summary will update on new commits.
Summary by CodeRabbit