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 630188 - Port Empathy to Folks 0.3.x
Port Empathy to Folks 0.3.x
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Meta Contacts
unspecified
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
: 630023 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-20 17:24 UTC by Travis Reitter
Modified: 2011-08-29 10:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Travis Reitter 2010-09-20 17:24:46 UTC
Folks 0.3.x breaks API compatibility with the 0.2.x series, so Empathy will need to be ported to the new API.

This bug and branch are meant as a way to track the API changes until Empathy branches for Gnome 3.0.

This is the branch tracking the changes:

http://git.collabora.co.uk/?p=user/treitter/empathy.git;a=shortlog;h=refs/heads/folks-0-3-x-changes
Comment 1 Guillaume Desmottes 2010-09-21 07:18:05 UTC
*** Bug 630023 has been marked as a duplicate of this bug. ***
Comment 2 Travis Reitter 2010-09-28 23:37:46 UTC
This branch may need to handle IndividualAggregatorError.STORE_OFFLINE when adding a contact (though our UI prevents us from adding contacts while we're offline anyhow).
Comment 3 Travis Reitter 2010-09-30 16:50:56 UTC
One regression I've been spending a couple days on is a race condition in the way "user" Personas (ie, Personas for the owner of the accounts) are auto-linked into the user Individual.

It mostly comes down to the way Personas are matched up with EmpathyContacts in Empathy. This bit is very much legacy that we'd like to strip down as much as possible. It's likely causing these problems, and certainly doesn't help.

Part of the solution is to support capabilities in Folks (bug #626179) so we can remove the legacy classes in Empathy (eg, EmpathyContactManager. See bug #625969)
Comment 4 Travis Reitter 2010-10-01 17:25:37 UTC
(In reply to comment #3)
> One regression I've been spending a couple days on is a race condition in the
> way "user" Personas (ie, Personas for the owner of the accounts) are
> auto-linked into the user Individual.
> 
> It mostly comes down to the way Personas are matched up with EmpathyContacts in
> Empathy. This bit is very much legacy that we'd like to strip down as much as
> possible. It's likely causing these problems, and certainly doesn't help.
> 
> Part of the solution is to support capabilities in Folks (bug #626179) so we
> can remove the legacy classes in Empathy (eg, EmpathyContactManager. See bug
> #625969)

I'll fix this in subsequent releases, as it doesn't affect most people (and 0.3.0 already has a large number of changes).

Guillaume, could you please review this branch?
Comment 5 Guillaume Desmottes 2010-10-04 08:09:57 UTC
Looks good. Please update jhbuild before merging this.
Comment 6 Travis Reitter 2010-10-04 23:41:07 UTC
(In reply to comment #5)
> Looks good. Please update jhbuild before merging this.

Updated jhbuild and merged:

commit 1594b24862967f7d0046c8d4328b11a0b2b45330
Author: Travis Reitter <travis.reitter@collabora.co.uk>
Date:   Thu Sep 30 20:20:51 2010 -0700

    Don't bother fetching contact avatar details, since we already do that in Fo

 libempathy/empathy-tp-contact-factory.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 53aa7c1e6546214568969fe727926f7740a26127
Author: Philip Withnall <philip.withnall@collabora.co.uk>
Date:   Wed Sep 15 15:23:14 2010 +0100

    Port Empathy to use FolksAliasable and FolksGroupable
    
    FolksAliasable is the new name for FolksAlias, and FolksGroupable
    is the new name for FolksGroups.

 configure.ac                               |    2 +-
 libempathy-gtk/empathy-contact-widget.c    |    4 +-
 libempathy-gtk/empathy-groups-widget.c     |   48 ++++++++++++++--------------
 libempathy-gtk/empathy-groups-widget.h     |    6 ++--
 libempathy-gtk/empathy-individual-view.c   |    8 ++--
 libempathy-gtk/empathy-individual-widget.c |   12 +++---
 libempathy-gtk/empathy-persona-store.c     |   16 +++++----
 libempathy/empathy-contact.c               |   14 ++++----
 libempathy/empathy-individual-manager.c    |    6 ++--
 libempathy/empathy-utils.c                 |    2 +-
 libempathy/empathy-utils.h                 |    2 +-
 11 files changed, 61 insertions(+), 59 deletions(-)