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 699492 - Move the account widget code to a git submodule
Move the account widget code to a git submodule
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Accounts
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Marco Barisione
empathy-maint
Depends on: 697340
Blocks: 696267
 
 
Reported: 2013-05-02 16:26 UTC by Marco Barisione
Modified: 2013-08-20 11:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
accounts-dialog: Include the proper account-widget header (832 bytes, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: Move account widgets code in the tp-account-widgets subdir (19.73 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: Move the IRC support sources with the account widget (5.20 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: Move the IRC network list with the related sources (5.02 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: Switch the symbols namespace to tpaw (178.63 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: rename all the files from empathy-* to tpaw-* (30.35 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
tp-account-widgets: refer to the right renamed files (2.82 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
account-settings: move from Empathy to tp-account-widgets (111.95 KB, patch)
2013-05-13 14:48 UTC, Marco Barisione
none Details | Review
account-settings: fix a reference to empathy-account-widget.c (1.02 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
connection-managers: move from Empathy to tp-account-widgets (30.90 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
base-keyring: move from Empathy to tp-account-widgets (37.83 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
base-keyring: explain why the schema name still contains “Empathy” (1.09 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
tpaw-utils: add stub for files with misc utility functions (3.31 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
tpaw-utils: move empathy_connect_new_account to tp-aw and rename it (9.21 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
tpaw-utils: move functions for protocol and service display information (13.30 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
individual-menu: use TpAccount's functions for schemes instead of Empathy's (967 bytes, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
account-settings: use TpAccount's functions for schemes instead of Empathy's (2.06 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
utils: remove empathy_account_has_uri_scheme_tel() (1.62 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
tpaw-utils: copy empathy_make_color_whiter() (4.19 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
account-settings: don't set the presence on newly created accounts (2.87 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
live-search: move from Empathy to tp-account-widgets (35.84 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
builder: add stub header and source file for tpaw_builder_* functions (3.64 KB, patch)
2013-05-13 14:49 UTC, Marco Barisione
none Details | Review
TMP! builder: change the licence to GPL. NOT READY FOR MERGE! (3.87 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
builder: move empathy_builder_* from Empathy to tp-account-widgets NOT READY FOR MERGE! (43.55 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: copy empathy_implement_finish_* from Empathy and use them (4.78 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: move empathy_get_toplevel_window to tp-aw and rename it NOT READY FOR MERGE! (7.52 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: move empathy_window_present* to tp-aw and rename it NOT READY FOR MERGE! (11.75 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: move empathy_xml_validate_from_resource to tp-aw and rename it (8.38 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: add TPAW_STR_EMPTY (5.20 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-utils: copy EMPATHY_GET_PRIV from empathy-utils.h (5.56 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-debug: copy from Empathy (8.46 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-debug: don't set tp-glib's debug flags, Empathy does that (832 bytes, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
debug: set tp-account-widgets's debug flags (1002 bytes, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tp-account-widgets: use TpAW's debugging functions instead of Empathy's (6.02 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
tpaw-debug: remove unused debug keys (2.28 KB, patch)
2013-05-13 14:50 UTC, Marco Barisione
none Details | Review
debug: remove EMPATHY_DEBUG_IRC as it's not needed any more (2.18 KB, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
tpaw-utils: move ACCOUNT_WIDGETS_RESOURCES_PREFIX from Empathy (1.79 KB, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
tpaw-utils: add the TPAW namespace to ACCOUNT_WIDGETS_RESOURCES_PREFIX (3.07 KB, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
irc-network-dialog: include stdlib.h needed for strtoul (798 bytes, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
tp-account-widgets: use g_strcmp0 instead of strcmp (3.53 KB, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
tp-account-widgets: don't include empathy(-ui)-utils.h (6.08 KB, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
tp-account-widgets/Makefile.am: remove Empathy's include paths (918 bytes, patch)
2013-05-13 14:51 UTC, Marco Barisione
none Details | Review
Add telepathy-account-widgets submodule (1.05 KB, patch)
2013-05-20 14:42 UTC, Marco Barisione
none Details | Review
Use the telepathy-account-widgets submodule instead of the internal copy (7.81 KB, patch)
2013-05-20 14:42 UTC, Marco Barisione
none Details | Review
tp-account-widgets: remove internal copy (564.70 KB, patch)
2013-05-20 14:42 UTC, Marco Barisione
none Details | Review
configure.ac: fix to refer to tpaw instead of empathy (3.58 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
Makefile.am: don't compile code not related to tpaw (2.46 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
Don't use egg-list-box (1.53 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
m4: remove macros we don't need any more (10.21 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
m4: rename valgrind macro names and files (empathy → tpaw) (2.06 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
configure.ac: remove useless dependencies (16.58 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
NEWS: nothing to see here (298.51 KB, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
README: nothing to see here (for now) (791 bytes, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
autogen.sh: s/Empathy/telepathy-account-widgets/ (667 bytes, patch)
2013-05-20 14:47 UTC, Marco Barisione
none Details | Review
telepathy-account-widgets.doap: rename from empathy.doap (620 bytes, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
telepathy-accounts-widgets.doap: update name and description (1.14 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
Add myself to the maintainers (1.16 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
release.py: remove, we are not going to release this as a separate lib (8.88 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
configure.ac: remove versioning stuff we don't need (1.49 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
configure.ac: change the PKG_CHECK_MODULES prefix from EMPATHY to TPAW (1.23 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
Makefile.am: don't generate a ChangeLog, it's not useful for a submodule (1.90 KB, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
INSTALL: this is a submodule and not supposed to be installed (670 bytes, patch)
2013-05-20 14:52 UTC, Marco Barisione
none Details | Review
Makefile.am: we don't use scroll keeper (923 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
Makefile.am: no need for GSettings related options (691 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
empathy-env.in: delete (1.81 KB, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
totem-submodule-encoding: remove trailing whitespaces (1.21 KB, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
irc-network-chooser-dialog: style fix (remove a TAB) (791 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
check-whitespace.sh: enable the TAB checking again (857 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
tp-accounts-widgets/Makefile.am: fix the log domain (909 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
tp-account-widgets/Makefile.am: make tp-account-widgets a noinst library (1.10 KB, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
Add a pkg-config file (1.78 KB, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
autogen.sh: add --no-configure support (741 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review
debug.c: make the private variable flag_to_keys static (819 bytes, patch)
2013-05-20 14:53 UTC, Marco Barisione
none Details | Review

Description Marco Barisione 2013-05-02 16:26:33 UTC
To be able to configure accounts in GOA we need to split the account widgets into a separate git submodule/subtree. This will be usable by both empathy-accounts and GOA.
Comment 1 Marco Barisione 2013-05-02 17:01:00 UTC
After fixing #697340, we will be left with a few other uses of Empathy's stuff, mainly utility functions. I'm not sure what to do for those and I think that the solution may be different for different functions.

The complete list is:
* empathy_make_color_whiter (quite simple, it could be duplicated)
* empathy_connect_new_account (I would put this in tp-account-widgets as it's still related to accounts)
* empathy_builder_connect
* empathy_protocol_name_to_display_name 
* empathy_implement_finish_return_pointer (we could just duplicate this)
* empathy_implement_finish_void (we could just duplicate this)
* empathy_get_toplevel_window (we could duplicate this, but I don't understand why it's needed)
* empathy_window_present_with_time (is it needed? it's used for the IRC network chooser)
* EmpathyLiveSearch (this is big, maybe it could be added to libgd)
* empathy_xml_validate_from_resource
* empathy_protocol_icon_name
* empathy_account_has_uri_scheme_tel
* empathy_presence_get_default_message
* EmpathyPresenceManager
* EmpathyConnectionManagers

Ideas?
Comment 2 Guillaume Desmottes 2013-05-03 08:44:26 UTC
(In reply to comment #1)
> After fixing #697340, we will be left with a few other uses of Empathy's stuff,
> mainly utility functions. I'm not sure what to do for those and I think that
> the solution may be different for different functions.

I think first we should consider the the 'account' related functions which
definitely belong to the submodule:
> * empathy_connect_new_account
> * empathy_protocol_name_to_display_name
> * empathy_protocol_icon_name
> * empathy_presence_get_default_message
> * empathy_account_has_uri_scheme_tel

This one could be replaced by a tp-glib function:
  gboolean tp_account_has_uri_schemes (TpAccount *self, const gchar *scheme);

The other ones are more tricky:

> * empathy_make_color_whiter (quite simple, it could be duplicated)
> still related to accounts)

agreed.

> * empathy_implement_finish_return_pointer (we could just duplicate this)
> * empathy_implement_finish_void (we could just duplicate this)

Ideally I would have like to have those in GLib but it's not going to happen
(bug #674206) so yeah duplicate.

> * empathy_get_toplevel_window (we could duplicate this, but I don't understand
> why it's needed)

Humm me neither, I suspect it's a legacy from Gossip. Xavier?

> * empathy_window_present_with_time (is it needed? it's used for the IRC network
> chooser)

Is it? It doesn't seem to be used here.

> * empathy_builder_connect
> * empathy_xml_validate_from_resource

In a perfect world those should be part of a lower level lib (GLib, Gtk+...)
but just duplicate those.

> * EmpathyLiveSearch (this is big, maybe it could be added to libgd)

Xavier tried to push this to Gtk+ (bug #621393) but it didn't get very far. :\

> * EmpathyPresenceManager

Looks like it's just used by account-settings to call
empathy_presence_manager_get_requested_presence(). Can't we just use
tp_account_get_requested_presence() instead?

Or actually is this really needed? Won't empathy_connect_new_account() do this
as well?

Keep in mind that most of this code has evolved a lot over years, so some
simplification/cleaning should definitely be doable.

> * EmpathyConnectionManagers

Ideally this should be replaced by tp-glib API, I think.
Comment 3 Marco Barisione 2013-05-03 16:53:51 UTC
What's the best name for this submodule? Emanuele proposed telepathy-account-widgets and the directory name he created is tp-account-widgets. Opinions?

(In reply to comment #2)
> > * empathy_window_present_with_time (is it needed? it's used for the IRC network
> > chooser)
>
> Is it? It doesn't seem to be used here.

Sorry, it just uses empathy_window_present().

> > * EmpathyLiveSearch (this is big, maybe it could be added to libgd)
>
> Xavier tried to push this to Gtk+ (bug #621393) but it didn't get very far. :\

Should I just copy it? Maybe we should investigate on whether it's possible to move it to libgd (that seems to be the new libegg).

> > * EmpathyPresenceManager
>
> Looks like it's just used by account-settings to call
> empathy_presence_manager_get_requested_presence(). Can't we just use
> tp_account_get_requested_presence() instead?
>
> Or actually is this really needed? Won't empathy_connect_new_account() do this
> as well?

tp_account_get_requested_presence() is a bit different. The existing function in empathy is more similar to tp_account_manager_get_most_available_presence(), but the most available presence is different from the requested presence in Empathy.

empathy_account_settings_do_create_account() sets the requested presence based on Empathy's global requested presence.
When the account is created and configured, empathy_connect_new_account() is called. This function sets the presence of the new account to the most available presence (from tp_account_manager_get_most_available_presence()), but only if the current requested presence is offline, unknown or unset.
Suppose we have a protocol that only supports offline and available. If we try to set busy in empathy, the most available presence will be available, but the requested one would be busy. Would it be a problem if we set the new account's presence to available instead of busy? If it is we cannot just get rid of this function.

> > * EmpathyConnectionManagers
>
> Ideally this should be replaced by tp-glib API, I think.

I'm not sure how useful for tp-glib this is, unless we change it a bit. In particular there is no guarantee that the list will be updated when the object is used.
EmpathyConnectionManagers has two functions, to get a list of TpConnectionManager objects and to get a single TpConnectionManager from its name.
The account widgets need this EmpathyConnectionManagers only for the latter.
I'm not sure what to do, maybe we could just copy the class (it's not trivial, but still quite easy).
Comment 4 Xavier Claessens 2013-05-07 10:51:02 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > * empathy_implement_finish_return_pointer (we could just duplicate this)
> > * empathy_implement_finish_void (we could just duplicate this)
> 
> Ideally I would have like to have those in GLib but it's not going to happen
> (bug #674206) so yeah duplicate.

If we depend on glib 2.36 we can use GTask, finish functions are nicer there.

> > * empathy_get_toplevel_window (we could duplicate this, but I don't understand
> > why it's needed)
> 
> Humm me neither, I suspect it's a legacy from Gossip. Xavier?

It returns the GtkWindow where a widget is packed. It is used in a few places. For example the irc network chooser widget needs to popup a window attached to the window the chooser is packed in (transient-for). See gtk_widget_get_toplevel() for the reason the extra check is needed. Maybe it can be inlined where it is used...

> > * empathy_window_present_with_time (is it needed? it's used for the IRC network
> > chooser)
> 
> Is it? It doesn't seem to be used here.

empathy_window_present() is extra tricks over gtk_window_present() to move the window to the current workspace instead of moving the workspace to the window... I think nowadays GNOME3 designers think the former is evil...
Comment 5 Marco Barisione 2013-05-13 14:48:30 UTC
Created attachment 244014 [details] [review]
accounts-dialog: Include the proper account-widget header
Comment 6 Marco Barisione 2013-05-13 14:48:35 UTC
Created attachment 244015 [details] [review]
tp-account-widgets: Move account widgets code in the tp-account-widgets subdir

Start moving the account widgets code in a subdir before fully isolating
it and stubbing it out in a submodule.
Comment 7 Marco Barisione 2013-05-13 14:48:39 UTC
Created attachment 244016 [details] [review]
tp-account-widgets: Move the IRC support sources with the account widget

To handle different networks and servers the IRC account widget uses
many helper object and functions. Move them close to the IRC account
widget sources.
Comment 8 Marco Barisione 2013-05-13 14:48:43 UTC
Created attachment 244017 [details] [review]
tp-account-widgets: Move the IRC network list with the related sources
Comment 9 Marco Barisione 2013-05-13 14:48:48 UTC
Created attachment 244018 [details] [review]
tp-account-widgets: Switch the symbols namespace to tpaw

The file names have been kept unchanged to keep the diff simple and will
be updated later. This makes easier to spot where the account widgets
still rely on libempathy.
Comment 10 Marco Barisione 2013-05-13 14:48:52 UTC
Created attachment 244019 [details] [review]
tp-account-widgets: rename all the files from empathy-* to tpaw-*
Comment 11 Marco Barisione 2013-05-13 14:48:55 UTC
Created attachment 244020 [details] [review]
tp-account-widgets: refer to the right renamed files
Comment 12 Marco Barisione 2013-05-13 14:48:59 UTC
Created attachment 244021 [details] [review]
account-settings: move from Empathy to tp-account-widgets
Comment 13 Marco Barisione 2013-05-13 14:49:03 UTC
Created attachment 244022 [details] [review]
account-settings: fix a reference to empathy-account-widget.c
Comment 14 Marco Barisione 2013-05-13 14:49:07 UTC
Created attachment 244023 [details] [review]
connection-managers: move from Empathy to tp-account-widgets
Comment 15 Marco Barisione 2013-05-13 14:49:11 UTC
Created attachment 244024 [details] [review]
base-keyring: move from Empathy to tp-account-widgets
Comment 16 Marco Barisione 2013-05-13 14:49:15 UTC
Created attachment 244025 [details] [review]
base-keyring: explain why the schema name still contains “Empathy”
Comment 17 Marco Barisione 2013-05-13 14:49:19 UTC
Created attachment 244026 [details] [review]
tpaw-utils: add stub for files with misc utility functions
Comment 18 Marco Barisione 2013-05-13 14:49:23 UTC
Created attachment 244027 [details] [review]
tpaw-utils: move empathy_connect_new_account to tp-aw and rename it

This commit also changes the licence of the moved code (all copyrighted
by Collabora Ltd.) from GPL to LGPL.
Comment 19 Marco Barisione 2013-05-13 14:49:28 UTC
Created attachment 244028 [details] [review]
tpaw-utils: move functions for protocol and service display information

The following functions were moved from empathy to tp-aw and renamed
accordingly:
* empathy_protocol_icon_name;
* empathy_protocol_name_to_display_name;
* empathy_service_name_to_display_name.

This commit also changes the licence of the moved code (all copyrighted
by Collabora Ltd.) from GPL to LGPL.
Comment 20 Marco Barisione 2013-05-13 14:49:32 UTC
Created attachment 244029 [details] [review]
individual-menu: use TpAccount's functions for schemes instead of Empathy's
Comment 21 Marco Barisione 2013-05-13 14:49:35 UTC
Created attachment 244030 [details] [review]
account-settings: use TpAccount's functions for schemes instead of Empathy's
Comment 22 Marco Barisione 2013-05-13 14:49:39 UTC
Created attachment 244031 [details] [review]
utils: remove empathy_account_has_uri_scheme_tel()
Comment 23 Marco Barisione 2013-05-13 14:49:43 UTC
Created attachment 244032 [details] [review]
tpaw-utils: copy empathy_make_color_whiter()

This commit also changes the licence of the moved code from GPL to LGPL.
The original code was written by Vitaly Minko and then modified by
Collabora employees.
Vitaly agreed with the relicensing, see the following email:

Date: Thu, 9 May 2013 13:29:23 +0400
From: Vitaly Minko <vitaly.minko@gmail.com>
To: Marco Barisione <marco.barisione@collabora.co.uk>
Subject: Re: Relicensing some Empathy code to LGPL
Message-ID: <20130509132923.276ac03b@x200.localdomain>
In-Reply-To: <1367936268.5408.5.camel@carbonara>
References: <1367936268.5408.5.camel@carbonara>
X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.16; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Dear Marco,

I'm perfectly fine with relicencing this code snippet to LGPL.

Best regards,
Vitaly

On Tue, 07 May 2013 15:17:48 +0100
Marco Barisione <marco.barisione@collabora.co.uk> wrote:

> Hi Vitaly,
>
> I'm writing you about some code you wrote for Empathy a few years ago
> to fix https://bugzilla.gnome.org/show_bug.cgi?id=629261
> I'm trying to split some code used for account creation out of
> empathy, so that it can be used in gnome-online-accounts. One of the
> functions I need was originally written by you and then modified by
> Guillaume over the years, see
> https://git.gnome.org/browse/empathy/tree/libempathy-gtk/empathy-ui-utils.c#n1360
> for the most recent version of the function.
>
> The problem here is that Empathy is under GPL, while
> gnome-online-accounts is under LGPL. Can I please relicence that
> small snippet of code to LGPL?
>
> Thank you!
>
Comment 24 Marco Barisione 2013-05-13 14:49:48 UTC
Created attachment 244033 [details] [review]
account-settings: don't set the presence on newly created accounts

What happened before this patch was:
1) tpaw_account_settings_do_create_account() sets the requested presence
   to the global requested presence in Empathy;
2) If the requested presence is unset, unknown or offline,
   empathy_connect_new_account() sets it to available;
3) Every process with a TpAccountManager object in memory that was
   previously used to set the requested presence will try to set the
   presence on the new account.

The first step is a problem as it doesn't work if the account is created
by a process that is not Empathy as the other processes have no way of
knowing what Empathy's requested presence is.
This doesn't matter as, in the third step, both Empathy and gnome-shell
(and any other process using a TpAccountManager) will try to set the
presence to their own idea of the current requested presence. Of course
this is a race condition, see [1], but the behaviour is not changed by
this patch.
In case there is no process using a TpAccountManager, the second step
will still guarantee that the newly created account goes online.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=24104
Comment 25 Marco Barisione 2013-05-13 14:49:53 UTC
Created attachment 244034 [details] [review]
live-search: move from Empathy to tp-account-widgets
Comment 26 Marco Barisione 2013-05-13 14:49:58 UTC
Created attachment 244035 [details] [review]
builder: add stub header and source file for tpaw_builder_* functions
Comment 27 Marco Barisione 2013-05-13 14:50:02 UTC
Created attachment 244036 [details] [review]
TMP! builder: change the licence to GPL. NOT READY FOR MERGE!

The code that is going to be in these files is under GPL. At a later
stage I will ask for relicensing of this code and this commit will be
deleted

== NOT READY FOR MERGE ==
Comment 28 Marco Barisione 2013-05-13 14:50:07 UTC
Created attachment 244037 [details] [review]
builder: move empathy_builder_* from Empathy to tp-account-widgets  NOT READY FOR MERGE!

XXX: Here we should also mention the relicencing of this code when we
get permission to relicense it.

== NOT READY FOR MERGE ==
Comment 29 Marco Barisione 2013-05-13 14:50:11 UTC
Created attachment 244039 [details] [review]
tpaw-utils: copy empathy_implement_finish_* from Empathy and use them

All the code was initially written for wocky that is under LGPL.
Comment 30 Marco Barisione 2013-05-13 14:50:16 UTC
Created attachment 244040 [details] [review]
tpaw-utils: move empathy_get_toplevel_window to tp-aw and rename it NOT READY FOR MERGE!

This commit also changes the licence of the moved code from GPL to LGPL.
The original function was written by Xavier Claessens before joining
Collabora and he gave me permission to relicence the code.
The remaining code was written by Collabora employees.

== NOT READY FOR MERGE! ==
Xavier agreed on IRC. Email him and include his answer in tghe
repository.
Comment 31 Marco Barisione 2013-05-13 14:50:20 UTC
Created attachment 244041 [details] [review]
tpaw-utils: move empathy_window_present* to tp-aw and rename it NOT READY FOR MERGE!

== NOT READY FOR MERGE! ==
This patch introduces GPL code into a supposedly LGPL file.

Copyright (C) 2007-2013 Collabora Ltd.
Copyright (C) 2005-2006 Imendio AB
Copyright (C) 2009 Steve Frécinaux <code@istique.net>
    The commits containing code written by Steve are:
    - 9600d59c5317b692e3549e0bcc293607cda5fb4e
    - ff5b9397a4a2ca0e1b918b196cc14f9c6634d013
Comment 32 Marco Barisione 2013-05-13 14:50:26 UTC
Created attachment 244042 [details] [review]
tpaw-utils: move empathy_xml_validate_from_resource to tp-aw and rename it

This commit also changes the licence of the moved code (all copyrighted by
Collabora Ltd.) from GPL to LGPL.
Comment 33 Marco Barisione 2013-05-13 14:50:30 UTC
Created attachment 244043 [details] [review]
tpaw-utils: add TPAW_STR_EMPTY
Comment 34 Marco Barisione 2013-05-13 14:50:35 UTC
Created attachment 244044 [details] [review]
tpaw-utils: copy EMPATHY_GET_PRIV from empathy-utils.h

This commit also changes the licence of the copied code (all copyrighted
by Collabora Ltd.) from GPL to LGPL.
Comment 35 Marco Barisione 2013-05-13 14:50:39 UTC
Created attachment 244045 [details] [review]
tpaw-debug: copy from Empathy

This commit just copies the files and renames the function.
tp-account-widget's debugging stuff is not functional yet.
Comment 36 Marco Barisione 2013-05-13 14:50:43 UTC
Created attachment 244046 [details] [review]
tpaw-debug: don't set tp-glib's debug flags, Empathy does that
Comment 37 Marco Barisione 2013-05-13 14:50:48 UTC
Created attachment 244047 [details] [review]
debug: set tp-account-widgets's debug flags
Comment 38 Marco Barisione 2013-05-13 14:50:52 UTC
Created attachment 244048 [details] [review]
tp-account-widgets: use TpAW's debugging functions instead of Empathy's
Comment 39 Marco Barisione 2013-05-13 14:50:56 UTC
Created attachment 244049 [details] [review]
tpaw-debug: remove unused debug keys
Comment 40 Marco Barisione 2013-05-13 14:51:01 UTC
Created attachment 244050 [details] [review]
debug: remove EMPATHY_DEBUG_IRC as it's not needed any more
Comment 41 Marco Barisione 2013-05-13 14:51:06 UTC
Created attachment 244051 [details] [review]
tpaw-utils: move ACCOUNT_WIDGETS_RESOURCES_PREFIX from Empathy
Comment 42 Marco Barisione 2013-05-13 14:51:11 UTC
Created attachment 244052 [details] [review]
tpaw-utils: add the TPAW namespace to ACCOUNT_WIDGETS_RESOURCES_PREFIX
Comment 43 Marco Barisione 2013-05-13 14:51:16 UTC
Created attachment 244053 [details] [review]
irc-network-dialog: include stdlib.h needed for strtoul
Comment 44 Marco Barisione 2013-05-13 14:51:21 UTC
Created attachment 244054 [details] [review]
tp-account-widgets: use g_strcmp0 instead of strcmp

There was no bug in this code, but I noticed the usage of strcmp because
of compilation errors caused by some changes to the includes. g_strcmp0
is safer as it handles NULLs.
Comment 45 Marco Barisione 2013-05-13 14:51:26 UTC
Created attachment 244055 [details] [review]
tp-account-widgets: don't include empathy(-ui)-utils.h
Comment 46 Marco Barisione 2013-05-13 14:51:31 UTC
Created attachment 244056 [details] [review]
tp-account-widgets/Makefile.am: remove Empathy's include paths

tp-account-widgets doesn't depend on Empathy headers any more!
Comment 47 Marco Barisione 2013-05-13 14:58:45 UTC
These patches are my first attempt at making the account code independent from the rest of empathy. Empathy seems to work fine, but I haven't tried the Ubuntu online account part yet as I don't use Ubuntu.
Note that tp-account-widgets should be LGPL, but there is GPL code in it. I will email the various authors and get their authorisation to relicence the code.

The git branch is available at http://cgit.collabora.com/git/user/bari/empathy.git/log/

Note that these patches require the patches from bug #697340.
Comment 48 Marco Barisione 2013-05-20 14:42:46 UTC
Created attachment 244790 [details] [review]
Add telepathy-account-widgets submodule
Comment 49 Marco Barisione 2013-05-20 14:42:52 UTC
Created attachment 244791 [details] [review]
Use the telepathy-account-widgets submodule instead of the internal copy
Comment 50 Marco Barisione 2013-05-20 14:42:59 UTC
Created attachment 244792 [details] [review]
tp-account-widgets: remove internal copy
Comment 51 Marco Barisione 2013-05-20 14:45:34 UTC
The last 3 patches just replace the internal copy of tp-aw with the submodule. The next few patches are going to be for the separate tp-aw repository. See http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
Comment 52 Marco Barisione 2013-05-20 14:47:20 UTC
Created attachment 244793 [details] [review]
configure.ac: fix to refer to tpaw instead of empathy
Comment 53 Marco Barisione 2013-05-20 14:47:25 UTC
Created attachment 244794 [details] [review]
Makefile.am: don't compile code not related to tpaw
Comment 54 Marco Barisione 2013-05-20 14:47:30 UTC
Created attachment 244795 [details] [review]
Don't use egg-list-box
Comment 55 Marco Barisione 2013-05-20 14:47:34 UTC
Created attachment 244796 [details] [review]
m4: remove macros we don't need any more
Comment 56 Marco Barisione 2013-05-20 14:47:39 UTC
Created attachment 244797 [details] [review]
m4: rename valgrind macro names and files (empathy → tpaw)
Comment 57 Marco Barisione 2013-05-20 14:47:43 UTC
Created attachment 244798 [details] [review]
configure.ac: remove useless dependencies
Comment 58 Marco Barisione 2013-05-20 14:47:49 UTC
Created attachment 244799 [details] [review]
NEWS: nothing to see here
Comment 59 Marco Barisione 2013-05-20 14:47:54 UTC
Created attachment 244800 [details] [review]
README: nothing to see here (for now)
Comment 60 Marco Barisione 2013-05-20 14:47:59 UTC
Created attachment 244801 [details] [review]
autogen.sh: s/Empathy/telepathy-account-widgets/
Comment 61 Marco Barisione 2013-05-20 14:52:05 UTC
I cannot attach http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=d44ea055cf786493d2029902121b88a7c2893cb1 as it's apparently too big (?!).
Comment 62 Marco Barisione 2013-05-20 14:52:23 UTC
Created attachment 244803 [details] [review]
telepathy-account-widgets.doap: rename from empathy.doap
Comment 63 Marco Barisione 2013-05-20 14:52:28 UTC
Created attachment 244804 [details] [review]
telepathy-accounts-widgets.doap: update name and description
Comment 64 Marco Barisione 2013-05-20 14:52:33 UTC
Created attachment 244805 [details] [review]
Add myself to the maintainers
Comment 65 Marco Barisione 2013-05-20 14:52:37 UTC
Created attachment 244806 [details] [review]
release.py: remove, we are not going to release this as a separate lib
Comment 66 Marco Barisione 2013-05-20 14:52:42 UTC
Created attachment 244807 [details] [review]
configure.ac: remove versioning stuff we don't need
Comment 67 Marco Barisione 2013-05-20 14:52:46 UTC
Created attachment 244808 [details] [review]
configure.ac: change the PKG_CHECK_MODULES prefix from EMPATHY to TPAW
Comment 68 Marco Barisione 2013-05-20 14:52:51 UTC
Created attachment 244809 [details] [review]
Makefile.am: don't generate a ChangeLog, it's not useful for a submodule
Comment 69 Marco Barisione 2013-05-20 14:52:56 UTC
Created attachment 244810 [details] [review]
INSTALL: this is a submodule and not supposed to be installed
Comment 70 Marco Barisione 2013-05-20 14:53:01 UTC
Created attachment 244811 [details] [review]
Makefile.am: we don't use scroll keeper
Comment 71 Marco Barisione 2013-05-20 14:53:06 UTC
Created attachment 244812 [details] [review]
Makefile.am: no need for GSettings related options
Comment 72 Marco Barisione 2013-05-20 14:53:11 UTC
Created attachment 244813 [details] [review]
empathy-env.in: delete
Comment 73 Marco Barisione 2013-05-20 14:53:16 UTC
Created attachment 244814 [details] [review]
totem-submodule-encoding: remove trailing whitespaces
Comment 74 Marco Barisione 2013-05-20 14:53:21 UTC
Created attachment 244815 [details] [review]
irc-network-chooser-dialog: style fix (remove a TAB)
Comment 75 Marco Barisione 2013-05-20 14:53:26 UTC
Created attachment 244816 [details] [review]
check-whitespace.sh: enable the TAB checking again
Comment 76 Marco Barisione 2013-05-20 14:53:31 UTC
Created attachment 244817 [details] [review]
tp-accounts-widgets/Makefile.am: fix the log domain
Comment 77 Marco Barisione 2013-05-20 14:53:35 UTC
Created attachment 244818 [details] [review]
tp-account-widgets/Makefile.am: make tp-account-widgets a noinst library
Comment 78 Marco Barisione 2013-05-20 14:53:41 UTC
Created attachment 244819 [details] [review]
Add a pkg-config file
Comment 79 Marco Barisione 2013-05-20 14:53:45 UTC
Created attachment 244820 [details] [review]
autogen.sh: add --no-configure support
Comment 80 Marco Barisione 2013-05-20 14:53:51 UTC
Created attachment 244821 [details] [review]
debug.c: make the private variable flag_to_keys static
Comment 81 Marco Barisione 2013-06-25 16:10:26 UTC
I got permission to relicense the code by all the contributors and pushed the updated branches.
It's quite a few patches and it's a bit confusing if I keep uploading the here; if it's ok for you I will not attach the patches but just link you to the git branches.

Branch shared by both empathy and tp-aw moving the code around:
http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor

Empathy branch the uses the submodule:
http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule

Tp-aw:
http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
Comment 82 Guillaume Desmottes 2013-07-10 12:24:35 UTC
I just reviewed tpaw-empathy-common-ancestor (not keyring).

The branch doesn't pass 'make check':
making check in tp-account-widgets
./totem-subtitle-encoding.c:1:/* 
./totem-subtitle-encoding.h:1:/* 
^^^ The above files contain unwanted trailing spaces
./totem-subtitle-encoding.c:500:      label = g_strdup_printf("%s (%s)", lastlang, encodings[i].charset);
./totem-subtitle-encoding.c:504:      g_free(label);
^^^ Our coding style is to use function calls like foo (), not foo()
./tpaw-utils.h:46:#define TPAW_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv)
^^^ Our coding style is to have a space between a cast and the 
    thing being cast
./tpaw-utils.h:46:#define TPAW_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv)
^^^ Our coding style is to have a space before the * of pointer types
    (regex 1)
Making check in tools
Making check in extensions
Making check in po
make[1]: *** No rule to make target `../libempathy/empathy-base-keyring.c', needed by `empathy.pot'.  Stop.


... neither 'make distcheck':
../../tp-account-widgets/tpaw-account-settings.c:24:43: fatal error: tp-account-widgets/tpaw-utils.h: No such file or directory


http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=3f3151c5f19bbf9b0bdf96549e4f3850a760aa28
You can remove empathy_implement_finish_return_pointer and friends from libempathy/empathy-utils.h, there is no point keeping 2 implementations around.
Or did you intend to?

http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=f6bcfbe0a54ff6030f069d7b86cf14867a0c1ad0
Same question, why keep EMP_STR_EMPTY?
I wish bug #399880 wouldn't have been WONTFIXed...

http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=5ff5a02bf09020936541bf00a1abf04fe2241961
I'd drop this macro completly and use the new "self->priv->" pattern used in newer files. I know it's not a very exicting change to do but there are not much files to edit so...
Comment 83 Guillaume Desmottes 2013-07-10 12:32:00 UTC
Also, how do you handle translations now? POTFILES.in hasn't been updated.
Comment 84 Guillaume Desmottes 2013-07-10 13:15:44 UTC
Review of http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/

"make check" doesn't pass:

make[1]: *** No rule to make target `../data/empathy.desktop.in.in', needed by `tpaw.pot'.  Stop.


...neither does "make distcheck":

../../tp-account-widgets/tpaw-account-settings.c:24:43: fatal error: tp-account-widgets/tpaw-utils.h: No such file or directory


Except these 2 issues and the translation problem it looks good to me. Nice job splitting things nicely in small commits!
Comment 85 Emanuele Aina 2013-07-10 14:16:12 UTC
(In reply to comment #82)
> http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=3f3151c5f19bbf9b0bdf96549e4f3850a760aa28
> You can remove empathy_implement_finish_return_pointer and friends from
> libempathy/empathy-utils.h, there is no point keeping 2 implementations around.
> Or did you intend to?

I originally tried to avoid making Empathy use utility functions from the submodule to keep the contact surface as small as possible. In this particular case the macros are just working around GSimpleAsyncResult's complex API: I'd then avoid having Empathy depend on those as in this case they would still need to be provided even after porting the submodule to GTask.
Comment 86 Marco Barisione 2013-08-02 14:19:18 UTC
More stuff to review :)
I did everything you asked, moved other stuff I needed to tp-aw and fixed a few bugs.
Note that I still need to relicense a couple of files, but I'm still waiting for a reply by one contributor. I will fix those patches later, but they are not going to affect the code, so you can start to review if you want.

Branch shared by both empathy and tp-aw moving the code around:
http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor

Empathy branch the uses the submodule:
http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule

Tp-aw:
http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
Comment 87 Guillaume Desmottes 2013-08-07 09:13:02 UTC
We should make sure to merge all this before the beta Freeze (19th Aug) if we want it in 3.10.

(In reply to comment #86)
> Branch shared by both empathy and tp-aw moving the code around:
> http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor

tpaw-protocol.c:531:242: error: return makes integer from pointer without a cast [-Werror]

"make distcheck" doesn't pass

http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=06847c2fe834dfe6dfd251326976280d8cc0d4b9

+      g_object_ref (self->priv->action_area);
shouldn't we use ref_sink?

+      self->priv->action_area = g_value_dup_object (value);
same here; not ref_sink?

Be extra carreful when reffing GtkWidget it can easily be nasty.
Comment 88 Guillaume Desmottes 2013-08-07 09:28:36 UTC
(In reply to comment #86)
> Empathy branch the uses the submodule:
> http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule

http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=beec16bcdf3964d665330a1d86a847bcdd7a6bab

+	url = git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git
Should be changed to git.gnome.org before merging ideally.

http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=81ddee8a204df94be77160c11ae6e18e2d88bf42

Why is this needed? Which ressources are used by the submodule but shipped by Empathy?

tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish':
tpaw-protocol.c:532:253: error: return makes integer from pointer without a cast [-Werror]


Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal warnings when building the submodule.
Comment 89 Guillaume Desmottes 2013-08-07 09:43:15 UTC
(In reply to comment #86)
> Tp-aw:
> http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/

tpaw-protocol.c:532:385: error: return makes integer from pointer without a cast [-Werror]

Does it 'dist check'?

http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241
tpaw_released can't be defined in configure.ac but it's used.

http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=734744122b539c18f722ad73112aeaae0501113b

This really makes me cry...
Once merged, please send an email to the translators list explaining all this mess.
Comment 90 Marco Barisione 2013-08-12 08:46:38 UTC
(In reply to comment #88)
> +    url =
> git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git
> Should be changed to git.gnome.org before merging ideally.

Yep, I will do it when ready to merge.

> http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=81ddee8a204df94be77160c11ae6e18e2d88bf42
> 
> Why is this needed? Which ressources are used by the submodule but shipped by
> Empathy?

If the icons are installed in /usr/share/telepathy-account-widgets then you end up with two modules (Empathy and GOA) shipping the same files in the same path.

> tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish':
> tpaw-protocol.c:532:253: error: return makes integer from pointer without a
> cast [-Werror]

I will fix it (why don't I get this and make distcheck passes for me?).

> Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal
> warnings when building the submodule.

Hm, how should I handle this?

(In reply to comment #87)
> We should make sure to merge all this before the beta Freeze (19th Aug) if we
> want it in 3.10.

I don't think this is going to happen as I don't think that the GOA part will be integrated by then.

> (In reply to comment #86)
> tpaw-protocol.c:531:242: error: return makes integer from pointer without a
> cast [-Werror]

I will fix this.

> +      g_object_ref (self->priv->action_area);
> shouldn't we use ref_sink?
> 
> +      self->priv->action_area = g_value_dup_object (value);
> same here; not ref_sink?

Yeah, I forgot.

(In reply to comment #89)
> http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241
> tpaw_released can't be defined in configure.ac but it's used.

I will look at this.

> http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=734744122b539c18f722ad73112aeaae0501113b
> 
> This really makes me cry...
> Once merged, please send an email to the translators list explaining all this
> mess.

Yeah, I will. Note that I only removed 14 strings, so it's not too bad.
Comment 91 Marco Barisione 2013-08-20 09:33:06 UTC
(In reply to comment #90)
> (In reply to comment #88)
> > +    url =
> > git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git
> > Should be changed to git.gnome.org before merging ideally.
> 
> Yep, I will do it when ready to merge.

This is the only missing thing to do.

> > tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish':
> > tpaw-protocol.c:532:253: error: return makes integer from pointer without a
> > cast [-Werror]

Fixed.

> > Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal
> > warnings when building the submodule.

I added a configure argument to tp-aw. See http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=43785b51e9048d8fd6ab705235cf0f4e48685cfd and http://cgit.collabora.com/git/user/bari/empathy.git/commit/?id=98bc2c8a640d72a8cf9a6e12890b09d43c4a9d84

> > (In reply to comment #86)
> > tpaw-protocol.c:531:242: error: return makes integer from pointer without a
> > cast [-Werror]

Fixed.

> > +      g_object_ref (self->priv->action_area);
> > shouldn't we use ref_sink?
> > 
> > +      self->priv->action_area = g_value_dup_object (value);
> > same here; not ref_sink?

Fixed.

> (In reply to comment #89)
> > http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241
> > tpaw_released can't be defined in configure.ac but it's used.

Fixed.
Comment 92 Marco Barisione 2013-08-20 09:36:04 UTC
I forgot to mention one things. I tried to pay attention not to break Ubuntu's stuff while moving it around, but I couldn't try compiling it. I could install Ubuntu in a VM, but there are a lot of dependencies that I would need to compile too and we don't have much time if we want the GOA part in 3.10.
Do you think I should try it on Ubuntu or could we wait for Xavier to be back from holidays?
Comment 93 Marco Barisione 2013-08-20 11:23:13 UTC
The new module is on git.gnome.org, see https://git.gnome.org/browse/telepathy-account-widgets
I pushed the changes to empathy too, the top commit is a5974320dc481846931f4bd24f279b7edea8b03b.