Commit 2e9de770 authored by Philipp Hörist's avatar Philipp Hörist

Remove discovery of generic pubsub support

We use PubSub only on our account jid, this use case is what PEP
was made for. If PEP is discovered we know that certain PubSub
features are supported, see: https://xmpp.org/extensions/xep-0163.html#defaults

The current check for <feature var='http://jabber.org/protocol/pubsub'/>
is pretty useless, as it just tells us that there is a PubSub implementation
but not much about the features. Only `publish` and `subscribe` are MUST
in XEP-0060 which is not enough for our needs.

If there is ever need to discover a generic PubSub implementation
that is not PEP we should check for all the PubSub features we need
instead of only for <feature var='http://jabber.org/protocol/pubsub'/>
parent 64d3bf63
Pipeline #376 passed with stages
in 2 minutes and 17 seconds
......@@ -670,7 +670,6 @@ class Connection(CommonConnection, ConnectionHandlers):
self.music_track_info = 0
self.location_info = {}
self.pubsub_supported = False
self.register_supported = False
self.pubsub_publish_options_supported = False
# Do we auto accept insecure connection
......@@ -1933,8 +1932,6 @@ class Connection(CommonConnection, ConnectionHandlers):
get_action(self.name + '-profile').set_enabled(True)
if nbxmpp.NS_REGISTER in obj.features:
self.register_supported = True
if nbxmpp.NS_PUBSUB in obj.features:
self.pubsub_supported = True
if nbxmpp.NS_BLOCKING in obj.features:
self.blocking_supported = True
if nbxmpp.NS_ADDRESS in obj.features:
......@@ -2363,8 +2360,7 @@ class Connection(CommonConnection, ConnectionHandlers):
return
if storage_type != 'xml':
pubsub = self.pubsub_supported or self.pep_supported
if pubsub and self.pubsub_publish_options_supported:
if self.pep_supported and self.pubsub_publish_options_supported:
self.send_pb_retrieve('', 'storage:bookmarks')
app.log('bookmarks').info('Request Bookmarks (PubSub)')
# some server (ejabberd) are so slow to answer that we
......@@ -2422,8 +2418,7 @@ class Connection(CommonConnection, ConnectionHandlers):
storage_node = self.get_bookmarks_storage_node()
if storage_type != 'xml':
pubsub = self.pubsub_supported or self.pep_supported
if pubsub and self.pubsub_publish_options_supported:
if self.pep_supported and self.pubsub_publish_options_supported:
self.send_pb_publish(
'', 'storage:bookmarks', storage_node, 'current',
options=self.get_bookmark_publish_options())
......
......@@ -354,7 +354,7 @@ class GroupchatControl(ChatControlBase):
img.set_from_icon_name('bookmark-new', Gtk.IconSize.MENU)
widget.set_sensitive(
app.connections[self.account].private_storage_supported or \
(app.connections[self.account].pubsub_supported and \
(app.connections[self.account].pep_supported and \
app.connections[self.account].pubsub_publish_options_supported))
widget.show()
......@@ -971,7 +971,7 @@ class GroupchatControl(ChatControlBase):
notify_menuitem.set_active(app.config.get_per('rooms', self.contact.jid,
'notify_on_all_messages'))
conn = app.connections[self.account]
if not conn.private_storage_supported and (not conn.pubsub_supported or \
if not conn.private_storage_supported and (not conn.pep_supported or \
not conn.pubsub_publish_options_supported):
bookmark_room_menuitem.set_sensitive(False)
if app.gc_connected[self.account][self.room_jid]:
......
......@@ -118,9 +118,8 @@ class ServerInfoDialog(Gtk.Dialog):
Feature('XEP-0016: Privacy Lists', con.privacy_rules_supported, None),
Feature('XEP-0045: Multi-User Chat', con.muc_jid, None),
Feature('XEP-0054: vcard-temp', con.vcard_supported, None),
Feature('XEP-0060: PubSub', con.pubsub_supported, None),
Feature('XEP-0060: Publish Options', con.pubsub_publish_options_supported, None),
Feature('XEP-0163: Personal Eventing Protocol', con.pep_supported, None),
Feature('XEP-0163: #publish-options', con.pubsub_publish_options_supported, None),
Feature('XEP-0191: Blocking Command', con.blocking_supported, nbxmpp.NS_BLOCKING),
Feature('XEP-0198: Stream Management', con.sm.enabled, nbxmpp.NS_STREAM_MGMT),
Feature('XEP-0280: Message Carbons', con.carbons_enabled, nbxmpp.NS_CARBONS),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment