Mercurial > prosody-modules
annotate mod_cloud_notify_priority_tag/mod_cloud_notify_priority_tag.lua @ 5536:96dec7681af8
mod_firewall: Update user marks to store instantly via map store
The original approach was to keep marks in memory only, and persist them at
shutdown. That saves I/O, at the cost of potentially losing marks on an
unclean shutdown.
This change persists marks instantly, which may have some performance overhead
but should be more "correct".
It also splits the marking/unmarking into an event which may be watched or
even fired by other modules.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 08 Jun 2023 16:20:42 +0100 |
parents | d90ce7dc3f88 |
children |
rev | line source |
---|---|
4334
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 local xmlns_push_priority = "tigase:push:priority:0"; |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 -- https://xeps.tigase.net//docs/push-notifications/encrypt/#41-discovering-support |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 local function account_disco_info(event) |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 event.reply:tag("feature", {var=xmlns_push_priority}):up(); |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 end |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 module:hook("account-disco-info", account_disco_info); |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 function handle_push(event) |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 if event.important then |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 event.notification_payload:text_tag("priority", "high", { xmlns = xmlns_push_priority }); |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 end |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 end |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
d90ce7dc3f88
mod_cloud_notify_priority_tag: New module to support Tigase's push priority indicator extension
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 module:hook("cloud_notify/push", handle_push); |