Bug 90992 - Connection to slack fails
Summary: Connection to slack fails
Status: NEEDINFO
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-16 13:43 UTC by Steve Jones
Modified: 2016-07-07 00:08 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Logs from telepathy-gabble demonstrating hang. (27.67 KB, text/plain)
2015-06-16 13:43 UTC, Steve Jones
Details

Note You need to log in before you can comment on or make changes to this bug.
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.


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.