Skip to content

fix(discord): route gateway through sandbox proxy#3935

Merged
ericksoa merged 5 commits into
mainfrom
fix/discord-gateway-3894
May 21, 2026
Merged

fix(discord): route gateway through sandbox proxy#3935
ericksoa merged 5 commits into
mainfrom
fix/discord-gateway-3894

Conversation

@ericksoa
Copy link
Copy Markdown
Contributor

@ericksoa ericksoa commented May 20, 2026

Summary

Fixes #3894

Verification

  • python3 -m py_compile scripts/generate-openclaw-config.py
  • git diff --check
  • npx vitest run test/generate-openclaw-config.test.ts (76 tests passed)

Notes

Summary by CodeRabbit

  • Bug Fixes

    • Proxy configuration now correctly applies to Discord accounts, matching other channels.
  • Tests

    • Unit tests updated to assert Discord receives the configured proxy; new regression added.
    • End-to-end tests and gateway simulations enhanced to verify Discord proxy wiring and connection behavior when a per-account proxy is present.

Review Change Stack

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d9f5fe55-6e02-4b98-bc52-b33249a40c4b

📥 Commits

Reviewing files that changed from the base of the PR and between baaf85b and 9726cb2.

📒 Files selected for processing (1)
  • test/e2e/test-messaging-providers.sh

📝 Walkthrough

Walkthrough

