Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Receiving duplicate messages #140

Open
Fyren opened this issue Jun 17, 2019 · 4 comments
Open

Receiving duplicate messages #140

Fyren opened this issue Jun 17, 2019 · 4 comments

Comments

@Fyren
Copy link

Fyren commented Jun 17, 2019

Within the last couple weeks, I've sometimes been getting duplicates of received messages. In my IRC client, it looks like this:

13:15:00 <User> funny
13:59:56 <User> [13:15:00] funny
22:50:32 <User> i finally got kqb
10:27:38 <User> [2019-06-08 22:50:31] i finally got kqb

Sometimes they involve multiple messages. It's never happened in a situation where I've replied, so a wild guess would be that it's Steam providing past messages for showing history. My bitlbee status channel doesn't say I reconnected to Steam between the duplicates, though. Maybe it has to do with my actual Steam client reconnecting to chat.

Running BITLBEE_DEBUG_STEAM=1 bitlbee -Dn seems to make bitlbee segfault for me, so I don't have any debug info.

@dequis
Copy link
Member

dequis commented Jun 17, 2019

Try adding BITLBEE_DEBUG=1 to that

(i guess that's an old bitlbee-libpurple?)

@Fyren
Copy link
Author

Fyren commented Jun 17, 2019

Adding that to my env seems to stop bitlbee from segfaulting, so I'll see if get anything interesting when it happens again.

I'm running my own compile of bitlbee 3.5.1, which is old, but I didn't configure with --purple=1.

@Fyren
Copy link
Author

Fyren commented Jun 20, 2019

Here's a rough description of what I see in my logs:

Wed, 19 Jun 2019 20:21:26 GMT POST /ISteamWebUserPresenceOAuth/Poll/v0001 returns 200, good response
Wed, 19 Jun 2019 20:21:26 GMT GET /ISteamUserOAuth/GetUserSummaries/v0001 returns 200, good response

But the next few time out or error:

Wed, 19 Jun 2019 20:21:56 GMT POST /ISteamWebUserPresenceOAuth/Poll/v0001 returns 200, body {"pollid":0,"sectimeout":30,"error":"Timeout"}
Wed, 19 Jun 2019 20:22:26 GTM POST /ISteamWebUserPresenceOAuth/Poll/v0001 returns 200, body {"pollid":0,"sectimeout":30,"error":"Timeout"}
Wed, 19 Jun 2019 20:22:46 GMT POST /ISteamWebUserPresenceOAuth/Poll/v0001 returns 500
Wed, 19 Jun 2019 20:22:49 GMT POST /ISteamWebUserPresenceOAuth/Poll/v0001 returns 200, {"pollid":0,"sectimeout":1,"error":"Not Logged On"}

At this point it relogs successfully. When it does a GET /IFriendMessagesService/GetActiveMessageSessions/v0001, inside the response data I see this: {"accountid_friend":snip,"last_message":1560907038,"last_view":1560906384,"unread_message_count":15}. If I look at the official Steam client, I also see 15 unread messages from that user. I did see those messages earlier in bitlbee, but I didn't respond to them.

It does a GET /IFriendMessagesService/GetRecentMessages/v0001 and in that response I see the repeated messages: {"response":{"messages":[{"accountid":snip,"timestamp":1560907038,"message":"something I already received"},<more messages from earlier>.... If I search for that timestamp, I see the same message as part of a poll response from before when I first received it.

So it is reconnecting, it just doesn't report it in the status channel. I don't see a way to match up the resent messages except by comparing the timestamp and text. I don't know if there's a way to respond to receiving them in the first place so they don't count as unread, but I know nothing of the protocol and it seems to not be documented?

@kantlivelong
Copy link

Seeing this too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants