[gnome-online-accounts/wip/rishi/facebook-remove: 3/3] Remove Facebook and deprecate org.gnome.OnlineAccounts.Maps




commit 6f8acc9904193cc298ce6a3ecb7c574c0fe9a167
Author: Debarshi Ray <debarshir gnome org>
Date:   Thu Jun 16 19:53:09 2022 +0200

    Remove Facebook and deprecate org.gnome.OnlineAccounts.Maps
    
    Facebook was used by GNOME Maps and GNOME Photos.  However, Facebook
    has been completely broken for a few years because the client code in
    GNOME failed to keep up with changes in their online APIs.
    
    This is why the Facebook support was removed from Maps in GNOME 41 [1].
    Photos should do the same.
    
    [1] https://gitlab.gnome.org/GNOME/gnome-maps/-/issues/379
        https://gitlab.gnome.org/GNOME/gnome-maps/-/merge_requests/184
    
    https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/184

 README                                             |  19 --
 configure.ac                                       |  19 --
 data/dbus-interfaces.xml                           |   8 +-
 data/icons/meson.build                             |   2 -
 data/icons/scalable/Makefile.am                    |   1 -
 data/icons/scalable/goa-account-facebook.svg       | 109 ------
 data/icons/symbolic/Makefile.am                    |   1 -
 .../symbolic/goa-account-facebook-symbolic.svg     |  31 --
 gnome-online-accounts.doap                         |   4 +-
 meson.build                                        |  14 -
 meson_options.txt                                  |   3 -
 po/POTFILES.in                                     |   1 -
 src/goabackend/Makefile.am                         |   1 -
 src/goabackend/goabackendenums.h                   |   4 +-
 src/goabackend/goafacebookprovider.c               | 372 ---------------------
 src/goabackend/goafacebookprovider.h               |  37 --
 src/goabackend/goaobjectskeletonutils.c            |  24 --
 src/goabackend/goaobjectskeletonutils.h            |   3 -
 src/goabackend/goaprovider.c                       |   4 -
 src/goabackend/meson.build                         |   1 -
 20 files changed, 11 insertions(+), 647 deletions(-)
---
diff --git a/README b/README
index 243bcd61..4a9b338e 100644
--- a/README
+++ b/README
@@ -2,25 +2,6 @@ GNOME Online Accounts - Single sign-on framework for GNOME
 ==========================================================
 
 
-Facebook
---------
-
-OAuth 2.0:
-https://developers.facebook.com/docs/authentication/
-https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
-https://developers.facebook.com/docs/reference/dialogs/oauth/
-https://developers.facebook.com/tools/explorer/
-
-Scopes: https://developers.facebook.com/docs/authentication/permissions/
-
-Notes:
-The client-side flow returns the access_token and expires_in in the URI's
-fragment, and does not provide a refresh_token. However, if the user denied
-access then the error is returned in the URI's query. The URIs look like this:
-  - <get_redirect_uri>?#access_token=...
-  - <get_redirect_uri>?error=access_denied...#_=_
-
-
 Flickr
 ------
 
diff --git a/configure.ac b/configure.ac
index 51a2d67c..3bf9374a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -289,24 +289,6 @@ if test "$enable_owncloud" != "no"; then
   AC_DEFINE(GOA_OWNCLOUD_ENABLED, 1, [Enable ownCloud data provider])
 fi
 
