changeset 313:cc8ffbfe938c

QnD workaround for presence broadcast openfire bug
author Goffi <goffi@goffi.org>
date Sat, 16 Apr 2011 18:06:22 +0200
parents f56108eb2880
children 58d2f0c6b595
files src/sat.tac
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/sat.tac	Fri Apr 15 02:03:10 2011 +0200
+++ b/src/sat.tac	Sat Apr 16 18:06:22 2011 +0200
@@ -670,6 +670,13 @@
         assert(profile)
         to_jid = jid.JID(to) if to else None
         self.profiles[profile].presence.available(to_jid, show, statuses, priority)
+        #XXX: FIXME: temporary fix to work around openfire 3.7.0 bug (presence is not broadcasted to generating resource)
+        if statuses.has_key(''):
+            statuses['default'] = statuses['']
+            del statuses['']
+        self.bridge.presenceUpdate(self.profiles[profile].jid.full(),  show,
+                int(priority), statuses, profile)
+        
     
     def subscription(self, subs_type, raw_jid, profile_key='@DEFAULT@'):
         """Called to manage subscription