25 instead of marking the user offline the server pretends the client is |
25 instead of marking the user offline the server pretends the client is |
26 still online for a short (configurable) period of time. If the client |
26 still online for a short (configurable) period of time. If the client |
27 reconnects within this period, any stanzas in the queue that the client |
27 reconnects within this period, any stanzas in the queue that the client |
28 did not receive are re-sent. |
28 did not receive are re-sent. |
29 |
29 |
30 If the client fails to reconnect before the timeout then it is marked |
30 If the client fails to reconnect before the timeout it will be marked as |
31 offline as normal, and any stanzas in the queue are returned to the |
31 offline like prosody does on disconnect without mod_smacks. |
32 sender as a "recipient-unavailable" error. |
32 If the client is the last one for this jid, all message stanzas are added to |
|
33 the offline store and all other stanzas stanzas are returned with an |
|
34 "recipient-unavailable" error. If the client is not the last one with an |
|
35 open smacks session, *all* stanzas are returned with an "recipient-unavailable" error. |
33 |
36 |
34 If you don't want this behaviour on timeout you can use [mod_smacks_offline] |
37 If you deliberately disabled [mod_offline], all message stanzas of the last client |
35 or [mod_smacks_noerror] to customize the behaviour further. |
38 are also returned with an "recipient-unavailable" error, because the can not be |
|
39 added to the offline storage. |
|
40 If you don't want this behaviour you can use [mod_nooffline_noerror] to suppress the error. |
|
41 This is generally only advisable, if you are sure that all your clients are using MAM! |
36 |
42 |
37 This module also provides some events used by [mod_cloud_notify]. |
43 This module also provides some events used by [mod_cloud_notify]. |
38 These events are: "smacks-ack-delayed", "smacks-hibernation-start" and |
44 These events are: "smacks-ack-delayed", "smacks-hibernation-start" and |
39 "smacks-hibernation-end". See [mod_cloud_notify] for details on how this |
45 "smacks-hibernation-end". See [mod_cloud_notify] for details on how this |
40 events are used there. |
46 events are used there. |
47 Configuration |
53 Configuration |
48 ============= |
54 ============= |
49 |
55 |
50 Option Default Description |
56 Option Default Description |
51 ---------------------------------- ----------------- ------------------------------------------------------------------------------------------------------------------ |
57 ---------------------------------- ----------------- ------------------------------------------------------------------------------------------------------------------ |
52 `smacks_hibernation_time` 300 (5 minutes) The number of seconds a disconnected session should stay alive for (to allow reconnect) |
58 `smacks_hibernation_time` 600 (10 minutes) The number of seconds a disconnected session should stay alive for (to allow reconnect) |
53 `smacks_enabled_s2s` false Enable Stream Management on server connections? *Experimental* |
59 `smacks_enabled_s2s` false Enable Stream Management on server connections? *Experimental* |
54 `smacks_max_unacked_stanzas` 0 How many stanzas to send before requesting acknowledgement |
60 `smacks_max_unacked_stanzas` 0 How many stanzas to send before requesting acknowledgement |
55 `smacks_max_ack_delay` 60 (1 minute) The number of seconds an ack must be unanswered to trigger an "smacks-ack-delayed" event |
61 `smacks_max_ack_delay` 30 (1/2 minute) The number of seconds an ack must be unanswered to trigger an "smacks-ack-delayed" event |
56 `smacks_max_hibernated_sessions` 10 The number of allowed sessions in hibernated state (limited per user) |
62 `smacks_max_hibernated_sessions` 10 The number of allowed sessions in hibernated state (limited per user) |
57 `smacks_max_old_sessions` 10 The number of allowed sessions with timed out hibernation for which the h-value is still kept (limited per user) |
63 `smacks_max_old_sessions` 10 The number of allowed sessions with timed out hibernation for which the h-value is still kept (limited per user) |
58 |
64 |
59 Compatibility |
65 Compatibility |
60 ============= |
66 ============= |
78 - Psi (in an unreleased branch) |
84 - Psi (in an unreleased branch) |
79 - Yaxim (Android) |
85 - Yaxim (Android) |
80 - Monal (iOS) |
86 - Monal (iOS) |
81 |
87 |
82 [7693724881b3]: //hg.prosody.im/prosody-modules/raw-file/7693724881b3/mod_smacks/mod_smacks.lua |
88 [7693724881b3]: //hg.prosody.im/prosody-modules/raw-file/7693724881b3/mod_smacks/mod_smacks.lua |
83 [mod_smacks_offline]: //modules.prosody.im/mod_smacks_offline |
89 [mod_offline]: //modules.prosody.im/mod_offline |
84 [mod_smacks_noerror]: //modules.prosody.im/mod_smacks_noerror |
90 [mod_nooffline_noerror]: //modules.prosody.im/mod_nooffline_noerror |
85 [mod_cloud_notify]: //modules.prosody.im/mod_cloud_notify |
91 [mod_cloud_notify]: //modules.prosody.im/mod_cloud_notify |