jwarlander / hedwig_hipchat

HipChat Adapter for Hedwig
MIT License
7 stars 5 forks source link

Deadlock after connection #6

Open ghost opened 8 years ago

ghost commented 8 years ago

I'm new to Elixir and trying to replace our home-grown Ruby bot with hedwig_hipchat and I'm seeing a deadlock after connecting. Elixir.Hedwig.Adapters.HipChat.get_roster/2 has this message in its box:

{stanza,#{'__struct__' => 'Elixir.Romeo.Stanza.IQ', from => nil, id => <<"5756">>, to => nil, type => <<"result">>, xml => {xmlel,<<"iq">>, [{<<"type">>,<<"result">>},{<<"id">>,<<"5756">>}], []}}}

As I mentioned, I'm very new to Elixir, so I'm not sure how much I can bring to debugging this, but I'm happy to provide you with whatever other information you need. I've hit you up on Slack, but I don't think you've seen it yet.

Also, I'm using:

{:hedwig_hipchat, github: "scrogson/hedwig_hipchat"},

which has been updated to use Romeo 0.6. I was working with scrogson, but he suggested that I contact you.

jwarlander commented 8 years ago

Hi @riddley,

I'll see if I can recreate the issue. Are you using cloud or server version of HipChat?

ghost commented 8 years ago

We're using the cloud version. Scrogson wasn't able to duplicate it with his one user setup, but when I provided my connection details, he was able to. Hit me up on Slack if you'd like.

scrogson commented 8 years ago

I found the source of the problem. It's actually an issue in https://github.com/scrogson/romeo. The problem is that the data coming back from the roster is so large that the data is not a complete xml stanza. So the parser never sends a message until it has a complete stanza.

I should have a fix soon.

Thanks for your patience!