annotate mod_cloud_notify/README.md @ 6257:fa45ae704b79

mod_cloud_notify: Update Readme diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md --- a/mod_cloud_notify/README.md +++ b/mod_cloud_notify/README.md @@ -1,109 +1,106 @@ ---- -labels: -- 'Stage-Beta' -summary: 'XEP-0357: Cloud push notifications' ---- +# Introduction -Introduction -============ +This module enables support for sending "push notifications" to clients +that need it, typically those running on certain mobile devices. -This module enables support for sending "push notifications" to clients that -need it, typically those running on certain mobile devices. +As well as this module, your client must support push notifications (the +apps that need it generally do, of course) and the app developer's push +gateway must be reachable from your Prosody server (this happens over a +normal XMPP server-to-server 's2s' connection). -As well as this module, your client must support push notifications (the apps -that need it generally do, of course) and the app developer's push gateway -must be reachable from your Prosody server (this happens over a normal XMPP -server-to-server 's2s' connection). - -Details -======= +# Details Some platforms, notably Apple's iOS and many versions of Android, impose -limits that prevent applications from running or accessing the network in the -background. This makes it difficult or impossible for an XMPP application to -remain reliably connected to a server to receive messages. - -In order for messaging and other apps to receive notifications, the OS vendors -run proprietary servers that their OS maintains a permanent connection to in -the background. Then they provide APIs to application developers that allow -sending notifications to specific devices via those servers. +limits that prevent applications from running or accessing the network +in the background. This makes it difficult or impossible for an XMPP +application to remain reliably connected to a server to receive +messages. -When you connect to your server with an app that requires push notifications, -it will use this module to set up a "push registration". When you receive -a message but your device is not connected to the server, this module will -generate a notification and send it to the push gateway operated by your -application's developers). Their gateway will then connect to your device's -OS vendor and ask them to forward the notification to your device. When your -device receives the notification, it will display it or wake up the app so it -can connect to XMPP and receive any pending messages. +In order for messaging and other apps to receive notifications, the OS +vendors run proprietary servers that their OS maintains a permanent +connection to in the background. Then they provide APIs to application +developers that allow sending notifications to specific devices via +those servers. -This protocol is described for developers in [XEP-0357: Push Notifications]. +When you connect to your server with an app that requires push +notifications, it will use this module to set up a "push registration". +When you receive a message but your device is not connected to the +server, this module will generate a notification and send it to the push +gateway operated by your application's developers). Their gateway will +then connect to your device's OS vendor and ask them to forward the +notification to your device. When your device receives the notification, +it will display it or wake up the app so it can connect to XMPP and +receive any pending messages. -For this module to work reliably, you must have [mod_smacks], [mod_mam] and -[mod_carbons] also enabled on your server. +This protocol is described for developers in \[XEP-0357: Push +Notifications\]. + +For this module to work reliably, you must have \[mod_smacks\], +\[mod_mam\] and \[mod_carbons\] also enabled on your server. -Some clients, notably Siskin and Snikket iOS need some additional extensions -that are not currently defined in a standard XEP. To support these clients, -see [mod_cloud_notify_extensions]. +Some clients, notably Siskin and Snikket iOS need some additional +extensions that are not currently defined in a standard XEP. To support +these clients, see \[mod_cloud_notify_extensions\]. -Configuration -============= +# Configuration - Option Default Description - ------------------------------------ ----------------- ------------------------------------------------------------------------------------------------------------------- - `push_notification_important_body` `New Message!` The body text to use when the stanza is important (see above), no message body is sent if this is empty - `push_max_errors` `16` How much persistent push errors are tolerated before notifications for the identifier in question are disabled - `push_max_devices` `5` The number of allowed devices per user (the oldest devices are automatically removed if this threshold is reached) - `push_max_hibernation_timeout` `259200` (72h) Number of seconds to extend the smacks timeout if no push was triggered yet (default: 72 hours) - `push_notification_with_body` (\*) `false` Whether or not to send the real message body to remote pubsub node. Without end-to-end encryption, enabling this may expose your message contents to your client developers and OS vendor. Not recommended. - `push_notification_with_sender` (\*) `false` Whether or not to send the real message sender to remote pubsub node. Enabling this may expose your contacts to your client developers and OS vendor. Not recommended. + Option Default Description + -------------------------------------- ---------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + `push_notification_important_body` `New Message!` The body text to use when the stanza is important (see above), no message body is sent if this is empty + `push_max_errors` `16` How much persistent push errors are tolerated before notifications for the identifier in question are disabled + `push_max_devices` `5` The number of allowed devices per user (the oldest devices are automatically removed if this threshold is reached) + `push_max_hibernation_timeout` `259200` (72h) Number of seconds to extend the smacks timeout if no push was triggered yet (default: 72 hours) + `push_notification_with_body` (\*) `false` Whether or not to send the real message body to remote pubsub node. Without end-to-end encryption, enabling this may expose your message contents to your client developers and OS vendor. Not recommended. + `push_notification_with_sender` (\*) `false` Whether or not to send the real message sender to remote pubsub node. Enabling this may expose your contacts to your client developers and OS vendor. Not recommended. -(\*) There are privacy implications for enabling these options. +(\*) There are privacy implications for enabling these options.[^1] -Internal design notes -===================== +# Internal design notes -App servers are notified about offline messages, messages stored by [mod_mam] -or messages waiting in the smacks queue. -The business rules outlined [here](//mail.jabber.org/pipermail/standards/2016-February/030925.html) are all honored[^2]. +App servers are notified about offline messages, messages stored by +\[mod_mam\] or messages waiting in the smacks queue. The business rules +outlined +[here](//mail.jabber.org/pipermail/standards/2016-February/030925.html) +are all honored[^2]. -To cooperate with [mod_smacks] this module consumes some events: -`smacks-ack-delayed`, `smacks-hibernation-start` and `smacks-hibernation-end`. -These events allow this module to send out notifications for messages received -while the session is hibernated by [mod_smacks] or even when smacks -acknowledgements for messages are delayed by a certain amount of seconds -configurable with the [mod_smacks] setting `smacks_max_ack_delay`. +To cooperate with \[mod_smacks\] this module consumes some events: +`smacks-ack-delayed`, `smacks-hibernation-start` and +`smacks-hibernation-end`. These events allow this module to send out +notifications for messages received while the session is hibernated by +\[mod_smacks\] or even when smacks acknowledgements for messages are +delayed by a certain amount of seconds configurable with the +\[mod_smacks\] setting `smacks_max_ack_delay`. -The `smacks_max_ack_delay` setting allows to send out notifications to clients -which aren't already in smacks hibernation state (because the read timeout or -connection close didn't already happen) but also aren't responding to acknowledgement -request in a timely manner. This setting thus allows conversations to be smoother -under such circumstances. +The `smacks_max_ack_delay` setting allows to send out notifications to +clients which aren't already in smacks hibernation state (because the +read timeout or connection close didn't already happen) but also aren't +responding to acknowledgement request in a timely manner. This setting +thus allows conversations to be smoother under such circumstances. -The new event `cloud-notify-ping` can be used by any module to send out a cloud -notification to either all registered endpoints for the given user or only the endpoints -given in the event data. +The new event `cloud-notify-ping` can be used by any module to send out +a cloud notification to either all registered endpoints for the given +user or only the endpoints given in the event data. -The config setting `push_notification_important_body` can be used to specify an alternative -body text to send to the remote pubsub node if the stanza is encrypted or has a body. -This way the real contents of the message aren't revealed to the push appserver but it -can still see that the push is important. -This is used by Chatsecure on iOS to send out high priority pushes in those cases for example. +The config setting `push_notification_important_body` can be used to +specify an alternative body text to send to the remote pubsub node if +the stanza is encrypted or has a body. This way the real contents of the +message aren't revealed to the push appserver but it can still see that +the push is important. This is used by Chatsecure on iOS to send out +high priority pushes in those cases for example. -Compatibility -============= - -**Note:** This module should be used with Lua 5.2 and higher. Using it with -Lua 5.1 may cause push notifications to not be sent to some clients. +# Compatibility ------- ----------------------------------------------------------------------------- - trunk Works - 0.12 Works - 0.11 Works - 0.10 Works - 0.9 Support dropped, use last supported version [675726ab06d3](//hg.prosody.im/prosody-modules/raw-file/675726ab06d3/mod_cloud_notify/mod_cloud_notify.lua) ------- ----------------------------------------------------------------------------- +**Note:** This module should be used with Lua 5.2 and higher. Using it +with Lua 5.1 may cause push notifications to not be sent to some +clients. + ------- ----------------------------------------------------------------- + trunk Works as of 25-06-13 + 13 Works + 0.12 Works + ------- ----------------------------------------------------------------- -[^1]: The service which is expected to forward notifications to something like Google Cloud Messaging or Apple Notification Service -[^2]: [business_rules.markdown](//hg.prosody.im/prosody-modules/file/tip/mod_cloud_notify/business_rules.markdown) +[^1]: The service which is expected to forward notifications to + something like Google Cloud Messaging or Apple Notification Service + +[^2]: [business_rules.md](//hg.prosody.im/prosody-modules/file/tip/mod_cloud_notify/business_rules.md)
author Menel <menel@snikket.de>
date Fri, 13 Jun 2025 10:36:52 +0200
parents fe081789f7b5
children 06fbbd45ba75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
1 # Introduction
1783
b31fe2d22310 mod_cloud_notify: XEP-0357: Push - the server bits ("app server" not included)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
3 This module enables support for sending "push notifications" to clients
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
4 that need it, typically those running on certain mobile devices.
1783
b31fe2d22310 mod_cloud_notify: XEP-0357: Push - the server bits ("app server" not included)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
6 As well as this module, your client must support push notifications (the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
7 apps that need it generally do, of course) and the app developer's push
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
8 gateway must be reachable from your Prosody server (this happens over a
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
9 normal XMPP server-to-server 's2s' connection).
1783
b31fe2d22310 mod_cloud_notify: XEP-0357: Push - the server bits ("app server" not included)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
11 # Details
1783
b31fe2d22310 mod_cloud_notify: XEP-0357: Push - the server bits ("app server" not included)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
13 Some platforms, notably Apple's iOS and many versions of Android, impose
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
14 limits that prevent applications from running or accessing the network
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
15 in the background. This makes it difficult or impossible for an XMPP
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
16 application to remain reliably connected to a server to receive
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
17 messages.
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
18
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
19 In order for messaging and other apps to receive notifications, the OS
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
20 vendors run proprietary servers that their OS maintains a permanent
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
21 connection to in the background. Then they provide APIs to application
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
22 developers that allow sending notifications to specific devices via
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
23 those servers.
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
24
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
25 When you connect to your server with an app that requires push
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
26 notifications, it will use this module to set up a "push registration".
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
27 When you receive a message but your device is not connected to the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
28 server, this module will generate a notification and send it to the push
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
29 gateway operated by your application's developers). Their gateway will
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
30 then connect to your device's OS vendor and ask them to forward the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
31 notification to your device. When your device receives the notification,
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
32 it will display it or wake up the app so it can connect to XMPP and
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
33 receive any pending messages.
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
34
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
35 This protocol is described for developers in \[XEP-0357: Push
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
36 Notifications\].
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
37
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
38 For this module to work reliably, you must have \[mod_smacks\],
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
39 \[mod_mam\] and \[mod_carbons\] also enabled on your server.
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
40
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
41 Some clients, notably Siskin and Snikket iOS need some additional
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
42 extensions that are not currently defined in a standard XEP. To support
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
43 these clients, see \[mod_cloud_notify_extensions\].
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
44
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
45 # Configuration
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
46
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
47 Option Default Description
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
48 -------------------------------------- ---------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
49 `push_notification_important_body` `New Message!` The body text to use when the stanza is important (see above), no message body is sent if this is empty
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
50 `push_max_errors` `16` How much persistent push errors are tolerated before notifications for the identifier in question are disabled
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
51 `push_max_devices` `5` The number of allowed devices per user (the oldest devices are automatically removed if this threshold is reached)
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
52 `push_max_hibernation_timeout` `259200` (72h) Number of seconds to extend the smacks timeout if no push was triggered yet (default: 72 hours)
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
53 `push_notification_with_body` (\*) `false` Whether or not to send the real message body to remote pubsub node. Without end-to-end encryption, enabling this may expose your message contents to your client developers and OS vendor. Not recommended.
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
54 `push_notification_with_sender` (\*) `false` Whether or not to send the real message sender to remote pubsub node. Enabling this may expose your contacts to your client developers and OS vendor. Not recommended.
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
55
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
56 (\*) There are privacy implications for enabling these options.[^1]
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
57
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
58 # Internal design notes
5058
39c2824c2880 mod_cloud_notify: README overhaul
Matthew Wild <mwild1@gmail.com>
parents: 5056
diff changeset
59
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
60 App servers are notified about offline messages, messages stored by
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
61 \[mod_mam\] or messages waiting in the smacks queue. The business rules
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
62 outlined
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
63 [here](//mail.jabber.org/pipermail/standards/2016-February/030925.html)
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
64 are all honored[^2].
3088
6eaa1aa4f8ae mod_cloud_notify: more cleanup
tmolitor <thilo@eightysoft.de>
parents: 3087
diff changeset
65
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
66 To cooperate with \[mod_smacks\] this module consumes some events:
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
67 `smacks-ack-delayed`, `smacks-hibernation-start` and
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
68 `smacks-hibernation-end`. These events allow this module to send out
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
69 notifications for messages received while the session is hibernated by
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
70 \[mod_smacks\] or even when smacks acknowledgements for messages are
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
71 delayed by a certain amount of seconds configurable with the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
72 \[mod_smacks\] setting `smacks_max_ack_delay`.
2395
2e641ab995b3 mod_cloud_notify: added code to respond to the new event "smacks-ack-delayed" issued by mod_smacks when acks are delayed for a certain amount of time. This allows to send out notification requests before the read timeout or connection close event really happens, thus allowing conversations to be smoother.
tmolitor <thilo@eightysoft.de>
parents: 2250
diff changeset
73
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
74 The `smacks_max_ack_delay` setting allows to send out notifications to
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
75 clients which aren't already in smacks hibernation state (because the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
76 read timeout or connection close didn't already happen) but also aren't
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
77 responding to acknowledgement request in a timely manner. This setting
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
78 thus allows conversations to be smoother under such circumstances.
1783
b31fe2d22310 mod_cloud_notify: XEP-0357: Push - the server bits ("app server" not included)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
79
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
80 The new event `cloud-notify-ping` can be used by any module to send out
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
81 a cloud notification to either all registered endpoints for the given
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
82 user or only the endpoints given in the event data.
2609
6ab46ff685d0 mod_cloud_notify: Respect Daniel's business rules and remove endpoints on error
tmolitor <thilo@eightysoft.de>
parents: 2395
diff changeset
83
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
84 The config setting `push_notification_important_body` can be used to
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
85 specify an alternative body text to send to the remote pubsub node if
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
86 the stanza is encrypted or has a body. This way the real contents of the
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
87 message aren't revealed to the push appserver but it can still see that
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
88 the push is important. This is used by Chatsecure on iOS to send out
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
89 high priority pushes in those cases for example.
2976
df86ce6bb0b4 Implement dummy body message to indicate high priority push
tmolitor <thilo@eightysoft.de>
parents: 2611
diff changeset
90
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
91 # Compatibility
5216
1d9dbe84b6e8 mod_cloud_notify: Add note about Lua version requirements to README
Matthew Wild <mwild1@gmail.com>
parents: 5058
diff changeset
92
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
93 **Note:** This module should be used with Lua 5.2 and higher. Using it
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
94 with Lua 5.1 may cause push notifications to not be sent to some
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
95 clients.
3944
7630d4ade7cd mod_cloud_notify: fix link and table layout in readme
tmolitor <thilo@eightysoft.de>
parents: 3943
diff changeset
96
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
97 ------- -----------------------------------------------------------------
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
98 trunk Works as of 25-06-13
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
99 13 Works
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
100 0.12 Works
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
101 ------- -----------------------------------------------------------------
2248
3ecf65dabb6e mod_cloud_notify/README: Add compatibility section
Kim Alvefur <zash@zash.se>
parents: 2199
diff changeset
102
6257
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
103 [^1]: The service which is expected to forward notifications to
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
104 something like Google Cloud Messaging or Apple Notification Service
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
105
fa45ae704b79 mod_cloud_notify: Update Readme
Menel <menel@snikket.de>
parents: 5975
diff changeset
106 [^2]: [business_rules.md](//hg.prosody.im/prosody-modules/file/tip/mod_cloud_notify/business_rules.md)