Philipp Hörist pushed to branch master at gajim / gajim


Commits:
ad55c8d7 by Philipp Hörist at 2025-03-10T16:41:38+01:00
refactor: Bookmarks: Handle invalid bookmark on retract

- - - - -


2 changed files:

- gajim/common/modules/bookmarks.py
- pyproject.toml


Changes:

=====================================
gajim/common/modules/bookmarks.py
=====================================
@@ -118,14 +118,19 @@ def _bookmark_1_event_received(self,
         assert properties.pubsub_event is not None
         if properties.pubsub_event.deleted or properties.pubsub_event.purged:
             self._log.info('Bookmark node deleted/purged')
-            self._bookmarks = {}
+            self._bookmarks.clear()
 
         elif properties.pubsub_event.retracted:
-            jid = properties.pubsub_event.id
-            self._log.info('Retract: %s', jid)
-            bookmark = self._bookmarks.get(jid)
-            if bookmark is not None:
-                self._bookmarks.pop(jid, None)
+            try:
+                jid = JID.from_string(properties.pubsub_event.id)
+            except Exception as error:
+                self._log.info('Unable to parse retracted bookmark: %s %s',
+                                properties.pubsub_event.id, error)
+            else:
+                self._log.info('Retract: %s', jid)
+                bookmark = self._bookmarks.get(jid)
+                if bookmark is not None:
+                    self._bookmarks.pop(jid, None)
 
         else:
             new_bookmark = cast(BookmarkData, properties.pubsub_event.data)


=====================================
pyproject.toml
=====================================
@@ -115,7 +115,6 @@ exclude = [
   "gajim/common/jingle_session.py",
   "gajim/common/jingle_transport.py",
   "gajim/common/modules/bits_of_binary.py",
-  "gajim/common/modules/bookmarks.py",
   "gajim/common/modules/bytestream.py",
   "gajim/common/modules/contacts.py",
   "gajim/common/modules/discovery.py",



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/ad55c8d7878208868ddfca481ae408976b7f20bf

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/ad55c8d7878208868ddfca481ae408976b7f20bf
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to