Annotate

mod_ping_muc/README.md @ 6199:fe8222112cf4

mod_conversejs: Serve base app at / This makes things slightly less awkward for the browser to figure out which URLs belong to a PWA. The app's "start URL" was previously without the '/' and therefore was not considered within the scope of the PWA. Now the canonical app URL will always have a '/'. Prosody/mod_http should take care of redirecting existing links without the trailing / to the new URL. If you have an installation at https://prosody/conversejs then it is now at https://prosody/conversejs/ (the first URL will now redirect to the second URL if you use it). The alternative would be to make the PWA scope include the parent, i.e. the whole of https://prosody/ in this case. This might get messy if other PWAs are provided by the same site or Prosody installation, however.
author Matthew Wild <mwild1@gmail.com>
date Tue, 11 Feb 2025 13:18:38 +0000
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