-# Facebook
-AC_DEFINE(GOA_FACEBOOK_NAME, ["facebook"], [ProviderType and extension point name])
-AC_ARG_ENABLE([facebook],
-              [AS_HELP_STRING([--enable-facebook], [Enable Facebook provider])],
-              [],
-              [enable_facebook=yes])
-AC_ARG_WITH(facebook-client-id,
-            [AS_HELP_STRING([--with-facebook-client-id], [Facebook OAuth 2.0 client id])],
-            [],
-            [])
-if test "$with_facebook_client_id" = ""; then
-  with_facebook_client_id=297654143624603
-fi
-AC_DEFINE_UNQUOTED(GOA_FACEBOOK_CLIENT_ID, ["$with_facebook_client_id"], [Facebook OAuth 2.0 client id])
-if test "$enable_facebook" != "no"; then
-  AC_DEFINE(GOA_FACEBOOK_ENABLED, 1, [Enable Facebook data provider])
-fi
-
 # Windows Live
 AC_DEFINE(GOA_WINDOWS_LIVE_NAME, ["windows_live"], [ProviderType and extension point name])
 AC_ARG_ENABLE([windows-live],
@@ -555,7 +537,6 @@ echo "
        Microsoft Exchange provider:    ${enable_exchange}
        ownCloud provider:              ${enable_owncloud}
        Kerberos provider:              ${enable_kerberos}
-       Facebook provider:              ${enable_facebook} (OAuth 2.0, id:${with_facebook_client_id})
        Windows Live provider:          ${enable_windows_live} (OAuth 2.0, id:${with_windows_live_client_id})
        Last.fm provider:               ${enable_lastfm} (id:${with_lastfm_client_id} 
secret:${with_lastfm_client_secret})
 
diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml
index 853dc7f9..c418e5d1 100644
--- a/data/dbus-interfaces.xml
+++ b/data/dbus-interfaces.xml
@@ -186,7 +186,9 @@
          Note that the #org.gnomeOnlineAccounts.Maps interface is added or
          removed from the account asynchronously.
     -->
-    <property name="MapsDisabled" type="b" access="readwrite"/>
+    <property name="MapsDisabled" type="b" access="readwrite">
+      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
+    </property>
 
     <!-- MusicDisabled:
          @since: 3.18.0
@@ -688,8 +690,12 @@
 
       An account object implements this interface if it provides
       maps-like capabilities.
+
+      The #org.gnome.OnlineAccounts.Maps interface is not used by
+      any account.
   -->
   <interface name="org.gnome.OnlineAccounts.Maps">
+    <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
   </interface>
 
   <!--
diff --git a/data/icons/meson.build b/data/icons/meson.build
index ce76e852..3d9cc94c 100644
--- a/data/icons/meson.build
+++ b/data/icons/meson.build
@@ -1,7 +1,6 @@
 icon_scalable_data = [
   'goa-account.svg',
   'goa-account-exchange.svg',
-  'goa-account-facebook.svg',
   'goa-account-fedora.svg',
   'goa-account-flickr.svg',
   'goa-account-google.svg',
@@ -13,7 +12,6 @@ icon_scalable_data = [
 icon_symbolic_data = [
   'goa-account-symbolic.svg',
   'goa-account-exchange-symbolic.svg',
-  'goa-account-facebook-symbolic.svg',
   'goa-account-flickr-symbolic.svg',
   'goa-account-google-symbolic.svg',
   'goa-account-lastfm-symbolic.svg',
diff --git a/data/icons/scalable/Makefile.am b/data/icons/scalable/Makefile.am
index bfca08ed..c9a83870 100644
--- a/data/icons/scalable/Makefile.am
+++ b/data/icons/scalable/Makefile.am
@@ -4,7 +4,6 @@ icondir = $(datadir)/icons/hicolor/scalable/apps
 icon_DATA =                            \
        goa-account.svg                 \
        goa-account-exchange.svg        \
-       goa-account-facebook.svg        \
        goa-account-fedora.svg          \
        goa-account-flickr.svg          \
        goa-account-google.svg          \
diff --git a/data/icons/symbolic/Makefile.am b/data/icons/symbolic/Makefile.am
index abc00f63..53809057 100644
--- a/data/icons/symbolic/Makefile.am
+++ b/data/icons/symbolic/Makefile.am
@@ -4,7 +4,6 @@ icondir = $(datadir)/icons/hicolor/symbolic/apps
 icon_DATA =                                    \
        goa-account-symbolic.svg                \
        goa-account-exchange-symbolic.svg       \
-       goa-account-facebook-symbolic.svg       \
        goa-account-flickr-symbolic.svg         \
        goa-account-google-symbolic.svg         \
        goa-account-lastfm-symbolic.svg         \
diff --git a/gnome-online-accounts.doap b/gnome-online-accounts.doap
index 38321dfc..4a1da96f 100644
--- a/gnome-online-accounts.doap
+++ b/gnome-online-accounts.doap
@@ -12,8 +12,8 @@
   <description xml:lang="en">
 GNOME Online Accounts provides interfaces so that applications and libraries
 in GNOME can access the user's online accounts. It has providers for Google,
-Nextcloud, Facebook, Fedora, Microsoft, Flickr, Microsoft Exchange, Last.fm,
-IMAP/SMTP and Kerberos.
+Nextcloud, Fedora, Microsoft, Flickr, Microsoft Exchange, Last.fm, IMAP/SMTP
+and Kerberos.
   </description>
 
   <homepage rdf:resource="https://wiki.gnome.org/Projects/GnomeOnlineAccounts"; />
diff --git a/meson.build b/meson.build
index 788ff2f0..b048f663 100644
--- a/meson.build
+++ b/meson.build
@@ -120,15 +120,6 @@ config_h.set_quoted('GOA_EXCHANGE_NAME', 'exchange')
 enable_exchange = get_option('exchange')
 config_h.set('GOA_EXCHANGE_ENABLED', enable_exchange)
 
-# Facebook
-config_h.set_quoted('GOA_FACEBOOK_NAME', 'facebook')
-
-facebook_client_id = get_option('facebook_client_id')
-config_h.set_quoted('GOA_FACEBOOK_CLIENT_ID', facebook_client_id)
-
-enable_facebook = get_option('facebook')
-config_h.set('GOA_FACEBOOK_ENABLED', enable_facebook)
-
 # Fedora
 config_h.set_quoted('GOA_FEDORA_NAME', 'fedora')
 config_h.set_quoted('GOA_FEDORA_REALM', 'FEDORAPROJECT.ORG')
@@ -299,11 +290,6 @@ output += '        goabackend:                     ' + enable_goabackend.to_stri
 output += '        inspector:                      ' + enable_inspector.to_string() + '\n'
 output += '        introspection:                  ' + enable_introspection.to_string() + '\n'
 output += '        template file:                  ' + template_file + '\n\n'
-output += '        Facebook provider:              ' + enable_facebook.to_string()
-if enable_facebook
-  output += ' (OAuth 2.0, id:@0@)'.format(facebook_client_id)
-endif
-output += '\n'
 output += '        Fedora Account System provider: ' + enable_fedora.to_string() + '\n'
 output += '        Flickr provider:                ' + enable_flickr.to_string()
 if enable_flickr
diff --git a/meson_options.txt b/meson_options.txt
index c2765943..19d0b01a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,9 +3,6 @@ option('inspector', type: 'boolean', value: false, description: 'Enable a WebKit
 
 option('exchange', type: 'boolean', value: true, description: 'Enable Microsoft Exchange provider')
 
-option('facebook', type: 'boolean', value: true, description: 'Enable Facebook provider')
-option('facebook_client_id', type: 'string', value: '297654143624603', description: 'Facebook OAuth 2.0 
client id')
-
 option('fedora', type: 'boolean', value: false, description: 'Enable Fedora Account System provider')
 
 option('flickr', type: 'boolean', value: true, description: 'Enable Flickr provider')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index aee26ab8..4f57b5aa 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -4,7 +4,6 @@ data/org.gnome.online-accounts.gschema.xml
 src/daemon/goadaemon.c
 src/goabackend/goaewsclient.c
 src/goabackend/goaexchangeprovider.c
-src/goabackend/goafacebookprovider.c
 src/goabackend/goafedoraprovider.c
 src/goabackend/goaflickrprovider.c
 src/goabackend/goagoogleprovider.c
diff --git a/src/goabackend/Makefile.am b/src/goabackend/Makefile.am
index 105ea2c7..aec07354 100644
--- a/src/goabackend/Makefile.am
+++ b/src/goabackend/Makefile.am
@@ -85,7 +85,6 @@ libgoa_backend_1_0_la_SOURCES =                                               \
        goaoauth2provider-web-view.h                                    \
        goaoauth2provider.c                                             \
        goagoogleprovider.h             goagoogleprovider.c             \
-       goafacebookprovider.h           goafacebookprovider.c           \
        goaimapsmtpprovider.h           goaimapsmtpprovider.c           \
        goamediaserverprovider.h        goamediaserverprovider.c        \
        goaowncloudprovider.h           goaowncloudprovider.c           \
diff --git a/src/goabackend/goabackendenums.h b/src/goabackend/goabackendenums.h
index 69574759..ed2e8f13 100644
--- a/src/goabackend/goabackendenums.h
+++ b/src/goabackend/goabackendenums.h
@@ -30,7 +30,7 @@ G_BEGIN_DECLS
 /**
  * GoaProviderGroup:
  * @GOA_PROVIDER_GROUP_BRANDED: Providers with a well-known brand. For
- *   example, Google and Facebook.
+ *   example, Google.
  * @GOA_PROVIDER_GROUP_CONTACTS: Providers that offer address book services.
  *   For example, CardDAV.
  * @GOA_PROVIDER_GROUP_MAIL: Providers that offer email-like messaging
@@ -69,7 +69,7 @@ typedef enum
  * @GOA_PROVIDER_FEATURE_TICKETING: Ticketing services (ie. Kerberos).
  * @GOA_PROVIDER_FEATURE_READ_LATER: Deprecated; currently unused.
  * @GOA_PROVIDER_FEATURE_PRINTERS: Network printing services (e.g. Google Cloud Print).
- * @GOA_PROVIDER_FEATURE_MAPS: Maps related services (e.g. Facebook).
+ * @GOA_PROVIDER_FEATURE_MAPS: Deprecated; currently unused.
  * @GOA_PROVIDER_FEATURE_MUSIC: Music related services (e.g. Vkontakte).
  * @GOA_PROVIDER_FEATURE_TODO: Deprecated; currently unused.
  * @GOA_PROVIDER_FEATURE_INVALID: Used for error handling. No provider
diff --git a/src/goabackend/goaobjectskeletonutils.c b/src/goabackend/goaobjectskeletonutils.c
index 610c6ee2..a224fee8 100644
--- a/src/goabackend/goaobjectskeletonutils.c
+++ b/src/goabackend/goaobjectskeletonutils.c
@@ -156,27 +156,3 @@ goa_object_skeleton_attach_printers (GoaObjectSkeleton *object,
     }
   g_clear_object (&printers);
 }
-
-void
-goa_object_skeleton_attach_maps (GoaObjectSkeleton *object,
-                                 gboolean           maps_enabled)
-{
-  GoaMaps *maps;
-
-  maps = goa_object_get_maps (GOA_OBJECT (object));
-
-  if (maps_enabled)
-    {
-      if (maps == NULL)
-        {
-          maps = goa_maps_skeleton_new ();
-          goa_object_skeleton_set_maps (object, maps);
-        }
-    }
-  else
-    {
-      if (maps != NULL)
-        goa_object_skeleton_set_maps (object, NULL);
-    }
-  g_clear_object (&maps);
-}
diff --git a/src/goabackend/goaobjectskeletonutils.h b/src/goabackend/goaobjectskeletonutils.h
index 6bc413c3..2e8a38a5 100644
--- a/src/goabackend/goaobjectskeletonutils.h
+++ b/src/goabackend/goaobjectskeletonutils.h
@@ -43,9 +43,6 @@ void             goa_object_skeleton_attach_files          (GoaObjectSkeleton *o
                                                             gboolean           files_enabled,
                                                             gboolean           accept_ssl_errors);
 
-void             goa_object_skeleton_attach_maps           (GoaObjectSkeleton *object,
-                                                            gboolean           maps_enabled);
-
 void             goa_object_skeleton_attach_photos         (GoaObjectSkeleton *object,
                                                             gboolean           photos_enabled);
 
diff --git a/src/goabackend/goaprovider.c b/src/goabackend/goaprovider.c
index 8055957b..24a1c470 100644
--- a/src/goabackend/goaprovider.c
+++ b/src/goabackend/goaprovider.c
@@ -24,7 +24,6 @@
 #include "goaprovider-priv.h"
 #include "goaexchangeprovider.h"
 #include "goagoogleprovider.h"
-#include "goafacebookprovider.h"
 #include "goaimapsmtpprovider.h"
 #include "goaowncloudprovider.h"
 #include "goaflickrprovider.h"
@@ -940,9 +939,6 @@ static struct
 #ifdef GOA_OWNCLOUD_ENABLED
   { GOA_OWNCLOUD_NAME, goa_owncloud_provider_get_type },
 #endif
-#ifdef GOA_FACEBOOK_ENABLED
-  { GOA_FACEBOOK_NAME, goa_facebook_provider_get_type },
-#endif
 #ifdef GOA_WINDOWS_LIVE_ENABLED
   { GOA_WINDOWS_LIVE_NAME, goa_windows_live_provider_get_type },
 #endif
diff --git a/src/goabackend/meson.build b/src/goabackend/meson.build
index 8244fade..e53c8469 100644
--- a/src/goabackend/meson.build
+++ b/src/goabackend/meson.build
@@ -8,7 +8,6 @@ libgoa_backend_sources = files(
   'goadlnaservermanager.c',
   'goaewsclient.c',
   'goaexchangeprovider.c',
-  'goafacebookprovider.c',
   'goaflickrprovider.c',
   'goagoogleprovider.c',
   'goahttpclient.c',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]