EionRobb / skype4pidgin

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

Eternal invitation #577

Open lmfardin opened 6 years ago

lmfardin commented 6 years ago

Version: 1.4 I have accepted a friend on Skype but, whenever I login, I get the invitation again.

himselfv commented 6 years ago

Yeah, it seems accepts are not working. I tried using purple-skypeweb 1.4 via spectrum2, and then directly from Pidgin.

With spectrum, I've received the initial invitation request, accepted it and received no further messages nor any of the 3 following invitation requests I've sent from the other account. I could also not see its online status and vice versa.

Via Pidgin then I've received one invitation request again, accepted it again and still could not see online status.

Finally, after I've accepted the invitation via Skype for PC, both spectrum and Pidgin could receive messages and see online status of the contact.

EionRobb commented 6 years ago

@himselfv can you try compiling the plugin from the latest git code and see if it works then?

himselfv commented 6 years ago

If I rebuild from master head, it just says "Failed getting PIE value" on logon. Strangely, it's the same even if I rebuild the revision which is marked as 1.4, but if I install 1.4 from CentOS7 repo, logon works. rpmbuild also marks RPM as 1.1 because that's what it says in the .spec.

himselfv commented 6 years ago

Oh, wait, I see, RPM pulls the revision according to its version. I've built it like this now:

make
make install

It works no worse than 1.4, but still when I accept the invitation I remain non-confirmed at the other party (even though my xmpp client says: subscription: both, and allows to revoke). Additional invitation requests are not delivered in this session. The initial request takes a while to get delivered too, a few minutes. When I open Skype for PC, it shows me this invitation as pending.

When I shut down the node, it says Json-CRITICAL: json_node_get_object: assertion 'JSON_NODE_IS_VALID (node)' failed.

brianjmurrell commented 6 years ago

I'm using 1.5-1.20180525gitcf65095 and get repeated invitation requests that I accept over and over again.

lmfardin commented 6 years ago

It happened to me before as well. Have you tried answering the request on Skype? Em quinta-feira, 26 de julho de 2018 15:20:59 BRT, Brian J. Murrell notifications@github.com escreveu:

I'm using 1.5-1.20180525gitcf65095 and get repeated invitation requests that I accept over and over again.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

brianjmurrell commented 6 years ago

It happened to me before as well. Have you tried answering the request on Skype?

Yes, of course answering the request on Skype works. But that's not surprising. This issue is about it not working in Pidgin/purple.

himselfv commented 6 years ago

For me it's even stranger. Every time there's a new request on Skype, I get all the friend requests for all time, again. I answer all of them, and then only the new ones return until I answer them on Skype. Then everything is silent.

Then another friend request comes up from Skype, and I get all of them plus this one, again. Etc.

himselfv commented 5 years ago

I've solved the "get all the friend requests again", that part was unrelated to skypeweb. But declining friend requests still doesn't work:

libpurple: skypeweb:auth_reject_cb(): in
libpurple: skypeweb:auth_reject_cb(): buddy_name=xxxxx
libpurple: http:Performing new request 0x1ad4580 to contacts.skype.com.
libpurple: http:Connecting to contacts.skype.com...
libpurple: skypeweb:auth_reject_cb(): out
libpurple: http:locking a (previously used) socket: 0x19e47e0
libpurple: http:Got main header with code 403
libpurple: http:Got headers end
libpurple: http:releasing a socket: 0x19e47e0
libpurple: http:Request 0x1ad4580 performed without success.
himselfv commented 5 years ago

auth_accept_cb() doesn't work either!

If anyone investigates this, here's my notes. The requests are correctly formed with the correct URI needed for the action. I've verified in the browser that this exact URI, passed with basically only a correct X-Skypetoken, results in 200 SUCCESS. No other header fields are required.

But when passed with the value of X-Skypetoken that purple-skypeweb uses, the request fails with 403. Perhaps the skypetoken has associated permissions and this one is formed somewhat differently than the actual web.skype.com 's one?

EionRobb commented 5 years ago

@himselfv are you using the "alternate auth" setting in the Advanced account settings?

himselfv commented 5 years ago

No.

EionRobb commented 5 years ago

@himselfv and if you do switch to it (and disable then reenable the account) do the accept/decline buttons work then?

himselfv commented 5 years ago

They do! Both accept and decline work in alternative mode. Thank you! Are there any drawbacks?

bmomjian commented 4 years ago

I am also having problems with repeatedly being prompted for invitations I decline. (Acceptance seems fine.) I have found the fix to be to decline them in the official Skype app, or if I have already deleted the conversation, I have to search for their name in the official Skype app, add them as a contact, then remove them as a contact. That makes the invitation prompting stop.

I can't test the suggested fix of using the "alternate auth" setting in the Advanced account settings, but I get an error on Pidgin startup for Skype, Login error: No handler found for resource (code 40499). Any idea how ti fix that?