annotate mod_muc_activity/README.md @ 6319:04c3273cb81f

mod_auth_cyrus: Add empty 'profile' table to SASL handler objects This is for compatibility with Prosody's built-in util.sasl objects. A SASL profile table usually includes methods supported by the backend, which can be used by SASL mechanism handlers to perform operations (such as testing the password). It also optionally contains a 'cb' field with channel binding method handlers. The Cyrus backend doesn't support channel binding, and doesn't have the same concept of auth backend methods (it handles all that internally, and Prosody has no insight or control over it). Thus, we create an empty profile which informs Prosody that the SASL handler does not support any of the auth or channel binding methods. Some features will not work, but they didn't work anyway. This just makes it explicit. This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to always contain a 'profile' field.
author Matthew Wild <mwild1@gmail.com>
date Thu, 04 Sep 2025 10:14:46 +0100
parents a0429c322454
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6105
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
1 ---
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
2 summary: 'XEP-0502 (MUC Activity Indicator) implementation'
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
3 ...
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
4
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
5 This module provides an implementation of [XEP-0502 (MUC Activity Indicator)](https://xmpp.org/extensions/xep-0502.html) for Prosody.
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
6
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
7 To enable it, load it on a MUC host, for example:
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
8
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
9 ```lua
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
10 Component "chat.domain.example" "muc"
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
11 modules_enabled = { "muc_activity" }
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
12 ```
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
13
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
14 When this module is loaded, it will expose the average number of messages per hour for all public MUCs.
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
15 The number is calculated over a 24 hour window.
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
16
a0429c322454 mod_muc_activity: create module
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
17 Note that this module may impact server performance on servers with many MUCs.