Unhandled exception when trying to save roster to logger.db
There is no check that searchs for jid duplicates in raw_roster at ConnectionHandlers._on_roster_set(), so when it comes to Logger.replace_roster() it crashes trying to insert records to roster_group table with not unique account_jid_id, jid_id and group.
Traceback (most recent call last): File "gajim.py", line 3048, in process_connections gajim.idlequeue.process() File "D:\Crank\Utils\src\gajim\src\common\xmpp\idlequeue.py", line 455, in process q.pollin() File "D:\Crank\Utils\src\gajim\src\common\xmpp\transports_nb.py", line 391, in pollin self._do_receive() File "D:\Crank\Utils\src\gajim\src\common\xmpp\transports_nb.py", line 571, in _do_receive self._on_receive(received) File "D:\Crank\Utils\src\gajim\src\common\xmpp\transports_nb.py", line 583, in _on_receive self.on_receive(data) File "D:\Crank\Utils\src\gajim\src\common\xmpp\roster_nb.py", line 230, in _on_roster_set self.on_ready(self) File "D:\Crank\Utils\src\gajim\src\common\connection_handlers.py", line 2597, in _on_roster_set gajim.logger.replace_roster(self.name, roster_version, roster) File "D:\Crank\Utils\src\gajim\src\common\logger.py", line 851, in replace_roster roster[jid]['groups']) File "D:\Crank\Utils\src\gajim\src\common\logger.py", line 887, in add_or_update_contact (account_jid_id, jid_id, group)) IntegrityError: columns account_jid_id, jid_id, group_name are not unique