Mercurial > libervia-backend
diff sat_frontends/quick_frontend/quick_chat.py @ 2988:b5f8cb26ef6f
quick frontend (chat), primitivus(chat): properly clear occupants on resync:
occupants widgets were not cleared in Primitivus on resync while occupants dictionary was, resulting in nicknames sometimes apearing doubled in Primitivus MUC rooms.
A new occupantsClear method has been added in QuickChat, so it can be overriden by frontends to clear widgets or other representations of occupants.
fix 304
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 06 Jul 2019 12:22:25 +0200 |
parents | 49458e12e414 |
children | ab2696e34d29 |
line wrap: on
line diff
--- a/sat_frontends/quick_frontend/quick_chat.py Fri Jul 05 15:58:15 2019 +0200 +++ b/sat_frontends/quick_frontend/quick_chat.py Sat Jul 06 12:22:25 2019 +0200 @@ -393,6 +393,13 @@ self.sync = True self._resync_lock = False + def occupantsClear(self): + """Remove all occupants + + Must be overridden by frontends to clear their own representations of occupants + """ + self.occupants.clear() + def resync(self): if self._resync_lock: return @@ -408,7 +415,7 @@ self.historyPrint(callback=self._resyncComplete, profile=self.profile) return if self.type == C.CHAT_GROUP: - self.occupants.clear() + self.occupantsClear() self.host.bridge.mucOccupantsGet( unicode(self.target), self.profile, callback=self.updateOccupants, errback=log.error)