Repository navigation
Conversation
|
Build successful! ✅ |
| if ( | ||
| parsed.scheme != "wss" | ||
| or not (host == "gateway.discord.gg" or host.endswith(".gateway.discord.gg")) | ||
| or parsed.port is not None |
There was a problem hiding this comment.
[P1] Accept Discord's regional Gateway hostnames
A normal READY payload can contain resume_gateway_url: wss://gateway-us-east1-b.discord.gg (see the raw READY payload in Discord's API tracker). This host is neither gateway.discord.gg nor a subdomain of it, so this guard rejects it. _read() calls gateway_url() before setting connected or saving the session, which means the initial connection closes immediately and emits no messages; this is not limited to reconnects. Replaying that READY payload against this head reproduces the failure. Please allow Discord's regional Gateway hostname form while retaining the scheme/authority restrictions, and cover a regional URL in the READY and resume paths.
Adds Discord guild-message and mention triggers through the supervised Gateway listener, plus send and reply actions. Each verified bot has one active receiver. Gateway triggers require a self-managed listener and a single-shard bot. Actions also support hosted, Desktop, and headless execution.
Fresh JSON and Python CLI tests preserve supported headless actions. The guide covers bot setup, intents, permissions, session replay limits, event identity, and reconnect followed by Resume. Slash commands and interaction responses remain unsupported.
Depends on #15947. This branch includes the shared runtime prerequisite and targets release-1.14.0.
Verification
54 provider, recovery, and API tests passed. 84 bundle and capability contract tests passed. 331 connection, trigger, and locale UI tests passed. The full documentation build passed. Commands used synced environments with this branch first on PYTHONPATH.
Live provider acceptance and public documentation deployment remain unverified. The shared frontend type check has 255 baseline errors, unchanged before and after the fixes in the Jira and Confluence reference branches. CI and review remain separate requirements.