Software /
code /
prosody-modules
Annotate
mod_muc_offline_delivery/README.md @ 5173:460f78654864
mod_muc_rtbl: also filter messages
This was a bit tricky because we don't want to run the JIDs
through SHA256 on each message. Took a while to come up with this
simple plan of just caching the SHA256 of the JIDs on the
occupants.
This will leave some dirt in the occupants after unloading the
module, but that should be ok; once they cycle the room, the
hashes will be gone.
This is direly needed, otherwise, there is a tight race between
the moderation activities and the actors joining the room.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Tue, 21 Feb 2023 21:37:27 +0100 |
parent | 4339:3b7847c9bd26 |
rev | line source |
---|---|
4339
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 --- |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 labels: |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 - 'Stage-Alpha' |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 summary: 'Support for sending MUC messages to offline users' |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 ... |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 Introduction |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 ============ |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 This module implements support for sending messages in a MUC to affiliated users |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 who are not in the room. This is a custom extension by Tigase to allow push notifications |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 from MUCs to users who are not currently connected. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 It is planned that this will evolve to a XEP in the near future. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 The protocol is described below. It is implemented in the Siskin client for iOS. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 Details |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 ======= |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 Add to modules_enabled under your MUC component (i.e. **not** the global modules_enabled |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 list). There are no configuration options. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 Compatibility |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 ============= |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 Requires Prosody trunk (0.12) for the API introduced in commit 336cba957c88. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 Protocol |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 ======== |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 To enable this feature, a client must fetch the registration form from a MUC, |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 as per XEP-0045. The form will include the usual field for nickname (this is |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 required), and also a boolean field named `{http://tigase.org/protocol/muc}offline`. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 Submit the form with that field set to true, and the MUC will forward messages |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 to your bare JID when you are not connected to the room. Two things to note: |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 1. This will achieve nothing unless your server is capable of handling these |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 messages correctly. |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 2. Messages are only sent when you are not in the room. This includes other |
3b7847c9bd26
mod_muc_deliver_offline: New module for delivery of MUC messages to offline users
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 resources of the same account. |