Generator now sets account["proxy"] for Discord as well as Telegram. Unit tests updated to expect Discord proxy (default and custom) and e2e tests/fake gateway client updated to validate proxy-driven Discord Gateway websocket behavior (regression #3894).

Changes

Discord Proxy Routing Configuration

Layer / File(s) Summary
Generator conditional and unit tests
scripts/generate-openclaw-config.py, test/generate-openclaw-config.test.ts
Generator now sets account["proxy"] for discord and telegram. Unit test for non-Slack channels updated to expect Discord proxy; regression test #3894 added to validate custom proxy host/port for Discord accounts.
E2E assertions and fake gateway client proxy wiring
test/e2e/test-messaging-providers.sh, test/e2e/lib/discord-gateway-proof.sh
Adds M9b e2e assertion that checks Discord account proxy in /sandbox/.openclaw/openclaw.json, updates hermetic Discord WebSocket proof comments to reference proxy-driven config, and makes the fake gateway Node client accept/use an explicit proxy_url to produce proxy-driven transcript assertions.

Sequence Diagram(s)

sequenceDiagram
  participant ConfigGenerator as generate-openclaw-config.py
  participant Sandbox as /sandbox/.openclaw/openclaw.json
  participant TestRunner as test-messaging-providers.sh
  participant FakeClient as fake-gateway Node client
  ConfigGenerator->>Sandbox: write channels.discord.accounts.*.proxy
  TestRunner->>Sandbox: read discord account proxy (M9b)
  alt proxy present
    TestRunner->>FakeClient: start with proxy_url (M13d-config)
    FakeClient->>DiscordGateway: connect via proxy (proxyUrl)
    DiscordGateway-->>FakeClient: UPGRADE / HELLO / READY / HEARTBEAT_ACK
    FakeClient-->>TestRunner: transcript contains expected markers
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

  • NVIDIA/NemoClaw#3663: Similar e2e verification changes asserting Discord is routed through the expected OpenShell proxy/gateway.

Suggested labels

fix, Integration: Telegram, enhancement: testing, E2E

Suggested reviewers

  • jyaunches

"I hopped through configs, sly and spry,
Wired Discord's paths to where proxies lie,
Tokens still sing, heartbeats now keep time,
Tests tap the gateway, transcripts chime,
A carrot for builds — ready, and fine!" 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(discord): route gateway through sandbox proxy' accurately describes the main change: applying proxy routing to Discord accounts in the OpenClaw config generation, matching the PR objectives of routing Discord Gateway/WebSocket traffic through the sandbox proxy.
Linked Issues check ✅ Passed The PR changes directly address issue #3894 objectives: updating OpenClaw Discord account config to route Gateway/WebSocket traffic through sandbox proxy [#3894], adding regression test with custom proxy host/port [#3894], and preserving REST behavior while enabling WebSocket connectivity [#3894].
Out of Scope Changes check ✅ Passed All changes are directly scoped to applying proxy configuration to Discord accounts (config generation, unit tests, and E2E tests), with no unrelated modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/discord-gateway-3894

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 20, 2026

E2E Advisor Recommendation

Required E2E: messaging-providers-e2e
Optional E2E: channels-stop-start-e2e, token-rotation-e2e

Dispatch hint: messaging-providers-e2e

Auto-dispatched E2E: messaging-providers-e2e via nightly-e2e.yaml at 3673bdc859c17d566818e66baabba1211d703755nightly run

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • messaging-providers-e2e (~75 min): Required because the runtime config generator change affects Discord messaging provider setup, OpenShell proxy routing, token placeholder rewriting, and the hermetic Discord Gateway proof added to test-messaging-providers.sh.

Optional E2E

  • channels-stop-start-e2e (~120 min): Optional adjacent coverage for Discord channel lifecycle behavior across stop/start/remove/rebuild paths; useful if reviewers want extra confidence that persisted channel state still behaves with the new proxy field.
  • token-rotation-e2e (~45 min): Optional adjacent credential propagation coverage for Discord token rotation and provider rewrite behavior, though the changed WebSocket proxy path is more directly covered by messaging-providers-e2e.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: nightly-e2e.yaml
  • jobs input: messaging-providers-e2e

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 20, 2026

PR Review Advisor

Recommendation: blocked
Confidence: high
Analyzed HEAD: 3673bdc859c17d566818e66baabba1211d703755
Findings: 2 blocker(s), 3 warning(s), 0 suggestion(s)

This is an automated advisory review. A human maintainer must make the final merge decision.

Limitations: Review used trusted deterministic context, linked issue text/comments, GraphQL/status data, drift/overlap evidence, and the provided read-only diff; no scripts, tests, package-manager commands, workflow dispatches, or networked validation were executed by this advisor.; PR title/body/comments/issue text were treated as untrusted evidence and mapped only to diff/test/CI evidence where available.; Required messaging-providers-e2e passed for earlier SHA 9726cb2, but not for current head 3673bdc.; Runtime OpenClaw behavior for the Discord proxy account field was not independently verified in a live sandbox by this review.; CI/status contexts are still pending for the current head, so final gate state may change after this advisory result.

Workflow run

Full advisor summary

PR Review Advisor

Base: origin/main
Head: HEAD
Analyzed SHA: 3673bdc859c17d566818e66baabba1211d703755
Recommendation: blocked
Confidence: high

The Discord proxy wiring change is focused and has useful unit/E2E-script coverage, but merge is blocked because CI/mergeability are not green and required messaging-providers-e2e has not passed for the current head SHA 3673bdc.

Gate status

  • CI: pending — Deterministic gate context reports 10 pending status contexts for head 3673bdc; GraphQL shows in-progress/queued checks including E2E recommendation, wsl-e2e, PR review advisor, CodeQL, checks, ShellCheck SARIF, unit-vitest-linux, and sandbox image builds.
  • Mergeability: fail — GitHub reports mergeStateStatus=BLOCKED for PR fix(discord): route gateway through sandbox proxy #3935 at head 3673bdc.
  • Review threads: pass — 1 review thread is present and resolved; the CodeRabbit dc_proxy/set -u issue is marked addressed.
  • Risky code tested: warning — Risky areas detected: credentials/inference/network and onboarding/host glue. Unit tests and E2E scripts changed, and messaging-providers-e2e passed for 9726cb2, but no required E2E pass is provided for current merge head 3673bdc.

🔴 Blockers

  • Required merge gates are incomplete for the current head SHA: The current PR head has pending CI/status contexts and GitHub reports the merge state as blocked. This is a hard gate independent of code-level review outcome.
    • Recommendation: Wait for all required CI, CodeQL, unit, ShellCheck, sandbox image, review-advisor, CodeRabbit/E2E recommendation, and other protected checks to complete successfully for 3673bdc before considering merge.
    • Evidence: Deterministic context: ci.status=pending with 10 pending contexts; mergeability.status=fail with mergeStateStatus=BLOCKED. GraphQL headRefOid is 3673bdc and statusCheckRollup includes in-progress/queued checks.
  • Required messaging E2E has not passed for the current head SHA (scripts/generate-openclaw-config.py:518): The production change affects sandbox/runtime Discord Gateway routing by adding account.proxy to Discord config. The E2E Advisor requires messaging-providers-e2e. Passing evidence exists for earlier SHA 9726cb2, but the current head is merge commit 3673bdc.
    • Recommendation: Require messaging-providers-e2e to pass for 3673bdc, ideally showing the new M9b and M13d-config Discord proxy assertions execute successfully.
    • Evidence: E2E Advisor comment requires messaging-providers-e2e. Selective E2E success comment at 2026-05-20T23:46:41 targets 9726cb2, while the requested review headSha is 3673bdc.

🟡 Warnings

  • Active overlapping PRs touch the same generator and messaging E2E files: The changed files still exist and the patch applies to active code, but concurrent open PRs touch the same config generator, unit test, and messaging E2E script. This raises semantic drift and overwrite risk around OpenClaw config generation and messaging proxy behavior.
  • Discord proxy routing persists environment-derived proxy URL without local validation (scripts/generate-openclaw-config.py:518): The PR extends the existing proxy_url assignment from Telegram to Discord. This likely aligns Discord Gateway traffic with the sandbox proxy contract, but proxy host/port values are environment-derived and written into a credential-bearing Discord account configuration without validation in the changed path.
    • Recommendation: Confirm NEMOCLAW_PROXY_HOST and NEMOCLAW_PROXY_PORT are only supplied by trusted onboarding/sandbox control paths. Consider validating host and port format before persisting proxy_url, especially to reject malformed ports or unexpected proxy hosts.
    • Evidence: Diff changes if ch == "telegram": account["proxy"] = proxy_url to if ch in {"discord", "telegram"}: account["proxy"] = proxy_url; unit tests assert custom NEMOCLAW_PROXY_HOST 10.201.0.9 and NEMOCLAW_PROXY_PORT 43128 propagate into Discord account.proxy.
  • Linked issue runtime acceptance is only partially proven at the current head (test/generate-openclaw-config.test.ts:354): The new unit test proves generated openclaw.json contains Discord account.proxy and preserves the token placeholder, and the E2E script adds M9b plus M13d-config checks. However, the linked issue expected live Gateway WebSocket establishment, MESSAGE_CREATE/app_mention receipt, inference invocation, and Discord reply delivery. Current-head runtime evidence is still missing.
    • Recommendation: Do not treat runtime acceptance as complete until messaging-providers-e2e or equivalent Discord sandbox evidence passes for 3673bdc and covers the relevant Gateway/proxy behavior.
    • Evidence: Added unit test #3894: routes Discord gateway traffic through the configured OpenShell proxy asserts proxy: "http://10.201.0.9:43128"; test/e2e adds M9b and M13d-config fake Gateway proxy proof, but E2E success evidence targets earlier SHA 9726cb2, not current head 3673bdc.

🔵 Suggestions

  • None.

Acceptance coverage

  • partial — A NemoClaw sandbox onboarded with Discord channel enabled comes up in a degraded state where the bot can send messages via Discord REST API but never establishes the Discord Gateway WebSocket connection (wss://gateway.discord.gg).: The diff adds Discord account.proxy so OpenClaw has a per-account proxy setting for Gateway routing; unit tests assert generated config. No current-head runtime evidence shows a real Gateway WebSocket is established.
  • unknown — As a result the bot receives ZERO MESSAGE_CREATE / app_mention events from Discord, and a user @mention or DM never reaches the bot — silent black-hole.: No diff-level or current-head E2E evidence exercises live inbound Discord MESSAGE_CREATE/app_mention events, DMs, or channel mentions.
  • partial — The bot looks alive from outside (REST polling /users/@me + /oauth2/applications/@me succeeds every 60s, nemoclaw <name> status returns Phase=Ready, OCSF policy allows discord.com / *.discord.gg / cdn.discordapp.com per the discord preset) but is functionally one-way only.: The patch targets the likely missing Gateway proxy wiring but does not provide current-head live status, OCSF, or REST polling evidence.
  • unknown — This means the entire inbound half of the Discord messaging channel is broken — Bot DM, Group/Channel chat, Multi-turn context, and Sustained-session validation all fail at the inbound step.: Generated-config unit tests and fake Gateway proxy proofs do not cover Bot DM, group/channel chat, multi-turn context, or sustained-session validation in a real Discord environment.
  • partialPossible related: NVBug 6173802 / [NemoClaw][Linux][Discord] Discord preset connectivity test fails behind proxy: outbound CONNECT to discord.com / cdn.discordapp.com returns HTTP 403 (curl error 56) #3477 (Merc Lau) — outbound CONNECT to discord.com / gateway.discord.gg via the openshell internal proxy 10.200.0.1:3128 returns HTTP 403.: Patch routes Discord account config through http://10.200.0.1:3128 by default and E2E script has proxy-path checks, but no current-head run evidence demonstrates CONNECT behavior no longer returns 403.
  • partial — However, the bot's REST traffic clearly goes direct (OCSF logs show NET:OPEN /usr/local/bin/node(362) -> discord.com:443 ALLOWED via policy:discord engine:opa, no proxy hop), so the WS client may also be going direct and silently failing for a different reason.: The code change addresses the suspected direct-routing gap by adding account["proxy"] = proxy_url for Discord. Current-head OCSF logs are not provided to prove traffic now uses the proxy path.
  • partialDev triage to determine root cause.: The PR implements and tests one root-cause hypothesis: Discord account proxy omission. No supplied live triage evidence proves this is the complete root cause.
  • unknown — Device: DGX Station ci: auto-update release notes on push to main #1 (galaxy-sku2-018): No current-head DGX Station runtime evidence is provided.
  • unknown — OS: Ubuntu 24.04.4 LTS: No current-head Ubuntu 24.04.4 runtime evidence is provided.
  • unknown — Architecture: aarch64: No current-head aarch64 runtime evidence is provided; build-sandbox-images-arm64 is still queued/pending.
  • unknown — OpenClaw: 2026.4.24: No current-head OpenClaw runtime log/status evidence confirms this exact version in a sandbox.
  • unknown — Sandbox image: openshell/sandbox-from:1779263934: No current-head sandbox image runtime evidence is provided.
  • unknown — 1. nemoclaw onboard --name discord-sb --fresh -y: No onboarding run evidence is provided for current head 3673bdc.
  • unknown — - [3/8] Local Ollama (fix: update all repo references to NVIDIA/NemoClaw #7), model llama3.2:1b: No E2E evidence covers this exact onboarding selection for current head.
  • partial — - [5/8] toggle Discord (feature: custom settings for using build endpoints #2): Unit tests synthesize NEMOCLAW_MESSAGING_CHANNELS_B64 containing Discord; this does not exercise the interactive onboarding toggle.
  • unknown — - Paste Discord Bot Token, Server ID 1490999514902036564, reply mode Y (@mentions only), skip User ID allowlist: Tests use placeholders/fake tokens and do not cover real credential capture, guild ID capture, mention-only behavior, or allowlist skip in a running sandbox.
  • unknown — - [8/8] accept Balanced + default presets (discord auto-included): No current-head E2E evidence covers preset selection or policy inclusion through onboarding.
  • unknown — 2. After onboard completes, confirm the bot is alive:: No runtime sandbox status or log evidence is provided for current head.
  • unknownnemoclaw discord-sb status # → Phase=Ready, Agent OpenClaw v2026.4.24, Policies include discord: No status output evidence is included for 3673bdc.
  • unknownnemoclaw discord-sb logs # → repeating ALLOWED GET http://discord.com:443/api/v10/users/@me every 60s: No logs evidence is included for 3673bdc.

Security review

  • pass — 1. Secrets and Credentials: No hardcoded real tokens, passwords, API keys, PEMs, or credential JSON are added. Discord token remains openshell:resolve:env:DISCORD_BOT_TOKEN; tests assert placeholders and E2E checks are designed to ensure the host-side token is not persisted in openclaw.json.
  • warning — 2. Input Validation and Data Sanitization: The changed behavior writes a proxy URL constructed from NEMOCLAW_PROXY_HOST/NEMOCLAW_PROXY_PORT into Discord account config. This appears to be an existing trusted onboarding environment path, but the local generator does not validate host/port format before persisting the URL into a credential-bearing messaging channel configuration.
  • pass — 3. Authentication and Authorization: No endpoints, authentication checks, authorization logic, token validation, scopes, or permission checks are added or modified. Credential indirection for Discord is preserved.
  • pass — 4. Dependencies and Third-Party Libraries: No new dependencies, dependency versions, registries, or license-impacting changes are introduced.
  • pass — 5. Error Handling and Logging: No new application logging, exception handling, or error response paths are introduced. Added E2E output reports proxy assertion state but does not print real secret values in the diff.
  • pass — 6. Cryptography and Data Protection: Not applicable — no cryptographic operations, algorithms, key handling, or encryption-at-rest/in-transit implementation is changed. Token placeholder indirection remains in place.
  • warning — 7. Configuration and Security Headers: This is a security-sensitive sandbox/network configuration change: Discord account traffic is now routed through an environment-derived proxy URL. It likely aligns with the OpenShell proxy contract, but current-head E2E/network evidence is required to ensure traffic does not bypass policy or route through an unexpected proxy.
  • warning — 8. Security Testing: Unit tests cover generated Discord proxy config and placeholder preservation; E2E script adds M9b and M13d-config fake Gateway proxy/credential rewrite assertions. However, required E2E passing evidence is not available for head 3673bdc, and there are no negative tests for malformed proxy host/port or untrusted proxy override in the generator.
  • warning — 9. Holistic Security Posture: The change likely improves policy-aligned Discord Gateway routing, but it touches sandbox egress, proxy, and credential-bearing messaging paths. Until current-head CI/E2E completes, residual risk remains around policy interaction, proxy misuse, SSRF-style proxy abuse, and whether OpenClaw honors the field as intended.

Test / E2E status

  • Test depth: e2e_required — Runtime/sandbox/infrastructure paths need real execution coverage: scripts/generate-openclaw-config.py affects generated OpenClaw messaging configuration, Discord Gateway routing, OpenShell proxy policy behavior, credential rewrite, and inbound messaging behavior. Unit tests verify JSON generation and E2E scripts add useful M9b/M13d-config assertions, but current-head E2E evidence is required.
  • E2E Advisor: missing
  • Required E2E jobs: messaging-providers-e2e
  • Missing for analyzed SHA: messaging-providers-e2e

✅ What looks good

  • Production code change is minimal and focused: Discord now follows the existing Telegram proxy assignment path.
  • Token placeholder behavior is preserved for Discord and covered by updated unit assertions.
  • A regression unit test covers custom NEMOCLAW_PROXY_HOST/NEMOCLAW_PROXY_PORT propagation for [DGX Station][Agent&Skills] Discord bot never opens Gateway WebSocket; REST works but no inbound MESSAGE_CREATE events #3894.
  • The E2E script adds targeted M9b and M13d-config assertions tying generated Discord account config to the OpenShell proxy path and fake Gateway proof.
  • The prior CodeRabbit set -u concern was addressed with a safe dc_proxy_safe="${dc_proxy:-}" pattern.
  • The PR avoids unrelated Discord preset validation changes, reducing scope creep.

Review completeness

  • Review used trusted deterministic context, linked issue text/comments, GraphQL/status data, drift/overlap evidence, and the provided read-only diff; no scripts, tests, package-manager commands, workflow dispatches, or networked validation were executed by this advisor.
  • PR title/body/comments/issue text were treated as untrusted evidence and mapped only to diff/test/CI evidence where available.
  • Required messaging-providers-e2e passed for earlier SHA 9726cb2, but not for current head 3673bdc.
  • Runtime OpenClaw behavior for the Discord proxy account field was not independently verified in a live sandbox by this review.
  • CI/status contexts are still pending for the current head, so final gate state may change after this advisory result.
  • Human maintainer review required: yes

@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26193019896
Target ref: b0ca497680ae72f6835bab96545d80fdfa771cff
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ✅ success

ericksoa added 2 commits May 20, 2026 15:39
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26194160470
Target ref: c494c6f44a3e737ba1b05b3c938925fe91000c3c
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ⚠️ cancelled

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/e2e/test-messaging-providers.sh`:
- Around line 1459-1467: The script dereferences dc_proxy while running under
set -u which can cause an exit if dc_proxy is unset; update the checks and the
function call to use a safe default expansion. Replace occurrences of -n
"$dc_proxy" and -z "$dc_proxy" with -n "${dc_proxy:-}" and -z "${dc_proxy:-}",
and pass "${dc_proxy:-}" into run_fake_discord_gateway_node_client (and any
other direct uses) so the condition and call do not nounset-fail when dc_proxy
is not defined; keep the existing logic with fake_gateway_ready and
run_fake_discord_gateway_node_client unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d7abd9ef-c427-4e76-9f51-8a5d008a8cf6

📥 Commits

Reviewing files that changed from the base of the PR and between c494c6f and baaf85b.

📒 Files selected for processing (2)
  • test/e2e/lib/discord-gateway-proof.sh
  • test/e2e/test-messaging-providers.sh

Comment thread test/e2e/test-messaging-providers.sh Outdated
@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26194905795
Target ref: baaf85b404d1a501509dd813ebca6d7b3aa0d163
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ✅ success

@ericksoa ericksoa self-assigned this May 20, 2026
@ericksoa ericksoa added VDR Linked to VDR finding v0.0.47 Release target Integration: Discord Use this label to identify Discord bot integration issues with NemoClaw. labels May 20, 2026
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26195549058
Target ref: baaf85b404d1a501509dd813ebca6d7b3aa0d163
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ⚠️ cancelled

@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26195713286
Target ref: 9726cb24a559cc0fb25c0634defaeebf40d494f8
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 1 failed, 0 skipped

Job Result
messaging-providers-e2e ❌ failure

Failed jobs: messaging-providers-e2e. Check run artifacts for logs.

@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26195749695
Target ref: 9726cb24a6f0f01f899804271258f5be70378a7c
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ⚠️ cancelled

@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26195768070
Target ref: 9726cb24a6f0f01f899804271258f5be70378a7c
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ✅ success

@ericksoa ericksoa requested a review from cv May 20, 2026 23:55
@ericksoa ericksoa merged commit 5da07bc into main May 21, 2026
25 checks passed
@ericksoa ericksoa deleted the fix/discord-gateway-3894 branch May 21, 2026 00:10
@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26196860706
Target ref: 3673bdc859c17d566818e66baabba1211d703755
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
messaging-providers-e2e ✅ success

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

Labels

Integration: Discord Use this label to identify Discord bot integration issues with NemoClaw. v0.0.47 Release target VDR Linked to VDR finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DGX Station][Agent&Skills] Discord bot never opens Gateway WebSocket; REST works but no inbound MESSAGE_CREATE events

3 participants