Channel Gateway Operations
The gateway is the part of Wayland Core that moves messages between your agents and the outside world. Messaging Channels covers what the channels are; this page covers running the gateway that carries them.
Gateway operability landed in v0.12.26.
Delivery you can account for
Section titled “Delivery you can account for”The gateway keeps an exactly-once delivery ledger. A delivery is recorded once and delivered once, and the ledger is the record you reconcile against.
Two related behaviours follow from taking that seriously:
- Deliveries whose outcome is unknown are not re-sent to destinations that cannot dedupe. Retrying an unknown into a destination with no deduplication is how one message becomes three. Where the destination cannot protect you, the gateway does not gamble.
- Abandoned deliveries are exempt from compaction until someone has actually looked at them. A delivery nobody has reviewed is not quietly aged out.
Abandoned deliveries are operable
Section titled “Abandoned deliveries are operable”This is the part operators feel most. An abandoned delivery is nameable, acknowledgeable, and re-sendable:
- Nameable. You can refer to a specific stuck delivery, not just observe that some exist.
- Acknowledgeable. You can mark that you have seen it, which is what releases it from the compaction exemption above.
- Re-sendable. You can send it again once you have fixed whatever stopped it.
One owner for inbound polling
Section titled “One owner for inbound polling”A single-owner inbound polling lease runs across all three start_all sites. The installed service outranks an ad-hoc session, and the loser reacquires cleanly rather than fighting for the same inbound stream.
The practical version: starting a session on a machine that already runs the gateway as a service does not produce two pollers double-reading your inbox.
The gateway also carries an observable drain state, a lifecycle machine, and a Windows-safe instance lock.
Support bundles
Section titled “Support bundles”wayland-core gateway support-bundleThis produces a redacted bundle, proved clean by canary. A canary is a known secret planted specifically so the redaction pass can be tested against something whose presence in the output would be unambiguous.
Cron got the same treatment
Section titled “Cron got the same treatment”The scheduler was hardened alongside the gateway:
- The schedule is leased, so exactly one process fires it.
- Every trigger type is reachable from the shipped binary.
- Event, webhook, and poll triggers validate, persist, and fire.
See Cron Scheduler.