EionRobb / pidgin-opensteamworks

Steam plugin for Pidgin/libpurple
153 stars 5 forks source link

Messages out-of-order when sent very quickly #63

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Really basic way to reproduce this:-
1. Add two or more messages to the buddy pounce option in pidgin
2. Trigger the pounce
3. Watch the messages be sent in one order:-
>(02:21:27) Automatic: Message one
>(02:21:27) Automatic: Message two
>(02:21:27) Automatic: Message three
>(02:21:27) Automatic: Message four

4. Watch the messages be sent in a different order (on steam):-
>02:21 - Automatic: Message two
>02:21 - Automatic: Message four
>02:21 - Automatic: Message one
>02:21 - Automatic: Message three

Other person also sees this order:-
>02:22 - Automatic: Mind doing me a quick favor? Tell me which order you 
received those four messages ('one, two, three and four')
>02:23 - Automatic: only time I'll ask you to reply
>02:23 - Fafaffy:
>>Automatic: Message two
>>Automatic: Message four
>>Automatic: Message one
>>Automatic: Message three

Issue doesn't occur in other accounts, as shown with my skype account:-
>(02:28:26) Automatic: One
>(02:28:26) Automatic: Two
>(02:28:26) Automatic: Three
>(02:28:26) Automatic: Four

And skype's POV:-
>[02:28:26] Automatic: One
>[02:28:26] Automatic: Two
>[02:28:26] Automatic: Three
>[02:28:26] Automatic: Four

This only really occurs when you're sending lots of messages very quickly, 
however, this is somewhat common when using instant messages as very few people 
(Or, at-least, not me) proof read their IMs like they do with their emails (or 
bug reports (inb4spellingmistake)). So, one may type:-

>Yo duude
>dude*
>What's up?
>Wanna go play Payday
>2
>payday 2

All in a span of five or so seconds, which, in this case, does create incorrect 
placement of lines:-
>(02:32:08) Automatic: Yo duude
>(02:32:09) Automatic: dude*
>(02:32:10) Automatic: what's up?
>(02:32:11) Automatic: wanna go play payday
>(02:32:12) Automatic: 2
>(02:32:13) Automatic: payday 2

While the receiver receives a somewhat confusing message:-
>02:32 - Automatic: Yo duude
>02:32 - Automatic: dude*
>02:32 - Automatic: 2
>02:32 - Automatic: what's up?
>02:32 - Automatic: payday 2
>02:32 - Automatic: wanna go play payday

I will update this once I download Visual Studios to do some testing using 
SteamRE (Will probably take two or so hours due to my slow internet, which, is 
the reason why I'm posting this now).

Original issue reported on code.google.com by Automati...@gmail.com on 19 Sep 2013 at 1:36

GoogleCodeExporter commented 9 years ago
Two things first:-
1. I managed to make a grammar mistake, here:-
>Will probably take two or so hours
2. I have no idea how to edit a bug report on google code

So, anyway, I threw together a really basic steamRE program that basically 
sends 1-100 whenever it gets a message:-

msg.Handle<SteamFriends.FriendMsgCallback>(callback 
=>{Console.WriteLine("FriendMsgCallback");if 
(!callback.EntryType.Equals(EChatEntryType.ChatMsg)) return;for (int i = 0; i < 
100; i++){myFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, 
i.ToString());}});

And, here's the result:-
http://i.imgur.com/mwc8cqe.png

Unfortunately, I do not have a legitimate mobile phone that supports the steam 
application to test if this is a protocol error or not. However, using steams 
other protocol (webUI), it works fine:-
http://i.imgur.com/fmTa6ce.png

So, yeah. I'll ask someone who has a steam supported phone to test this, then, 
I'll get back to you within 30 or so minutes (If people aren't being jerks and 
not willing to help me)

Original comment by Automati...@gmail.com on 19 Sep 2013 at 2:08

GoogleCodeExporter commented 9 years ago
And, finally, proof it's not an issue with the protocol:-
http://i.imgur.com/ugvOEpW.png

Yay! Bug report finished. I would look through the source, but, C isn't really 
my thing.

Original comment by Automati...@gmail.com on 19 Sep 2013 at 2:31