view mod_offline_hints/mod_offline_hints.lua @ 4730:1da4b815d2fe

mod_cloud_notify: Identify (and immediately push) urgent stanzas, e.g. calls This covers the following things: - A session that appears online, but has a broken TCP connection - Clients such as Siskin and Snikket iOS that require a push for calls to work It allows the stanza to be pushed immediately instead of waiting for the session to hibernate or an ack to timeout. It shouldn't break any existing cases.
author Matthew Wild <mwild1@gmail.com>
date Wed, 27 Oct 2021 19:12:03 +0100
parents e86315c9b5c4
children
line wrap: on
line source

-- mod_offline_hints
--
-- Copyright (C) 2019 Marcos de Vera Piquero <marcos.devera@quobis.com>
--
-- This file is MIT/X11 licensed.
--
-- A module to discard hinted messages with no-store at mod_offline
--

module:depends"offline";

local function handle_offline (event)
	local stanza = event.stanza;
	if (stanza:get_child("no-store", "urn:xmpp:hints") or
		stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then
		module:log("debug", "Not storing offline stanza: %s (urn:xmpp:hints)", stanza);
		return false;
	end
	return nil;
end

module:hook("message/offline/handle", handle_offline);

module:log("debug", "Module loaded");