diff options
author | Kim Alvefur <zash@zash.se> | 2019-11-23 17:15:34 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-11-23 17:15:34 +0100 |
commit | 8703eaa89a6cf42d6fe4d8e1083bbb029afcf7e9 (patch) | |
tree | 15c6672d54e5c891e59b941a1eb1f41b6c927adb /plugins | |
parent | 7c3ba237b9d0f3eb829b90e9e9344e5790481de3 (diff) | |
download | prosody-8703eaa89a6cf42d6fe4d8e1083bbb029afcf7e9.tar.gz prosody-8703eaa89a6cf42d6fe4d8e1083bbb029afcf7e9.zip |
mod_csi: Cache CSI module availability to improve readabilty
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_csi.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/mod_csi.lua b/plugins/mod_csi.lua index e84ee032..458ff491 100644 --- a/plugins/mod_csi.lua +++ b/plugins/mod_csi.lua @@ -2,8 +2,9 @@ local st = require "util.stanza"; local xmlns_csi = "urn:xmpp:csi:0"; local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); +local csi_handler_available = nil; module:hook("stream-features", function (event) - if event.origin.username and prosody.hosts[module.host].events._handlers["csi-client-active"] then + if event.origin.username and csi_handler_available then event.features:add_child(csi_feature); end end); @@ -23,8 +24,10 @@ module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive function module.load() if prosody.hosts[module.host].events._handlers["csi-client-active"] then + csi_handler_available = true; module:set_status("core", "CSI handler module loaded"); else + csi_handler_available = false; module:set_status("warn", "No CSI handler module loaded"); end end |