view mod_offline_hints/mod_offline_hints.lua @ 4326:f6fdefc5c6ac

mod_roster_command: Fix subscription when the "user JID" is a bare domain. Do not attempt to update the roster when the user is bare domain (e.g. a component), since they don't have rosters and the attempt results in an error: $ prosodyctl mod_roster_command subscribe proxy.example.com contact@example.com xxxxxxxxxxFailed to execute command: Error: /usr/lib/prosody/core/rostermanager.lua:104: attempt to concatenate local 'username' (a nil value) stack traceback: /usr/lib/prosody/core/rostermanager.lua:104: in function 'load_roster' /usr/lib/prosody/core/rostermanager.lua:305: in function 'set_contact_pending_out' mod_roster_command.lua:44: in function 'subscribe'
author Boris Grozev <boris@jitsi.org>
date Tue, 05 Jan 2021 13:15:00 -0600
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");