Relays: the Relays page #147

Merged
jcoffey-dev merged 2 commits from relay/page into main 2026-10-30 21:23:14 +00:00
Owner

The Relays page in Settings › Mail flow › Sending, beside Routes (relay spec, "inbuxa-admin").

  • The list: each relay with its state (off, linked on N of M nodes, sends all mail, takes mail in only), its version, mode and spool. It says something only when a relay needs attention: a join still waiting or run out, a node with no link, a failed join, a spool past 80%, a certificate running out within 14 days or gone, an error the relay reports, nodes sending different recipient lists.
  • Adding a relay: name, link address and port, public name. The join token is shown once, with the inbuxa-relay join command to copy.
  • Settings: the relay's own fields and every setting the server pushes to it, each with its help. Only changed values are sent, with an optional reason for the audit log.
  • Queues: inbuxa:RelayMessage, read over the server's link. Held mail can be discarded and outbound mail cancelled, each with a reason. Mail being taken right now can't be discarded. An unreachable relay says so.
  • A new join and removing a relay ask first.
  • "Routes and relays" is now "Routes", so the two pages side by side read as two.

Who sees what: the page needs sysRelayGet; changes need sysRelayUpdate; the queues need sysRelayQueueGet, and discarding or cancelling needs sysRelayQueueUpdate.

The server lists the page in its Settings layout from inbuxa-server #267; until a server has it, the page doesn't show.

Not in this PR: the guided add (DNS, RL-25), certificates (RL-27), upgrades (RL-29), a link to the relay's events, and a warning for an old relay version (the console has no server version to compare yet).

Checks: typecheck, lint, i18n:check, 965 tests (12 new), build, notice-check. Divergence: 89.1% not upstream's, from 88.9%.

Previewed against a local server built from inbuxa-server #267: the Mail flow menu lists Relays under Sending, and the page shows the server's relays. Adding a relay shows its token and command. Saving settings sent only the changed values, checked over JMAP. Removing a relay works. The preview had no real relay host, so the queues and the linked states weren't seen on screen; the server side of those is covered by relay_tests. The preview led to the second commit: the remove dialog now says what removing really does (the relay keeps its mail until it's reset), and dialogs no longer open with a help tip showing.

The Relays page in Settings › Mail flow › Sending, beside Routes (relay spec, "inbuxa-admin"). - **The list:** each relay with its state (off, linked on N of M nodes, sends all mail, takes mail in only), its version, mode and spool. It says something only when a relay needs attention: a join still waiting or run out, a node with no link, a failed join, a spool past 80%, a certificate running out within 14 days or gone, an error the relay reports, nodes sending different recipient lists. - **Adding a relay:** name, link address and port, public name. The join token is shown once, with the `inbuxa-relay join` command to copy. - **Settings:** the relay's own fields and every setting the server pushes to it, each with its help. Only changed values are sent, with an optional reason for the audit log. - **Queues:** `inbuxa:RelayMessage`, read over the server's link. Held mail can be discarded and outbound mail cancelled, each with a reason. Mail being taken right now can't be discarded. An unreachable relay says so. - **A new join** and **removing a relay** ask first. - "Routes and relays" is now "Routes", so the two pages side by side read as two. Who sees what: the page needs `sysRelayGet`; changes need `sysRelayUpdate`; the queues need `sysRelayQueueGet`, and discarding or cancelling needs `sysRelayQueueUpdate`. The server lists the page in its Settings layout from inbuxa-server #267; until a server has it, the page doesn't show. Not in this PR: the guided add (DNS, RL-25), certificates (RL-27), upgrades (RL-29), a link to the relay's events, and a warning for an old relay version (the console has no server version to compare yet). Checks: typecheck, lint, i18n:check, 965 tests (12 new), build, notice-check. Divergence: 89.1% not upstream's, from 88.9%. Previewed against a local server built from inbuxa-server #267: the Mail flow menu lists Relays under Sending, and the page shows the server's relays. Adding a relay shows its token and command. Saving settings sent only the changed values, checked over JMAP. Removing a relay works. The preview had no real relay host, so the queues and the linked states weren't seen on screen; the server side of those is covered by `relay_tests`. The preview led to the second commit: the remove dialog now says what removing really does (the relay keeps its mail until it's reset), and dialogs no longer open with a help tip showing.
jcoffey-dev added 1 commit 2026-10-30 20:47:28 +00:00
Relays: the Relays page
ci / build (pull_request) Skipped
ci / notices (pull_request) Successful in 57s
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m34s
ec09f3b787
Settings > Mail flow > Sending gets Relays, beside Routes (relay spec,
"inbuxa-admin"). It lists this server's inbuxa Relays, and says something
about one only when it needs attention: a join still waiting or run out,
a node with no link, a spool filling up, a certificate running out, an
error the relay reports, nodes sending different recipient lists.

Adding a relay shows its join token once, with the command to run on the
relay host. A relay's settings are edited here and pushed to it, each
with its help. Its queues are read over the server's link, where held
mail can be discarded and outbound mail cancelled, with a reason for the
audit log. A new join and removing a relay ask first.

"Routes and relays" is now "Routes", so the two pages side by side
read as two.
jcoffey-dev added 1 commit 2026-10-30 20:54:49 +00:00
Relays: what removing a relay does, and dialogs open on their first field
ci / build (pull_request) Skipped
ci / publish (pull_request) Skipped
ci / notices (pull_request) Successful in 18s
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 2m3s
662583aed0
Removing a relay only stops this server linking to it: the relay keeps
its mail and goes on taking mail in until it's reset on its host. The
dialog now says so, and that turning it off comes back without a new
join. Saving says a linked relay gets the change, since one still
waiting to join gets nothing yet.

The add and settings dialogs focus their first field. They focused the
first field's help button, which popped its help open.
jcoffey-dev merged commit 20781ffa2f into main 2026-10-30 21:23:14 +00:00
jcoffey-dev deleted branch relay/page 2026-10-30 21:23:14 +00:00
Sign in to join this conversation.