After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747623 - Remove Facebook chat using Jabber
Remove Facebook chat using Jabber
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: tp-aw
3.12.x
Other All
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2015-04-10 14:07 UTC by Debarshi Ray
Modified: 2017-02-03 21:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
protocol, utils: Remove Facebook chat using Jabber (2.33 KB, patch)
2015-04-10 14:32 UTC, Debarshi Ray
none Details | Review
Remove Facebook XMPP support (18.12 KB, patch)
2017-02-03 19:48 UTC, Balló György
none Details | Review
Remove Facebook XMPP support v2 (18.92 KB, patch)
2017-02-03 19:55 UTC, Balló György
committed Details | Review

Description Debarshi Ray 2015-04-10 14:07:35 UTC
In bug 746100 we stopped picking up Facebook accounts from GOA because Facebook has dropped support for XMPP in version 2.0 of the Graph API. We should also not allow people to add Facebook accounts directly in empathy.
Comment 1 Debarshi Ray 2015-04-10 14:32:45 UTC
Created attachment 301291 [details] [review]
protocol, utils: Remove Facebook chat using Jabber
Comment 2 Guillaume Desmottes 2015-04-15 07:40:41 UTC
Facebook chat seems to still work here. Do you know when they are actually shutting it down?
Comment 3 Debarshi Ray 2015-04-16 16:36:34 UTC
(In reply to Guillaume Desmottes from comment #2)
> Facebook chat seems to still work here. Do you know when they are actually
> shutting it down?

30th April, 2015

Source: https://developers.facebook.com/docs/apps/changelog
Comment 4 Asher 2015-07-17 21:50:37 UTC
--- Facebook Graph API Update - Empathy Chat ---

The solution maybe easy and isn't XMPP related.  Please check that we are doing GET requests from to the correct location at facebook.  Empathy has some code that creates a JSON object and then sends a GET request to facebook to view the messages?

NEW FACEBOOK API:
https://developers.facebook.com/docs/graph-api/reference/v2.4/conversation

--- NEW FACEBOOK API 2.4 ---
GET /v2.4/{conversation-id} HTTP/1.1
Host: graph.facebook.com

--- OLD FACEBOOK API 1.0 ---
GET /v1.0/{conversation-id} HTTP/1.1
Host: graph.facebook.com

--- Error Message --- 
(we may need to update the GET request dir to /v2.4/ to get empathy to work)

Shows Disconnected - Authentication failed
Go online to edit your personal information

--- RELATED ISSUES ---
https://bugzilla.gnome.org/show_bug.cgi?id=746102
https://bugzilla.gnome.org/show_bug.cgi?id=747623
https://bugzilla.gnome.org/show_bug.cgi?id=746100
Comment 5 Debarshi Ray 2015-07-31 11:55:28 UTC
(In reply to Asher from comment #4)
> --- Facebook Graph API Update - Empathy Chat ---
> 
> The solution maybe easy and isn't XMPP related.  Please check that we are
> doing GET requests from to the correct location at facebook.  Empathy has
> some code that creates a JSON object and then sends a GET request to
> facebook to view the messages?

If a new instant message protocol / API, other than XMPP, is to be used then we need to implement it as a telepathy connection manager. Then we can think of using it from empathy.

> NEW FACEBOOK API:
> https://developers.facebook.com/docs/graph-api/reference/v2.4/conversation

It says "you can't publish using this edge". How does one send a message?

In any case, unless someone implements this new protocol / API (assuming one exists) we can not claim to support Facebook.
Comment 6 Asher 2015-07-31 17:11:25 UTC
Facebook: Simple Authentication and Security Layer (SASL) Mechanisms
=====================================================================

empathy/libempathy/empathy-sasl-mechanisms.c
=============================================

  response_string = g_string_new ("v=1.0&call_id=0"); // debug v=1.0 vs v=2.4
  g_string_append (response_string, "&access_token=");
  g_string_append_uri_escaped (response_string, data->access_token, NULL, TRUE);
  g_string_append (response_string, "&api_key=");
  g_string_append_uri_escaped (response_string, data->client_id, NULL, TRUE);
  g_string_append (response_string, "&method=");
  g_string_append_uri_escaped (response_string, g_hash_table_lookup (h, "method"), NULL, TRUE);
  g_string_append (response_string, "&nonce=");
  g_string_append_uri_escaped (response_string, g_hash_table_lookup (h, "nonce"), NULL, TRUE);

  response_array = g_array_new (FALSE, FALSE, sizeof (gchar));

  g_array_append_vals (response_array, response_string->str, response_string->len);

  tp_cli_channel_interface_sasl_authentication_call_respond (data->channel, -1,
      response_array, generic_cb, g_object_ref (result), g_object_unref, NULL);

I'm missing some gnome-common and I wanted to rebuild empathy with a new 
  response_string = g_string_new ("v=2.4&call_id=0"); // not v=1.0

Perhaps Xavier has some ideas on this?  :)
Comment 7 Hussam Al-Tayeb 2015-11-11 22:16:22 UTC
(In reply to Debarshi Ray from comment #3)
> (In reply to Guillaume Desmottes from comment #2)
> > Facebook chat seems to still work here. Do you know when they are actually
> > shutting it down?
> 
> 30th April, 2015
> 
> Source: https://developers.facebook.com/docs/apps/changelog

Facebook through xmpp still works here. I doubt it will be completely removed (at least not globally).
Comment 8 Michael Catanzaro 2016-07-22 02:04:20 UTC
So what's the status on this?
Comment 9 Balló György 2017-02-03 19:48:53 UTC
Created attachment 344882 [details] [review]
Remove Facebook XMPP support

The service is unavailable since end of 2015. This patch removes Facebook XMPP support completely, and allows to use purple-facebook instead.
Comment 10 Balló György 2017-02-03 19:55:05 UTC
Created attachment 344883 [details] [review]
Remove Facebook XMPP support v2

Remove unused jid_suffix variable.
Comment 11 Michael Catanzaro 2017-02-03 21:06:27 UTC
Looks not insane.

If anyone wants to take over tpaw maintainership, please please do. (Maybe Rishi, since you depend on it...?)