EionRobb / skype4pidgin

Skype Plugin for Pidgin, libpurple and more
https://github.com/EionRobb/skype4pidgin/tree/master/skypeweb#skypeweb-plugin-for-pidgin
625 stars 88 forks source link

Certain Skype Users appear offline, when they really are online. #649

Open Zombie-Ryushu opened 4 years ago

Zombie-Ryushu commented 4 years ago

Certain Skype Users aappear offline, when they really are online. I can chat with and respond to them, but to Pidgin they appear offline regardless.

EionRobb commented 4 years ago

Can you get a debug log?

Zombie-Ryushu commented 4 years ago

There isn't a crash for me to debug with gdb.

EionRobb commented 4 years ago

Sorry, not a backtrace, a libpurple debug log

Zombie-Ryushu commented 4 years ago

These messages appear in Red. (18:08:38) g_log: skypeweb_string_get_chunk: assertion 'chunk_start' failed (18:09:30) g_log: purple_connection_get_state: assertion 'gc != NULL' failed (18:09:33) GLib: g_source_remove: assertion 'tag > 0' failed

pkaynaptownirish commented 4 years ago

yes I'm noticing that too

jeremyp3 commented 4 years ago

hello,

I encounter the same problem since some time. It happens that some of the contacts reappear online, but I have not been able to define exactly why it happens. I suspect an update to the side of skype.

I sent a debug connection has skype with pidgin, I do not know if it can help you.

available to do other tests

thanks,

Jerem

EionRobb commented 4 years ago

Normally when connecting to the message polling, the server sends through all the online statuses of everyone, but doesn't look like it's doing that any more. There'll be a new endpoint somewhere that has that online info, but I don't have any buddies that appear as offline in order to test it

What's concerning in that debug log from @jeremyp3 is the line "(02:52:18) skypeweb: Unknown typ 2: 1418/8.58.0.93/SkypeX" which says there's a new type of Skype client that we don't know how to handle. Do others get the same "Unknown typ 2:" error?

EionRobb commented 4 years ago

So I just logged into web.skype.com to see if there's something new happening that might cause statuses to be missed, but it's all looking identical to when the skypeweb plugin was first created

When everyone is saying there are offline people, do they appear as offline in web.skype.com too?

EionRobb commented 4 years ago

Hmm, there is a manual poll of /v1/users/ME/contacts/ALL/presenceDocs/messagingService?cMri=8%3Aeionrobb that can extract user statuses without relying on info retrieved from the poll stream. I guess, at worst, we could poll this for all users in the buddy list

jeremyp3 commented 4 years ago

hello,

I can confirm for at least 1 contact who is online on the skype web, but offline on pidgin. I have not yet checked to see if my contact uses the version of skype 8.58.0.93 that we saw everything at the time

jeremyp3 commented 4 years ago

I just noticed another strange behavior, I have another contact that just appeared online on skypeweb but not on pidgin. even after several minutes. I have to disable and re-enable skype on pidgin, and it is now online. I don't know if this can help you to debug it, but I try to be as accurate as possible

gbon121 commented 4 years ago

Don't know if this can help:

In addition to frequent g_log: skypeweb_string_get_chunk: assertion 'chunk_start' failed messages in the debug window, I also noticed messages like this in pidgin's stderr: (Pidgin:26431): Json-CRITICAL **: 12:03:27.298: json_node_get_object: assertion 'JSON_NODE_IS_VALID (node)' failed.

Perhaps incomplete responses from server, leading to malformed JSON?

dkhokhlov commented 4 years ago

I have the same issue on MirandaNg & Pidgin. both use the same skypeweb code base.

ldmdev commented 4 years ago

I have the same issue. I see some contact online in the official skype app, offline on pidgin.

PF4Public commented 4 years ago

Suddenly, contacts are back online again :)

Zombie-Ryushu commented 4 years ago

No they are not. I'm still having problems.

simaoafonso-pwt commented 4 years ago

Can confirm this is still a problem. Maybe the server is doing A/B testing...

PF4Public commented 4 years ago

Maybe the server is doing A/B testing...

Quite possible. My contacts reappeared recently and are still online...

pkaynaptownirish commented 4 years ago

I'm still expiencing the same issue. Interested to know if user that said their users are sync'd has anything different re: configuration.

PF4Public commented 4 years ago

I didn't do anything special for them to reappear, but should I do a call via Skype application, they disappeared again altogether. Weird...

snilek commented 4 years ago

Facing the issue also.

Usually (from observation) when reconnecting to the account (e.g. by setting status -> offline -> online) the contacts that previously (only) appeared offline pop up as online.

EionRobb commented 4 years ago

Not sure if 2e2b755 fixes the issue (I still don't have it happening to me) but if others could test, that would be great. Windows dll attached libskypeweb.zip

EionRobb commented 4 years ago

So I think this change has actually made it worse, as it triggers a rate-limit. What I'm leaning towards is that it's hitting a rate-limit when we're requesting 100 contacts at a time to listen to status updates for. I've only got 500 people on my list and I don't run into any issues, but potentially people with larger lists will hit the rate-limit, and only the first few hundred people will end up updating

EionRobb commented 4 years ago

Alright, 94ff64a looks like the one to go for, there's a new way to request which users to find out presence information from, rather than doing a manual poll

libskypeweb.zip

snilek commented 4 years ago

So I think this change has actually made it worse, as it triggers a rate-limit. What I'm leaning towards is that it's hitting a rate-limit when we're requesting 100 contacts at a time to listen to status updates for. I've only got 500 people on my list and I don't run into any issues, but potentially people with larger lists will hit the rate-limit, and only the first few hundred people will end up updating

I have got only about 50 contacts and I am experiencing this issue.

EionRobb commented 4 years ago

@snilek did you try building from the commit referenced?

snilek commented 4 years ago

@snilek did you try building from the commit referenced?

Yes, I built from latest source yesterday. I see no difference (from general user perspective). To get "the problematic" contacts online, I have to switch offline/online.