Software / code / prosody
Comparison
plugins/mod_csi.lua @ 10427:35bc8d495569
mod_csi: Only advertise CSI to clients if something is handling CSI events
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 17 Nov 2019 23:53:51 +0100 |
| parent | 9653:91856829f18b |
| child | 10428:12a10208d86a |
comparison
equal
deleted
inserted
replaced
| 10426:dd4eb84d92a8 | 10427:35bc8d495569 |
|---|---|
| 1 local st = require "util.stanza"; | 1 local st = require "util.stanza"; |
| 2 local xmlns_csi = "urn:xmpp:csi:0"; | 2 local xmlns_csi = "urn:xmpp:csi:0"; |
| 3 local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); | 3 local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); |
| 4 | 4 |
| 5 module:hook("stream-features", function (event) | 5 module:hook("stream-features", function (event) |
| 6 if event.origin.username then | 6 if event.origin.username and prosody.hosts[module.host].events._handlers["csi-client-active"] then |
| 7 event.features:add_child(csi_feature); | 7 event.features:add_child(csi_feature); |
| 8 end | 8 end |
| 9 end); | 9 end); |
| 10 | 10 |
| 11 function refire_event(name) | 11 function refire_event(name) |