Bug 355415

Summary: Cannot connect to Google Hangouts
Product: [Frameworks and Libraries] telepathy Reporter: Thomas Van Parys <kde>
Component: accounts-kcmAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED WORKSFORME    
Severity: grave CC: ao, frederick888, lalochcz, mklapetek, pfoo, ryan.nexus7.2012, t.kijas
Priority: NOR    
Version: 15.08.2   
Target Milestone: Future   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Thomas Van Parys 2015-11-16 09:17:33 UTC
Trying to connect to Google Hangouts results in a notification "Authentication of your account failed (is your password correct?).

 - I could create the Google Hangouts account correctly in the Instant Messaging Settings.
 - I successfully went through Google's two-step authentication (where you first give a password and then enter the code that's displayed on the authenticator app on your cellphone).

However, when I look now at Google Hangouts > Configure, I only see 
Google Talk
Email address: google.com

So I feel somehow the storing of account info went wrong. 


Reproducible: Always

Steps to Reproduce:
1. add your google account (create > google > enter google id)
2. complete authentication (for me: password and authenticator app)
3. confirm, done
4. set status to Available

Actual Results:  
A notification saying that no connection to google could be made

Expected Results:  
Connecting to Google Hangouts and showing contacts in the contact list.

Similarly, but less important: 
 - When trying my old ICQ account, which also doesn't connect, the password field in configure stays empty. The ICQ number is remembered correctly.
 - Connecting to Facebook chat (using XMPP) also fails (or did FB finally disable the XMPP API?)
 - My own Jabber/XMPP account does work fine. Strangely enough, the password field also stays empty when I check the configure dialog.
Comment 1 Pavel 2015-11-20 18:00:41 UTC
After I updater to Apps 15.08.3 it works again.
Seems like there was some change in Hangouts API.
Comment 2 Pavel 2015-11-20 18:01:38 UTC
And yes, Facebook XMPP is no more.
Comment 3 David Strobach 2015-12-23 12:46:45 UTC
Same problem here on Arch Linux with KDE Apps 15.12.0.
Comment 4 Thomas Van Parys 2015-12-23 13:12:42 UTC
I was waiting for Fedora to push 15.08.3 to see whether that actually fixes the bugs, but if 15.12.0 still has the same issues, that's not very likely.

