diff mod_push2/README.markdown @ 5659:4d1a3de56c3d

Initial work on Push 2.0
author Stephen Paul Weber <singpolyma@singpolyma.net>
date Tue, 19 Sep 2023 21:21:17 -0500
parents
children 13c9ed6844ff
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_push2/README.markdown	Tue Sep 19 21:21:17 2023 -0500
@@ -0,0 +1,50 @@
+---
+labels:
+- 'Stage-Alpha
+summary: 'Push 2.0'
+---
+
+The way forward for push notifications?  You are probably looking for
+`mod_cloud_notify` for now though
+
+See also https://hg.prosody.im/prosody-modules/file/tip/mod_push2/push2.markdown
+
+Configuration
+=============
+
+  Option                               Default           Description
+  ------------------------------------ ----------------- -------------------------------------------------------------------------------------------------------------------
+  `contact_uri`                        xmpp:server.tld   Contact information for the server operator (usually as a `mailto:` URI is preferred)
+  `push_max_hibernation_timeout`       `259200` (72h)    Number of seconds to extend the smacks timeout if no push was triggered yet (default: 72 hours)
+
+Internal design notes
+=====================
+
+App servers are notified about messages stored by [mod_mam]
+or messages waiting in the smacks queue.
+
+Currently messages that go into the offline queue but not into MAM are
+not delivered. Need to come up with a way to dedup these. Or just have
+your MAM set to always.
+
+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.
+
+Compatibility
+=============
+
+**Note:** This module should be used with Lua 5.3 and higher.
+
+------ -----------------------------------------------------------------------------
+  trunk  Works
+------ -----------------------------------------------------------------------------