Mercurial > prosody-modules
annotate mod_muc_webchat_url/README.markdown @ 4651:8231774f5bfd
mod_cloud_notify_encrypted: Ensure body substring remains valid UTF-8
The `body:sub()` call risks splitting the string in the middle of a
multi-byte UTF-8 sequence. This should have been caught by util.stanza
validation, but that would have caused some havoc, at the very least causing
the notification to not be sent.
There have been no reports of this happening. Likely because this module
isn't widely deployed among users with languages that use many longer UTF-8
sequences.
The util.encodings.utf8.valid() function is O(n) where only the last
sequence really needs to be checked, but it's in C and expected to be fast.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 22 Aug 2021 13:22:59 +0200 |
parents | 8ee5816363b0 |
children |
rev | line source |
---|---|
3672
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # Introduction |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 Many projects have a support room accessible via a web chat. This module |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 allows making the URL to such a web chat discoverable via the XMPP |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 service discovery protocol, enabling e.g. [search |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 engines](https://search.jabbercat.org/) to index and present these. |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 # Configuring |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 ## Enabling |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 ``` {.lua} |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 Component "rooms.example.net" "muc" |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 modules_enabled = { |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 "muc_webchat_url"; |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 } |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 ``` |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 ## Settings |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 The URL is configured using the in-band MUC room configuration protocol. |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 The module can optionally be configured to give all public (not |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 members-only, hidden or password protected) rooms gain a default value |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 based on a template: |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 ``` {.lua} |
3674
8ee5816363b0
mod_muc_webchat_url/README: Fix template option name
Kim Alvefur <zash@zash.se>
parents:
3672
diff
changeset
|
28 muc_webchat_baseurl = "https://chat.example.com/join?room={node}" |
3672
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 ``` |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 The following variables will be subsituted with room address details: |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 `{jid}` |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 : The complete room address, eg `room@muc.example.com`ยท |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 `{node}` |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 : The local part (before the `@`) of the room JID. |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 `{host}` |
b8bcea17ccd6
mod_muc_webchat_url: Advertise the URL to a webchat in disco#info
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 : The domain name part of the room JID. |