Annotate

mod_ping_muc/README.md @ 6195:886c985ece61

mod_lastlog2: Skip initializing internal API (and storage) in prosodyctl Initializing storage in the global context under prosodyctl causes the module.command to fail to execute because the storage module has already been loaded. Introduced in 7b722955c59b
author Kim Alvefur <zash@zash.se>
date Sat, 08 Feb 2025 14:12:18 +0100
parent 5980:d60e04d3996e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4804
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 summary: Yet another MUC reliability module
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 rockspec:
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 dependencies:
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 - mod_track_muc_joins
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 labels:
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 - Stage-Alpha
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 ...
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 This module reacts to [server-to-server][doc:s2s] connections closing by
5980
d60e04d3996e mod_ping_muc: Update docs for ping delay
Kim Alvefur <zash@zash.se>
parents: 5957
diff changeset
12 performing [XEP-0410: MUC Self-Ping] from the server side after a short delay to check if
4804
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 users are still connected to MUCs they have joined according
4902
ed9aa80c989d mod_ping_muc: Fix typo in README
Kim Alvefur <zash@zash.se>
parents: 4804
diff changeset
14 [mod_track_muc_joins]. If it can't be confirmed that the user is still
4804
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 joined then their client devices are notified about this allowing them
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 to re-join.
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 # Installing
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 ```
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 prosodyctl install mod_ping_muc
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 ```
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 # Configuring
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
5980
d60e04d3996e mod_ping_muc: Update docs for ping delay
Kim Alvefur <zash@zash.se>
parents: 5957
diff changeset
26 Enable as a regular module in
5130
0772facc786f mod_ping_muc: Error out if loaded on Components
Kim Alvefur <zash@zash.se>
parents: 4964
diff changeset
27 [`modules_enabled`][doc:modules_enabled] globally or under a
0772facc786f mod_ping_muc: Error out if loaded on Components
Kim Alvefur <zash@zash.se>
parents: 4964
diff changeset
28 `VirtualHost`:
0772facc786f mod_ping_muc: Error out if loaded on Components
Kim Alvefur <zash@zash.se>
parents: 4964
diff changeset
29
4804
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 ```lua
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 modules_enabled = {
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 -- other modules etc
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 "track_muc_joins",
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 "ping_muc",
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 }
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 ```
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37
5980
d60e04d3996e mod_ping_muc: Update docs for ping delay
Kim Alvefur <zash@zash.se>
parents: 5957
diff changeset
38 The delay after which pings are sent can be adjusted with the setting `ping_muc_delay`,
d60e04d3996e mod_ping_muc: Update docs for ping delay
Kim Alvefur <zash@zash.se>
parents: 5957
diff changeset
39 from the default `60` (seconds).
d60e04d3996e mod_ping_muc: Update docs for ping delay
Kim Alvefur <zash@zash.se>
parents: 5957
diff changeset
40
5957
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
41 # Client facing protocol
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
42
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
43 If the module determines that the client has dropped out a MUC,
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
44 it sends it [a stanza to indicate this](https://xmpp.org/extensions/xep-0045.html#service-error-kick):
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
45
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
46 ``` xml
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
47 <presence type="unavailable" id="random123" from="room@muc.host/nickname" to="user@example.net/resource">
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
48 <x xmlns="http://jabber.org/protocol/muc#user">
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
49 <item affiliation="none" role="none">
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
50 <reason>Connection to remote server lost</reason>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
51 </item>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
52 <status code="110"/>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
53 <status code="330"/>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
54 </x>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
55 </presence>
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
56 ```
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
57
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
58 The `reason` message may vary.
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
59
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
60 Upon receiving this, the client may attempt to [rejoin](https://xmpp.org/extensions/xep-0045.html#enter).
c094eabdb30f mod_ping_muc: Describe the client facing protocol (from XEP-0045)
Kim Alvefur <zash@zash.se>
parents: 5130
diff changeset
61
4804
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
62 # Compatibility
a7c0c70e64b6 mod_ping_muc: Yet another attempt to improve MUC reliability
Kim Alvefur <zash@zash.se>
parents:
diff changeset
63
4964
b1c4e78e669e mod_ping_muc/README: Update Compatibility section for 0.12 going stable
Kim Alvefur <zash@zash.se>
parents: 4902
diff changeset
64 Requires Prosody 0.12.x or trunk