Bug 90992

Summary: Connection to slack fails
Product: Telepathy Reporter: Steve Jones <freedesktop>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: diane, jon.dufresne, martin.klapetek, sw-freedesktop
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Logs from telepathy-gabble demonstrating hang.

Description Steve Jones 2015-06-16 13:43:10 UTC
Created attachment 116533 [details]
Logs from telepathy-gabble demonstrating hang.

I have an account on Slack.com with the XMPP gateway enabled. I can connect to this using Pidgin. When I create the XMPP account through telepathy the connection hangs at "connecting". I've attached slightly redacted logs with the place where it hangs marked. Logs after that occur after quitting Empathy.

Logs generated by:

G_MESSAGES_DEBUG=all GABBLE_PERSIST=1 GABBLE_DEBUG=all /usr/lib/telepathy/telepathy-gabble 2>&1 | tee gabble.log

Then running empathy with only the Slack account enabled.
Comment 1 Charles Samuels 2015-07-02 22:29:46 UTC
I've seen this as well.

I have a contact at Slack that would willing to help investigate.
Comment 2 diane 2016-06-24 21:45:05 UTC
Anyone have a test slack team I could join that has the XMPP gateway turned on?

I can take a look to see if I can figure out whats missing.
Comment 3 diane 2016-06-30 22:22:32 UTC
Just tried from telepathy-gabble 0.18.3 using empathy 3.12.12 and was able to make a connection to slack and received messages.

Unfortunately sending a message causes empathy to think that its sending forever without ever realizing that it was sent.

Also I saw error messages like this in Empathy debug Logs.

_write_node_tree: Serializing tree:
* iq xmlns='jabber:client' type='get' to='general@conference.<team>.xmpp.slack.com' id='66522600901'
    * query xmlns='http://jabber.org/protocol/disco#info'
_end_element_ns: Received stanza
* iq xmlns='jabber:client' type='error' id='66522600901' from='general@conference.<team>.xmpp.slack.com'
    * error type='cancel'
        * service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'
        * text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'
            "Unrecognized request"

that make me think they didn't implement all of the XMPP MUC spec.

They looks like they're not meeting the requirements for section 6.4 of http://xmpp.org/extensions/xep-0045.html

And considering room browsing doesn't work I suspect they didn't implement other disco#info requests.
Comment 4 diane 2016-07-07 00:08:34 UTC
More testing.

Gabble 0.18.3 unconditionally includes XEP-0085 chat activity messages in the MUC groupchat message. which triggers an error from Slack.

I manually sent a groupchat message without an activity message, and did not get the error.

A disco#info request to the <team>.xmpp.slack.com gateway does not include <feature var='http://jabber.org/protocol/chatstates'/> indicating that slack doesn't support chat states.

It would seem to me that gabble should check to see if a server supports chat states before including them in a message.
Comment 5 GitLab Migration User 2019-12-03 20:01:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-gabble/issues/278.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.