delthas / JavaSkype

A lightweight, comprehensive Java API for Skype using MSNP24
MIT License
72 stars 28 forks source link

Skype connect calls dependent on libraries installed on machine #53

Closed mihaiborcan closed 5 years ago

mihaiborcan commented 5 years ago

Expected behaviour

Connecting the Skype object should work without a hitch.

Actual behaviour

Connecting works unpredictably. However, I've narrowed it down to some skype-related libraries installed on my local workstation. I've also read elsewhere that Skype delegates sending requests to some libraries installed on the OS you're running, but it's impossible to figure out which (source: https://www.programmableweb.com/news/skype-plans-to-shutdown-desktop-api-year-end/2013/07/15)

Steps to reproduce the issue

I can't reliably reproduce it across machines, however I was able to connect successfully on an Amazon Linux instance, after attempting to install the Skype package on there. wget https://go.skype.com/skypeforlinux-64.rpm sudo yum install skypeforlinux-64.rpm

Installation partially fails because of a missing package named "libsecret", but the necessary libraries to send are correctly installed (presumably) and subsequent attempts to connect are successful.

The biggest problem is that it used to work on my dev machine, I made a proof-of-concept using the library and everything worked correctly, then my Ubuntu had some auto-updates install and since then it's not working. Trying to find which libraries are used to connect is like searching for the proverbial needle. In a haystack. After it's been eaten by cows.

Also, it's working by default on another server we have, which is Ubuntu 16.04.3 LTS. For this particular server, I never installed any package to get it to work, so the necessary libraries are probably already bundled with 16.04.

Also not working on various MacBooks that my colleagues have, even though they have Skype running on their computers.

I've read other issues and they seem to be similar, but I feel none of them mentioned this detail, so perhaps it will help.

Version used: latest (1.0.23) Code used: trivial, similar to the example. Skype username: new account made a few weeks ago, ***@outlook.com (so I guess a Microsoft account)

Logs

Add debug logs (or link to them) if reporting a bug. For that call Skype.setDebug(path) at any time before calling skype.connect(). skype_log.log

mihaiborcan commented 5 years ago

My assumption was wrong, this pull request solved my problem https://github.com/delthas/JavaSkype/pull/46/files/fd72b305cedaf2a70c479e6d27ae58cbbb1558cf