File

mod_server_info/README.md @ 6302:06fbbd45ba75

mod_cloud_notify: Readme: fix links and labels that were removed in the last commit diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md --- a/mod_cloud_notify/README.md +++ b/mod_cloud_notify/README.md @@ -1,3 +1,9 @@ +---- +-labels: +-- 'Stage-Beta' +-summary: 'XEP-0357: Cloud push notifications' +---- + # Introduction This module enables support for sending "push notifications" to clients @@ -32,15 +38,15 @@ notification to your device. When your d it will display it or wake up the app so it can connect to XMPP and receive any pending messages. -This protocol is described for developers in \[XEP-0357: Push -Notifications\]. +This protocol is described for developers in [XEP-0357: Push +Notifications]. -For this module to work reliably, you must have \[mod_smacks\], -\[mod_mam\] and \[mod_carbons\] also enabled on your server. +For this module to work reliably, you must have [mod_smacks], +[mod_mam] and [mod_carbons] also enabled on your server. Some clients, notably Siskin and Snikket iOS need some additional extensions that are not currently defined in a standard XEP. To support -these clients, see \[mod_cloud_notify_extensions\]. +these clients, see [mod_cloud_notify_extensions]. # Configuration @@ -58,18 +64,18 @@ these clients, see \[mod_cloud_notify_ex # Internal design notes App servers are notified about offline messages, messages stored by -\[mod_mam\] or messages waiting in the smacks queue. The business rules +[mod_mam] or messages waiting in the smacks queue. The business rules outlined [here](//mail.jabber.org/pipermail/standards/2016-February/030925.html) are all honored[^2]. -To cooperate with \[mod_smacks\] this module consumes some events: +To cooperate with [mod_smacks] this module consumes some events: `smacks-ack-delayed`, `smacks-hibernation-start` and `smacks-hibernation-end`. These events allow this module to send out notifications for messages received while the session is hibernated by -\[mod_smacks\] or even when smacks acknowledgements for messages are +[mod_smacks] or even when smacks acknowledgements for messages are delayed by a certain amount of seconds configurable with the -\[mod_smacks\] setting `smacks_max_ack_delay`. +[mod_smacks] setting `smacks_max_ack_delay`. The `smacks_max_ack_delay` setting allows to send out notifications to clients which aren't already in smacks hibernation state (because the
author Menel <menel@snikket.de>
date Fri, 13 Jun 2025 10:44:37 +0200
parent 5866:ed82916e5796
line wrap: on
line source

---
labels:
- 'Stage-Alpha'
summary: Manually configure extended service discovery info
...

XEP-0128 defines a way for servers to provide custom information via service
discovery. Various XEPs and plugins make use of this functionality, so that
e.g. clients can look up necessary information.

This module allows the admin to manually configure service discovery
extensions in the config file. It may be useful as a way to advertise certain
information.

Everything configured here is publicly visible to other XMPP entities.

**Note:** This module was rewritten in February 2024, the configuration is not
compatible with the previous version of the module.

## Configuration

The `server_info_extensions` option accepts a list of custom fields to include
in the server info form.

A field has three required properties:

- `type` - usually `text-single` or `list-multi`
- `var` - the field name (see below)
- `value` the field value

Example configuration:

``` lua
server_info = {
	-- Advertise that our maximum speed is 88 mph
	{ type = "text-single", var = "speed", value = "88" };

	-- Advertise that the time is 1:20 AM and zero seconds
	{ type = "text-single", var = "time", value = "01:21:00" };
}
```

The `var` attribute is used to uniquely identify fields. Every `var` should be
registered with the XSF [form registry](https://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo),
or prefixed with a custom namespace using Clark notation, e.g. `{https://example.com}my-field-name`. This is to prevent
collisions.

## Developers

Developers of other modules can add fields to the form at runtime:

```lua
module:depends("server_info");

module:add_item("server-info-fields", {
	{ type = "text-single", var = "speed", value = "88" };
	{ type = "text-single", var = "time", value = "01:21:00" };
});
```

Prosody will ensure they are removed if your module is unloaded.

## Compatibility

This module should be compatible with Prosody 0.12 and later.