Philipp Hörist pushed to branch master at gajim / gajim
Commits: d37f6e84 by lovetox at 2021-02-07T17:35:11+01:00 PubSub: Discover publish options correctly
- - - - - 2fd685f7 by lovetox at 2021-02-07T17:35:11+01:00 Bookmarks: Check for config-node-max feature
Fixes #10425
- - - - -
2 changed files:
- gajim/common/modules/bookmarks.py - gajim/common/modules/pubsub.py
Changes:
===================================== gajim/common/modules/bookmarks.py ===================================== @@ -35,6 +35,9 @@ from gajim.common.modules.util import event_node
+NODE_MAX_NS = 'http://jabber.org/protocol/pubsub#config-node-max' + + class Bookmarks(BaseModule): def __init__(self, con): BaseModule.__init__(self, con) @@ -43,6 +46,7 @@ def __init__(self, con): self._conversion = False self._compat = False self._compat_pep = False + self._node_max = False self._bookmarks = {} self._join_timeouts = [] self._request_in_progress = True @@ -132,6 +136,7 @@ def _bookmark_1_event_received(self, _con, _stanza, properties): NetworkEvent('bookmarks-received', account=self._account))
def pass_disco(self, info): + self._node_max = NODE_MAX_NS in info.features self._compat_pep = Namespace.BOOKMARKS_COMPAT_PEP in info.features self._compat = Namespace.BOOKMARKS_COMPAT in info.features self._conversion = Namespace.BOOKMARK_CONVERSION in info.features @@ -141,7 +146,10 @@ def _bookmark_module(self): if not self._con.get_module('PubSub').publish_options: return 'PrivateBookmarks'
- if app.settings.get('dev_force_bookmark_2') or self._compat_pep: + if app.settings.get('dev_force_bookmark_2'): + return 'NativeBookmarks' + + if self._compat_pep and self._node_max: return 'NativeBookmarks'
if self._conversion:
===================================== gajim/common/modules/pubsub.py ===================================== @@ -44,8 +44,9 @@ def __init__(self, con): self.publish_options = False
def pass_disco(self, info): - self._log.info('Discovered Pubsub publish options: %s', info.jid) - self.publish_options = True + if Namespace.PUBSUB_PUBLISH_OPTIONS in info.features: + self._log.info('Discovered Pubsub publish options: %s', info.jid) + self.publish_options = True
def send_pb_subscription_query(self, jid, cb, **kwargs): if not app.account_is_available(self._account):
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/compare/69b4ae1823fdf6391e1ccf07e3f45eb3...