But I wonder if it's only my (Fedora) install of Telepathy that's so completely messed up, or if it's a general thing. These should be separate bugs, but next to Google Hangouts, also ICQ is not working and Telegram keeps asking for the non-existing 'morse' package. Actually, only XMPP is at this point working as it should.
Comment 5 David Strobach 2015-12-23 15:13:07 UTC
(In reply to Thomas Van Parys from comment #4)
> I was waiting for Fedora to push 15.08.3 to see whether that actually fixes
> the bugs, but if 15.12.0 still has the same issues, that's not very likely.
> 
> But I wonder if it's only my (Fedora) install of Telepathy that's so
> completely messed up, or if it's a general thing. These should be separate
> bugs, but next to Google Hangouts, also ICQ is not working and Telegram
> keeps asking for the non-existing 'morse' package. Actually, only XMPP is at
> this point working as it should.

I ended up completely deleting ~/.config/libaccounts-glib and ~/.config/signond and re-creating all the accounts from scratch. Conversation logs are stored under ~/.local/share/TpLogger. You can pair them back with the newly created accounts if you wish (mc-tool dump will be your guide). Look at https://community.kde.org/KTp/Setting_up_KAccounts for an illustration of how complicated the authentication in KTp is. With all the libraries, daemons, plugins and their ever-changing protocols and configuration formats, it's wonder that the KTp works at all (sometimes). Btw, I was horrified when I realized, that the signond "secrets" database is stored in plain text and is readable by group (which, in my case, is users!).
Comment 6 Thomas Van Parys 2015-12-28 20:53:44 UTC
Thanks for the hint, David.
I tried deleting those directories and re-creating the accounts, but that didn't change anything. Also my XMPP account now does not seem to connect anymore at the moment.
(Google, ICQ, Telegram, ... all still not connecting)
Comment 7 Thomas Van Parys 2016-01-03 17:32:49 UTC
Update, in case it's of any use:
 - XMPP started working again after a reboot
 - I tried connecting to my accounts with a new KDE profile. Also to no avail. Still no Google, ICQ or Telegram. This shows that at least the problems are not related to old KDE config files.
Comment 8 Frederick Zhang 2016-01-18 14:23:32 UTC
Confirmed in Kubuntu 15.10 with telepathy 15.04.2 (15.04.20ubuntu1).

The symptom is exactly the same as Thomas'.
Comment 9 Ryan Collins 2016-01-21 17:52:31 UTC
Confirmed continued problem in my Fedora 23 KDE Plasma version 5.5.3. 
I can not add Google hangouts or connect to chat.
Comment 10 Martin Klapetek 2016-01-21 18:05:53 UTC
You need kde-telepathy* 15.12.1.

Make sure you remove any google account you've added previously
and add it again.
Comment 11 Ryan Collins 2016-01-21 19:57:18 UTC
(In reply to Martin Klapetek from comment #10)
> You need kde-telepathy* 15.12.1.
> 
> Make sure you remove any google account you've added previously
> and add it again.

Yes, I have removed the account, numerous times and re-added with the same result.
Comment 12 Thomas Van Parys 2016-01-22 11:52:02 UTC
Is there a way to get a list of where Telepathy is storing it's data? 

I've removed all accounts in the config panel, deleted ~/.config/libaccounts-glib and ~/.config/signond, all mentions of ktp in ~/.config and in the (old?) ~/.kde directory, and still, even after reboot, it is trying to connect to my XMPP account. So somewhere some old info is still lingering, but I don't see where.

Fedora now updated to 15.12.1. Trying that now, so far without success.
Comment 13 Martin Klapetek 2016-01-25 16:37:25 UTC
You can try playing with mc-tool

Sometimes Telepathy gets stalled accounts (it shouldn't anymore).
Comment 14 Thomas Van Parys 2016-01-25 18:00:48 UTC
Happy to say that Google Hangouts is connecting again for me on 15.12.1

(still no luck with ICQ nor Telegram though)
Comment 15 Martin Klapetek 2016-01-25 22:31:56 UTC
If you need help, ping mck182 in #kde-telepathy in freenode; I have icq working just fine.
Comment 16 Thomas Van Parys 2016-01-26 11:52:17 UTC
Thanks, Martin, but it's not that important.
I just mentioned it for the completeness of this bug report. ICQ is for me already a relic of the past :-)
Comment 17 pfoo 2016-01-30 13:32:16 UTC
Yeah, seems like telepathy 15.08.3 is broken on kubuntu-ppa too, I added my google account successfully but telepathy fails to login.

I ran gabble with debug (GABBLE_LOGFILE=/tmp/gabble.log GABBLE_PERSIST=1 GABBLE_DEBUG=all G_MESSAGES_DEBUG=all /usr/lib/telepathy/telepathy-gabble) which led me to this line in logfile :
(telepathy-gabble:2509): tp-glib/params-DEBUG: tp_base_protocol_sanitize_parameters: using specified value for account: "google.com"

mc-tool dump is confirming this 
      (string) account = google.com

Could someone with a working google account confirm that this "account" value should be set to your google email address ?
Comment 18 Martin Klapetek 2016-02-01 17:36:06 UTC
It should not.

However, 15.08.3 is known to be broken. I did notify the packagers
that they should backport a patch from 15.12 release that would
fix it. Apparently they didn't. You can still remind then though.

https://mail.kde.org/pipermail/kde-distro-packagers/2015-December/000109.html
Comment 19 pfoo 2016-02-01 18:28:56 UTC
Oh, thanks, this is working great.

Build procedure if anyone need to patch and never have done so on ubuntu / debian :
sudo apt-get build-dep kaccounts-integration
apt-get source kaccounts-integration
cd kaccounts-integration-15.08.3/               (this is if you are using kubuntu-ppa, otherwise it will be version 15.08.2)
patch with https://quickgit.kde.org/?p=kaccounts-integration.git&a=commitdiff&h=fe6b9c7b2511ba5ebc15542b0b7280c55e17ffa4 (patch -p0 < yourpatch)
update debian/changelog with a new version number or your changes will be overwritten at next package upgrade
dpkg-source --commit
dpkg-buildpackage
cd ../
sudo dpkg -i *.deb
enjoy