File

mod_csi_compat/mod_csi_compat.lua @ 5516:f25df3af02c1

mod_client_management: Include client software version number in listing Should you ever wish to revoke a client by version number, e.g. for security reasons affecting certain versions, then it would be good to at the very least see which version is used. Also includes the OAuth2 software ID, an optional unique identifier that should be the same for all installations of a particular software.
author Kim Alvefur <zash@zash.se>
date Sat, 03 Jun 2023 19:21:39 +0200
parent 1865:db8b256f51ff
line wrap: on
line source

local st = require "util.stanza";

module:depends("csi");

module:add_feature("google:queue");

module:hook("iq-set/self/google:queue:query", function(event)
	local origin, stanza = event.origin, event.stanza;
	(origin.log or module._log)("debug", "Google queue invoked (CSI compat mode)")
	local payload = stanza:get_child("query", "google:queue");
	if payload:get_child("enable") then
		module:fire_event("csi-client-inactive", event);
	elseif payload:get_child("disable") then
		module:fire_event("csi-client-active", event);
	end
	-- <flush/> is implemented as a noop, any IQ stanza would flush the queue anyways.
	origin.send(st.reply(stanza));
	return true;
end, 10);