bitlbee / bitlbee-steam

Steam protocol plugin for BitlBee
GNU General Public License v2.0
126 stars 12 forks source link

Messages sent out of order #110

Closed Fyren closed 8 years ago

Fyren commented 8 years ago

Sometimes messages are received in a different order than sent. I don't know if it's intentionally reproducible, but I can see messages I've sent in one order in my IRC client and in another order in my actual Steam client. The recipient reported seeing them in the order that matched my Steam client.

I'd guess this probably isn't a problem in bitlbee-steam itself, but I don't really know. Does sending a message open up a new connection to the web API?

jgeboski commented 8 years ago

I haven't noticed this issue myself, is it only with a flood of messages? The plugin already queues the messages, and sends them in order. That said, I am not sure what else we can do.

Fyren commented 8 years ago

I only sent two messages in the case I noticed it. They were very short with about 2s between them (IRC timestamps of X seconds and X+2 seconds). If the messages are sent over different TCP streams, I guess they could just arrive out of order. That's why I asked about different connections.

jgeboski commented 8 years ago

It's all HTTP based, so yes, different TCP connections. However, we wait for a reply from Steam before we send the next message in the queue.

jgeboski commented 8 years ago

So it turns out, I am looking over the code as I implement something similar in bitlbee-facebook, and spot a logic error. I go ahead and test this again, and sure enough things are broken in bitlbee-steam. This must have regressed somewhere down the line. It is a simple fix, though.

jgeboski commented 8 years ago

This has been resolved as of 5fc03e5.