EionRobb / purple-hangouts

47 stars 4 forks source link

Long term plan #191

Open EionRobb opened 5 years ago

EionRobb commented 5 years ago

Original report by Anonymous.


Google is reportedly planning to retire Hangouts in 2020, transitioning users to Hangouts Chat.

Support of the new protocol will be needed

EionRobb commented 5 years ago

Original comment by BoFiS (Bitbucket: bofis, GitHub: bofis).


They seem to say that all conversations and logs will be cross-compatible and carry over, but group conversations will have to be re-created. Right now there is an API for Hangouts Chat, though it sounds like they're building it out to have all the features of Hangouts plus some extras before the transition, but I also hope that we can connect to it via Pidgin with this or another plugin in the future ;-)

vwbusguy commented 3 years ago

We're on Hangouts Chat exclusively at my work (no Hangouts Classic on the Google Domain) and this plugin works for my work account. It appears to already support it.

dshanske commented 3 years ago

@vwbusguy They might turn off the integration and the old API in favor of a new one...need to be prepared.

tramtrist commented 3 years ago

Was there ever any confirmation regarding the API deprecation?

instinctualjealousy commented 3 years ago

Another concern for me is I use Google Voice SMS through Hangouts so I can text a few people in Pidgin- they say that the phone services (texting, voice) won't integrate with Chat like they did with Hangouts, and they're migrating people to Google Voice proper for texting. I wonder how different the protocol syntax is, it might be worthwhile to make a Google Voice plugin for the texting/"IM" side of it (I guess you could also do the voice in Linux, but it sounds like quite a project then!). Either that, or the proposed Chat plugin could also access Voice messages/contacts to cover that base, but it won't be through Chat directly if it does.

vwbusguy commented 3 years ago

@instinctualjealousy - That will almost certainly not work here once they move things over. For what it's worth, if you're on Linux, there's an option with https://kdeconnect.kde.org/ and https://extensions.gnome.org/extension/1319/gsconnect/ .

Figuring out what Google is going to do is always a challenge as they abruptly change things without warning and sometimes warn that a change is coming and never does (remember when Gmail was going to become Google Wave?). Voice used to be totally standalone and then was going to be merged into Hangouts, and that never fully happened, and the plan as of now is for Voice to be standalone again, but whether or not Google with follow through on any of that or not is a wild guess.

aqeeliz commented 3 years ago

We're on Hangouts Chat exclusively at my work (no Hangouts Classic on the Google Domain) and this plugin works for my work account. It appears to already support it.

Using 'Google Chats' (not hangouts, new or older), one-to-one chats work fine with this plugin, but group chat does not.

  1. Group chats don't even show up.
  2. Since no group chat shows up, you can't send or receive any group chat message.

Are there any plans to support Google chat groups?

vwbusguy commented 3 years ago

My corporate Google Meet account finally quit working today. Pidgin now says "Not Authorized" when I try to enable it. My personal account still works, for now...

EDIT - Oddly, it eventually came back, so it seems it was a temporary blip.

BoFiS commented 3 years ago

So while my gapps domain account works right now, I think that's because the hangouts.google.com servers are still valid and all conversations are the same, but eventually they may cut off that avenue for logging in anyway and it'll change to chat.google.com or something, even if the API is similar or the same, I fear this plugin will have to be updated to better support it going forward cuz it's basically still just connecting as though it's Hangouts...sending of images has changed now and when you send images from Chat it's not the same either

fredcooke commented 3 years ago

At work I've seen two companies chat.google.com/paths/params start redirecting to mail.google.com/chat/somepath/?whatever. This happened for one of them a few months ago and for the other for my account recently with other colleagues still on the superior (but still pretty bad) chat.google.com UX. Not sure how or if this impacts this plugin, but thought it was worth mentioning.

mfauvain commented 3 years ago

Probably due to the same changes on google side, I now see the contacts online and no connection errors but messages sent are not delivered. Is it the case that now hangouts.google.com has switched to chat.google.com? if so, is there a plan to modify this plugin?

vwbusguy commented 3 years ago

I don't know of any obvious solution for pidgin. I started using https://github.com/squalou/google-chat-linux which is basically Google Chat in electron, which works, but scraping HTML for pidgin doesn't seem like a good or elegant solution. To be frank, Google had a product that played very well with others and even worked over XMPP, and instead made something that feels very much design-by-committee that doesn't play well with anything and barely satisfies anyone that uses it. I'm grateful to @EionRobb for dealing with all of this for as long as he has.

mfauvain commented 3 years ago

And so am I.. massive plugin that I used everyday for work... very annoyed Google decided to move away. Using the electron app as well.. not as usable as pidgin was though.

BoFiS commented 3 years ago

At the moment all conversations and group chats show up across both Hangouts and Google Chat, and work fine in Pidgin, since it's still connecting via Hangouts API/servers. The electron app isn't really useful or helpful to me as it doesn't even sign in saying that the browser isn't secure, and if I wanted an entirely separate window for this, you can install the Chrome App and run that from an icon too, but that's still worse than having it integrated into Pidgin along with other services people may also be using at the same time.

Google has changed APIs at least slightly as far how files are sent, and right now either method works, but when you send an image in Google Chat proper to a Hangouts or Pidgin user, you get a link saying it was sent with the new Google Chat, while images sent from Hangouts or Pidgin to Google Chat show up, but open in a browser when clicked on in the phone app, while images sent from Google Chat to Google Chat open inside the app and show up as though they are in some way on Google Drive now.

vwbusguy commented 3 years ago

@BoFiS I think that's only true for personal users and not Google Apps users that only have Google Chat. I have duplication on my personal GMail between Hangouts and Chat, but my work is Chat only, which is why I've been using the electron app. The Electron app has been useful for me in the sense of having an app with notifications that isn't dependent on a browser tab, but it would be nice to consolidate things in pidgin if that were possible. It sounds like it's not currently, due to the poor state of Google's API support for Chat.

EionRobb commented 3 years ago

Thought I'd share a quick update on this. Rewriting the plugin to work the Google Chat is something I'm actively working on at the moment.

For those interested, I've been working on reverse engineering the protobufs from the Android and iOS apps with my work-in-progress at https://gist.github.com/EionRobb/2c902fee447b1a240c046aa528769894 - there's almost enough structures built to start on the protocol plugin for Pidgin :)

The other good news, is that the user id's for Hangouts and Google Chat are identical, and I think I can migrate account settings from any Hangouts accounts into new Google Chat accounts - which means logs should stay intact and we won't all need to re-auth using that horrible YouTube video process :)

For those who are dev-inclined there's also a library https://github.com/helloandre/glycerin that is working on a non-web client too, but that's the only other non-web client I've found out there (and I've been drawing lots of help from it's code)