Notifications
Operator notifications - the manager bell, with optional XMPP delivery.
Notifications
Operator notifications (SM136) tell a human about events awaiting a
response. Every notice rides one shared write path: it is appended to
the manager bell store (lazysite/logs/notices.jsonl) and - when the
XMPP notifications plugin is enabled and configured - also delivered
over XMPP, so an operator hears about it without being logged in.
What notifies
- A new form submission
- A password-reset request when no SMTP is configured, so no email could be sent - previously a silent dead-end; the notice names the account and links the Users page
- An agent feedback submission over MCP
The manager bell
The manager-header bell is gated by the notifications capability
(seeded on the user-managers group): the notices actions refuse
without it and the bell hides itself. It renders greyscale when nothing
is unread, and coloured with an unread badge otherwise.
XMPP delivery (the notify-xmpp plugin)
One client account per site, like SMTP delivery. Enable the plugin on
Plugin Manager, then configure it on Plugin Config; the settings live
in the operator-only lazysite/notify-xmpp.conf.
| Key | Meaning |
|---|---|
jid |
The account lazysite sends from, as user@domain |
password |
The client password (stored operator-only, never shown again) |
to |
The recipient: a person's JID, or a room's full JID (room@conference.domain) |
muc |
The recipient is a group-chat (MUC) room (default false) |
host |
Server host (defaults to the JID's domain) |
port |
Server port (default 5222) |
tls |
TLS on the connection (default true) |
nick |
Sender nickname/resource; defaults to the site name, sanitised |
For a group-chat recipient, the client joins the room and sends as
groupchat; otherwise it sends a direct chat message. The transport
is Net::XMPP (Debian libnet-xmpp-perl), based on the xmpp-lite
connector.
Notes
- Delivery is strictly best-effort and time-boxed (a 15-second alarm), so an unreachable chat server can never block or fail the triggering action; a failed send is logged as a warning and the bell store remains the record
- The plugin counts as configured once
jid,passwordandtoare all set notify-xmpp.confis excluded from Content history, so the credentials never enter the versioned set- Per-user recipient addressing is a future feature - delivery goes to the one configured recipient