From 44ba02eef0075861e2398dfb5959288c9330f781 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Sun, 5 Jul 2009 17:45:44 +0500 Subject: Moved automatic unavailable presence generation on disconnect from sessionmanager to mod_presence --- plugins/mod_presence.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'plugins') diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua index 9ae068c2..4fa9f431 100644 --- a/plugins/mod_presence.lua +++ b/plugins/mod_presence.lua @@ -315,3 +315,14 @@ module:hook("presence/full", function(data) end -- resource not online, discard return true; end); + +module:hook("resource-unbind", function(event) + local session, err = event.session, event.error; + -- Send unavailable presence + if session.presence then + local pres = st.presence{ type = "unavailable" }; + if not(err) or err == "closed" then err = "connection closed"; end + pres:tag("status"):text("Disconnected: "..err):up(); + session:dispatch_stanza(pres); + end +end); -- cgit v1.2.3