Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Fix OpenCode event session routing - #2634

Closed
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta
Closed

Fix OpenCode event session routing#2634
samjandris wants to merge 1 commit into
pingdotgg:mainfrom
samjandris:feature/feat/opencode-content-delta

Conversation

@samjandris

@samjandrissamjandris commented May 11, 2026

Copy link
Copy Markdown

Summary

  • switch OpenCode runtime events from the now-empty /event stream to /global/event
  • unwrap global event payloads for the active session directory before using the existing provider event projection
  • add regression coverage that the adapter uses the global event stream and handles wrapped OpenCode message events

Fixes#2633

Test plan

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/server test src/provider/Layers/OpenCodeAdapter.test.ts

Note

Medium Risk
Changes how OpenCode runtime events are consumed and filtered (switching to global.event and dropping non-matching directories), which could affect event delivery/completion semantics across sessions if the upstream event shape differs.

Overview
Routes OpenCode runtime event consumption from the per-session event.subscribe stream to client.global.event, and updates the adapter to unwrap payload and ignore events not matching the session directory before projecting provider runtime events.

Updates the event type aliasing to reflect the wrapped global-event shape, and extends the test double + adds a regression test that enforces use of global.event (throwing if event.subscribe is called) and validates content.delta emission from wrapped message events for the correct session directory.

Reviewed by Cursor Bugbot for commit f4137b5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix OpenCode event session routing by filtering global events by directory

  • Switches the event subscription in OpenCodeAdapter.ts from client.event.subscribe to client.global.event, which emits events for all directories.
  • Adds directory-based filtering so only events whose directory matches the session's working directory are forwarded to the event handler.
  • Updates the OpenCodeSubscribedEvent type alias to extract the payload field from global events, resolving to never for events without a payload.
  • Test doubles in OpenCodeAdapter.test.ts are updated to simulate long-lived, abortable global event streams and assert directory-scoped filtering behavior.
  • Behavioral Change: event.subscribe is no longer used; the adapter now receives all directory events globally and filters client-side.

Macroscope summarized f4137b5.

@coderabbitai

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55b9fcd7-0c11-4402-8a03-ba38fa940586

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts Outdated
@macroscopeapp

macroscopeappBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR changes runtime event routing by switching to a global event API and adding directory-based filtering. While focused and well-tested, the change affects which sessions receive which events, representing a meaningful runtime behavior change that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 8905c26 to a4eb68fCompareMay 11, 2026 00:56
@samjandrissamjandris changed the title Fix OpenCode assistant streamingFix OpenCode event session routingMay 11, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4eb68fadae2d34da3243a35ab10dee2725a08d5. Configure here.

Comment threadapps/server/src/provider/Layers/OpenCodeAdapter.ts
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from a4eb68f to fb98a2aCompareMay 11, 2026 01:05
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 01:06

Dismissing prior approval to re-evaluate fb98a2a

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandrissamjandris changed the title Fix OpenCode event session routingwip: Fix OpenCode event session routingMay 11, 2026
@samjandris
samjandris marked this pull request as draft May 11, 2026 01:08
macroscopeapp[bot]
macroscopeappBot previously approved these changes May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch 2 times, most recently from d1e2892 to 45b5d2cCompareMay 11, 2026 01:25
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 45b5d2c to 58774a5CompareMay 11, 2026 02:08
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from 58774a5 to fb8297cCompareMay 11, 2026 03:32
@github-actionsgithub-actionsBot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris marked this pull request as ready for review May 11, 2026 03:38
@macroscopeapp
macroscopeappBot dismissed their stale reviewMay 11, 2026 03:38

Dismissing prior approval to re-evaluate fb8297c

@samjandrissamjandris changed the title wip: Fix OpenCode event session routingFix OpenCode event session routingMay 11, 2026
@samjandris
samjandrisforce-pushed the feature/feat/opencode-content-delta branch from fb8297c to f4137b5CompareMay 11, 2026 12:15
@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 11, 2026
@samjandris
samjandris deleted the feature/feat/opencode-content-delta branch May 13, 2026 11:57
@samjandris

samjandris commented May 13, 2026

Copy link
Copy Markdown
Author

Replacement PR opened from the corrected fork branch: #2673 (samjandris:fix/opencode-event-stream).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: OpenCode not syncing/working

1 participant

@samjandris