platform/upstream/folks.git
12 years agoRelease version 0.6.9 FOLKS_0_6_9
Philip Withnall [Mon, 16 Apr 2012 17:00:11 +0000 (18:00 +0100)]
Release version 0.6.9

12 years agoeds: Add an extra timeout to the EDS tests to ensure the main loop’s empty
Philip Withnall [Mon, 16 Apr 2012 14:39:37 +0000 (15:39 +0100)]
eds: Add an extra timeout to the EDS tests to ensure the main loop’s empty

This is a horrible hack for which I should probably be shot. I just want to
make the release. Please don’t judge me.

The tests all need to be rearchitected to no longer rely on timers everywhere
anyway.

12 years ago[l10n] Added Italian translation
Gianvito Cavasoli [Fri, 6 Apr 2012 15:18:45 +0000 (17:18 +0200)]
[l10n] Added Italian translation

12 years agoTest: disconnect individuals_changed signal to avoid race
Xavier Claessens [Fri, 30 Mar 2012 08:19:32 +0000 (10:19 +0200)]
Test: disconnect individuals_changed signal to avoid race

Otherwise, deleting the 2nd account runs the mainloop and could make
the aggregator realize the 1st account got removed and start removing
its individuals.

12 years agoTests: TpConnectionStatus can also be CONNECTING
Xavier Claessens [Fri, 30 Mar 2012 07:41:07 +0000 (09:41 +0200)]
Tests: TpConnectionStatus can also be CONNECTING

12 years agoTests: terminate DBus trafic with the connection before removing its account
Xavier Claessens [Wed, 28 Mar 2012 14:06:31 +0000 (16:06 +0200)]
Tests: terminate DBus trafic with the connection before removing its account

Otherwise unit tests gets racy.

12 years agotests: Fix some C warnings in the Telepathy tests library
Philip Withnall [Wed, 28 Mar 2012 13:18:28 +0000 (14:18 +0100)]
tests: Fix some C warnings in the Telepathy tests library

12 years agoTests: fix a race condition
Xavier Claessens [Wed, 28 Mar 2012 11:29:50 +0000 (13:29 +0200)]
Tests: fix a race condition

It is not guaranteed that individuals_changed and individuals_changed_detailed
signals will have the individuals in the same order.

12 years agoTests: port to verbatim copy of tp-glib files
Xavier Claessens [Tue, 27 Mar 2012 16:05:12 +0000 (18:05 +0200)]
Tests: port to verbatim copy of tp-glib files

12 years agoTests: Change namespace to TpTests instead of TpTest
Xavier Claessens [Tue, 27 Mar 2012 15:13:50 +0000 (17:13 +0200)]
Tests: Change namespace to TpTests instead of TpTest

Files from telepathy-glib are in TpTests namespace, so this
will facilitate copying verbatim copy.

12 years agoTpTestBackend: Make sure DBus trafic is done in tear_down
Xavier Claessens [Tue, 27 Mar 2012 10:49:32 +0000 (12:49 +0200)]
TpTestBackend: Make sure DBus trafic is done in tear_down

12 years agoMake sure unit cache tests are not messing the user's cache
Xavier Claessens [Mon, 26 Mar 2012 12:09:55 +0000 (14:09 +0200)]
Make sure unit cache tests are not messing the user's cache

XDG_CACHE_HOME must be set before the first call of g_get_user_cache_dir().
The problem is g_file_new_for_path() actually ends to a call to
g_get_user_cache_dir() somewhere in gvfs, so ensure we set the env before
that.

12 years agoIncrease quiescent timeout to 30s
Xavier Claessens [Mon, 26 Mar 2012 08:54:56 +0000 (10:54 +0200)]
Increase quiescent timeout to 30s

5s is too optimistical, it can easily take longer when printing debug
messages on terminal (unit test failing because of this) or even in real
world usage if system is a bit on load.

12 years agotpf-persona: use tp_connection_get_account()
Guillaume Desmottes [Wed, 28 Mar 2012 09:22:28 +0000 (11:22 +0200)]
tpf-persona: use tp_connection_get_account()

telepathy-glib introduced API to get the TpAccount of a TpConnection so Folks
doesn't have to do it manually.

This has the nice side effect of fixing a crash when TpAccount/TpConnection
are momentary out of sync while connecting/disconnecting accounts.

https://bugzilla.gnome.org/show_bug.cgi?id=672980

12 years agoUpdated Polish translation
Piotr Drąg [Tue, 27 Mar 2012 19:33:59 +0000 (21:33 +0200)]
Updated Polish translation

12 years agoUpdated Galician translations
Fran Diéguez [Tue, 27 Mar 2012 10:39:25 +0000 (12:39 +0200)]
Updated Galician translations

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 27 Mar 2012 08:44:42 +0000 (10:44 +0200)]
Updated Spanish translation

12 years agoPost-release version bump
Philip Withnall [Mon, 26 Mar 2012 22:29:32 +0000 (23:29 +0100)]
Post-release version bump

12 years agoRelease version 0.6.8 FOLKS_0_6_8
Philip Withnall [Mon, 26 Mar 2012 22:20:32 +0000 (23:20 +0100)]
Release version 0.6.8

12 years agotelepathy: Add a couple of debug messages
Philip Withnall [Mon, 26 Mar 2012 22:19:26 +0000 (23:19 +0100)]
telepathy: Add a couple of debug messages

12 years agotests: Fix potential match tests in Tracker backend
Philip Withnall [Mon, 26 Mar 2012 21:03:30 +0000 (22:03 +0100)]
tests: Fix potential match tests in Tracker backend

The recent changes to name matching broke the incrementing of match levels
depended on by the tests. Fix that.

12 years agoeds: Remove Vala 0.14 code from EDS backend
Philip Withnall [Mon, 26 Mar 2012 21:02:27 +0000 (22:02 +0100)]
eds: Remove Vala 0.14 code from EDS backend

Now that we depend on Vala 0.15 unconditionally, we don't need the Vala 0.14
versions of things.

12 years agolibsocialweb: Fix the tests to work with libsocialweb 0.25.20
Philip Withnall [Mon, 26 Mar 2012 20:23:50 +0000 (21:23 +0100)]
libsocialweb: Fix the tests to work with libsocialweb 0.25.20

This bumps our libsocialweb dependency to 0.25.20 since that's the first
release to include the s/com.meego/org.gnome/ D-Bus path change.

12 years agotelepathy: Handle null account managers
Philip Withnall [Mon, 26 Mar 2012 19:16:00 +0000 (20:16 +0100)]
telepathy: Handle null account managers

This can occur in the tests when using persona stores which haven't been
prepare()d at all.

12 years agoUpdated Slovenian translation
Matej Urbančič [Mon, 26 Mar 2012 19:01:49 +0000 (21:01 +0200)]
Updated Slovenian translation

12 years agoi18n: Update British English translation
Philip Withnall [Mon, 26 Mar 2012 18:47:54 +0000 (19:47 +0100)]
i18n: Update British English translation

12 years agotelepathy: Fix weak_unref() warnings
Philip Withnall [Mon, 26 Mar 2012 18:38:49 +0000 (19:38 +0100)]
telepathy: Fix weak_unref() warnings

If a TpContact is destroyed and our weak reference handler is invoked, it
could previously not remove the TpContact's pointer from the map of weak
references held by the persona store. When the persona was later destroyed,
it would call weak_unref() on the stale pointer and cause a warning.

This patch ensures we always remove pointers from the map when their
weak notification functions are called.

12 years agoi18n: Add a missing file to POTFILES.in
Philip Withnall [Mon, 26 Mar 2012 18:22:09 +0000 (19:22 +0100)]
i18n: Add a missing file to POTFILES.in

12 years agodocs: Various documentation fixes
Philip Withnall [Mon, 26 Mar 2012 18:20:03 +0000 (19:20 +0100)]
docs: Various documentation fixes

12 years agoBug 660235 — Consistent signal handlers to a terminal would be cool
Philip Withnall [Fri, 13 Jan 2012 19:37:29 +0000 (19:37 +0000)]
Bug 660235 — Consistent signal handlers to a terminal would be cool

Fix folks-inspect’s handling of SIGINT, SIGTERM and EOF. In the former case,
we want to clear the current input buffer and display a new prompt. In
the case of SIGTERM we want to exit cleanly, and in the case of EOF we want
to exit if the input buffer is empty.

The combination of readline, Unix signals and threads in this was unfun.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=660235

12 years agoinspect: Move readline() loop into the GLib main loop
Philip Withnall [Fri, 13 Jan 2012 16:29:22 +0000 (16:29 +0000)]
inspect: Move readline() loop into the GLib main loop

The readline() loop is more pain than it’s worth, so we now use readline’s
callback interface for command line handling, allowing us to use a single
main loop and a single thread for both the aggregator and readline.

This should make signal handling a lot easier.

Note that this bumps our Vala requirement from 0.15.1 to 0.15.2.

12 years agotelepathy: Handle contact removals from groups
Philip Withnall [Sun, 4 Mar 2012 13:10:30 +0000 (13:10 +0000)]
telepathy: Handle contact removals from groups

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=669984

12 years agoBug 670872 — Should be less sensitive to accentuated chars
Philip Withnall [Sat, 24 Mar 2012 22:18:21 +0000 (22:18 +0000)]
Bug 670872 — Should be less sensitive to accentuated chars

Strip accented characters from names and make them all lower case when
searching for potential matches between individuals.

This uses a modified version of Empathy's live search code to allow for
string matches regardless of case or accentuation.

The commit also fixes the potential match code to handle UTF-8 properly,
which it wasn't doing before.

This includes a test case.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=670872

12 years agotests: Tidy up the tracker/match-name test a little
Philip Withnall [Sat, 24 Mar 2012 22:15:25 +0000 (22:15 +0000)]
tests: Tidy up the tracker/match-name test a little

Reduce code duplication somewhat.

12 years agoBug 671900 — Folks should not suggest linking contacts from telepathy-salut
Philip Withnall [Sat, 24 Mar 2012 18:58:58 +0000 (18:58 +0000)]
Bug 671900 — Folks should not suggest linking contacts from telepathy-salut

Reject any possibility of a match between two individuals if either of them
have a trust level of NONE (which can happen if they contain link-local XMPP
personas, for example).

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=671900

12 years agocore: Make PotentialMatch._inspect_im_addresses() private
Philip Withnall [Sat, 24 Mar 2012 18:56:43 +0000 (18:56 +0000)]
core: Make PotentialMatch._inspect_im_addresses() private

It was never meant to be public, and nobody should've been using it.
Consequently, let's pretend this isn't an API break.

12 years agotelepathy: Handle TpProxy::invalidated signals in the Telepathy backend
Philip Withnall [Sat, 18 Feb 2012 13:55:37 +0000 (13:55 +0000)]
telepathy: Handle TpProxy::invalidated signals in the Telepathy backend

If the TpConnection is invalidated (due to the CM crashing), we want to
reset the state of the TpfPersonaStore (but not remove it). If the
TpAccountManager is invalidated (due to it crashing), we assume that all
accounts have been invalidated, and remove all TpfPersonaStores. Same for
the TpAccount.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=670348

12 years agoBug 672373 — folks-import segfaults (Archlinux x86_64)
Philip Withnall [Sat, 24 Mar 2012 17:55:32 +0000 (17:55 +0000)]
Bug 672373 — folks-import segfaults (Archlinux x86_64)

Fix a GValue boxed-type-mismatch between folks-import and ImDetails which
was causing crashes.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=672373

12 years agocreate_personas_from_contact_ids: always return all the personas
Guillaume Desmottes [Thu, 22 Mar 2012 14:34:15 +0000 (15:34 +0100)]
create_personas_from_contact_ids: always return all the personas

We always want to try adding the persona to Telepathy, even if it was already
existing in Folks because, for example, we look for the details of this
contact before adding it.

https://bugzilla.gnome.org/show_bug.cgi?id=671714

12 years ago_add_persona_from_contact: always return the persona
Guillaume Desmottes [Thu, 22 Mar 2012 14:32:02 +0000 (15:32 +0100)]
_add_persona_from_contact: always return the persona

In some case we may be interested by using the persona even if it was already
existing.

https://bugzilla.gnome.org/show_bug.cgi?id=671714

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 20 Mar 2012 16:19:16 +0000 (17:19 +0100)]
Updated Spanish translation

12 years agoUpdated Polish translation
Piotr Drąg [Tue, 20 Mar 2012 15:00:44 +0000 (16:00 +0100)]
Updated Polish translation

12 years agoUpdated Galician translations
Fran Diéguez [Tue, 20 Mar 2012 13:57:43 +0000 (14:57 +0100)]
Updated Galician translations

Signed-off-by: Fran Diéguez <fran.dieguez@mabishu.com>
12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 20 Mar 2012 13:44:37 +0000 (14:44 +0100)]
Updated Slovenian translation

12 years agocore: Improve quiescence timeout
Philip Withnall [Mon, 19 Mar 2012 19:02:05 +0000 (19:02 +0000)]
core: Improve quiescence timeout

Ensure that we start the timeout in the case that all backends are marked
as quiescent (meaning that they've added all their persona stores), but none
of the persona stores are.

12 years agoeds: Tie favourite status to “Starred in Android” group for Google Contacts
Philip Withnall [Mon, 9 Jan 2012 13:18:56 +0000 (13:18 +0000)]
eds: Tie favourite status to “Starred in Android” group for Google Contacts

Link is-favourite to whether a “Starred in Android” group exists on a contact
(and vice-versa) if the contact is from a Google Contacts address book.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=661490

12 years agotelepathy: Handle null birthday strings
Philip Withnall [Sat, 18 Feb 2012 13:56:54 +0000 (13:56 +0000)]
telepathy: Handle null birthday strings

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=670347

12 years agoUpdated Swedish translation
Daniel Nylander [Mon, 19 Mar 2012 14:11:39 +0000 (15:11 +0100)]
Updated Swedish translation

12 years agobuild: Add missing entry to NEWS
Philip Withnall [Mon, 19 Mar 2012 13:49:36 +0000 (13:49 +0000)]
build: Add missing entry to NEWS

12 years agocore: Don’t modify a HashSet while iterating over it
Philip Withnall [Mon, 5 Mar 2012 00:11:09 +0000 (00:11 +0000)]
core: Don’t modify a HashSet while iterating over it

Even though we were modifying it from the Iterator (which should’ve been OK),
we got hit by https://bugzilla.gnome.org/show_bug.cgi?id=671327 which meant
that some Personas weren't getting disconnected from Individuals. This is a
likely cause of bug #670523.

This also includes a related (but irrelevant to the bug itself) tidy-up to
Persona._individual.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=670523

12 years agoPersona: make sure to NULL-ify the individual when it's destroyed
Guillaume Desmottes [Mon, 19 Mar 2012 13:21:37 +0000 (14:21 +0100)]
Persona: make sure to NULL-ify the individual when it's destroyed

https://bugzilla.gnome.org/show_bug.cgi?id=672381

12 years agofolks: Don't set G_MESSAGES_DEBUG unconditionally
Jasper St. Pierre [Sat, 17 Mar 2012 08:49:19 +0000 (04:49 -0400)]
folks: Don't set G_MESSAGES_DEBUG unconditionally

https://bugzilla.gnome.org/show_bug.cgi?id=671499

12 years agobuild: Add --disable-fatal-warnings configure flag
Colin Walters [Fri, 20 Jan 2012 17:24:59 +0000 (12:24 -0500)]
build: Add --disable-fatal-warnings configure flag

Useful for builders who aren't necessarily developers.

12 years agoAdded uk translation
Daniel Korostil [Sun, 11 Mar 2012 20:31:53 +0000 (22:31 +0200)]
Added uk translation

12 years agolibsocialweb: Tidy up Swf.PersonaStore.prepare() to return asynchronously
Philip Withnall [Sun, 4 Mar 2012 20:24:49 +0000 (20:24 +0000)]
libsocialweb: Tidy up Swf.PersonaStore.prepare() to return asynchronously

Previously, the prepare() method would return synchronously, firing off
some asynchronous methods in libsocialweb, which would later return in
callbacks and (theoretically) cause the persona store to reach quiescence.

This behaviour was not playing nicely with the expected asynchronous
behaviour of prepare(), and wasn't handling errors properly — on an error,
the code would cancel preparation, but not throw an error or remove the
persona store.

The code now throws errors and removes the persona store if preparation
fails, which should hopefully help some of the not-reaching-quiescence issues
we’ve been seeing.

Helps: https://bugzilla.gnome.org/show_bug.cgi?id=670191

12 years agocore: Force IndividualAggregator quiescence after a 5s timeout
Philip Withnall [Sun, 4 Mar 2012 14:29:27 +0000 (14:29 +0000)]
core: Force IndividualAggregator quiescence after a 5s timeout

This prevents clients being (too) adversely affected (e.g. not being able
to do anything) by buggy Backends and PersonaStores which never reach
quiescence.

Note that this patches the symptoms, not the cause of the problem. Good as
a safety net, though.

Helps: https://bugzilla.gnome.org/show_bug.cgi?id=670191

12 years agoBump Tracker version requirements to match current Tracker
Travis Reitter [Mon, 5 Mar 2012 22:22:13 +0000 (14:22 -0800)]
Bump Tracker version requirements to match current Tracker

12 years agoFactor out the tracker-sparql major number.
Travis Reitter [Mon, 5 Mar 2012 23:30:10 +0000 (15:30 -0800)]
Factor out the tracker-sparql major number.

This changes fairly often, so this will make it easier to adjust it all
in one place.

12 years agoPost-release version bump
Travis Reitter [Thu, 23 Feb 2012 02:30:13 +0000 (18:30 -0800)]
Post-release version bump

12 years agoRelease version 0.6.7 FOLKS_0_6_7
Travis Reitter [Wed, 22 Feb 2012 22:18:23 +0000 (14:18 -0800)]
Release version 0.6.7

12 years agoTemporarily disable troublesome tests due to bgo#668415
Travis Reitter [Wed, 22 Feb 2012 23:50:26 +0000 (15:50 -0800)]
Temporarily disable troublesome tests due to bgo#668415

12 years agoCut invalid overly-specific type cast
Travis Reitter [Mon, 30 Jan 2012 19:23:26 +0000 (11:23 -0800)]
Cut invalid overly-specific type cast

The Vala compiler now correctly warns that typeof(Foo<Bar>) is invalid,
so this stops pretending we can be that specific.

(The generated C code can't make a GValue as specific as the above Vala
code fragment suggests; historically, the compiler would let you get
away with this, likely with the false assumption that the generic type
would ever be considered again.)

12 years agoBuild with vala 0.15
Colin Walters [Fri, 20 Jan 2012 19:46:14 +0000 (14:46 -0500)]
Build with vala 0.15

12 years agoNote fix for bgo#670196 in NEWS
Travis Reitter [Fri, 17 Feb 2012 23:03:17 +0000 (15:03 -0800)]
Note fix for bgo#670196 in NEWS

12 years agoUpdated Czech translation
Marek Černocký [Fri, 17 Feb 2012 10:28:42 +0000 (11:28 +0100)]
Updated Czech translation

12 years agoadd missing config.h includes
Guillaume Desmottes [Thu, 16 Feb 2012 09:02:49 +0000 (10:02 +0100)]
add missing config.h includes

https://bugzilla.gnome.org/show_bug.cgi?id=670196

12 years agoDisable glib deprecated warnings
Guillaume Desmottes [Thu, 16 Feb 2012 09:02:13 +0000 (10:02 +0100)]
Disable glib deprecated warnings

We need GValueArray for dbus-glib, and it got deprecated in GLib 2.31.x

https://bugzilla.gnome.org/show_bug.cgi?id=670196

12 years agoAdd zh_CN to LINGUAS
Automatic Mirroring [Thu, 16 Feb 2012 11:57:35 +0000 (11:57 +0000)]
Add zh_CN to LINGUAS

12 years agoAdd Simplified Chinese translation.
Wylmer Wang [Thu, 16 Feb 2012 11:56:39 +0000 (11:56 +0000)]
Add Simplified Chinese translation.

12 years ago[l10n] Updated German translation
Mario Blättermann [Sun, 5 Feb 2012 12:52:33 +0000 (13:52 +0100)]
[l10n] Updated German translation

12 years agoUpdated Polish translation
Piotr Drąg [Thu, 2 Feb 2012 18:18:29 +0000 (19:18 +0100)]
Updated Polish translation

12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 31 Jan 2012 19:10:18 +0000 (20:10 +0100)]
Updated Slovenian translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 31 Jan 2012 12:14:54 +0000 (13:14 +0100)]
Updated Spanish translation

12 years agoOnly add non-empty Role or PostalAddress fields in Tracker backend
Travis Reitter [Fri, 27 Jan 2012 00:27:03 +0000 (16:27 -0800)]
Only add non-empty Role or PostalAddress fields in Tracker backend

This prevents some newly-exposed test failures.

12 years agoDon't assume every Tpf.Persona has a contact
Travis Reitter [Wed, 25 Jan 2012 02:00:29 +0000 (18:00 -0800)]
Don't assume every Tpf.Persona has a contact

12 years agoFix the nullity of test functions.
Travis Reitter [Wed, 25 Jan 2012 01:00:58 +0000 (17:00 -0800)]
Fix the nullity of test functions.

12 years agoMake Individual implement PresenceDetails properly
Travis Reitter [Tue, 24 Jan 2012 23:57:32 +0000 (15:57 -0800)]
Make Individual implement PresenceDetails properly

12 years agoMake Tpf.Persona properly implement the PresenceDetails properties.
Travis Reitter [Sun, 22 Jan 2012 01:24:05 +0000 (17:24 -0800)]
Make Tpf.Persona properly implement the PresenceDetails properties.

12 years agoMatch names better for PotentialMatches
Alexander Larsson [Mon, 23 Jan 2012 15:30:58 +0000 (16:30 +0100)]
Match names better for PotentialMatches

We match alias as well as full name, to e.g. match an EDS contact (full name)
with an IM contact (alias).

Also, we make exact name matches bring the priority to HIGH alone, which
is needed in the IM case since the alias is the only piece of data
we have to match on.

https://bugzilla.gnome.org/show_bug.cgi?id=668499

12 years agoautogen.sh: Honor NOCONFIGURE=1
Colin Walters [Thu, 19 Jan 2012 20:38:35 +0000 (15:38 -0500)]
autogen.sh: Honor NOCONFIGURE=1

See http://people.gnome.org/~walters/docs/build-api.txt

12 years agoUpdated Galician translations
Fran Diéguez [Tue, 17 Jan 2012 00:52:27 +0000 (01:52 +0100)]
Updated Galician translations

12 years agoUpdated Czech translation
Marek Černocký [Mon, 16 Jan 2012 09:02:20 +0000 (10:02 +0100)]
Updated Czech translation

12 years agoeds: Add a dummy authentication handler
Philip Withnall [Mon, 9 Jan 2012 18:24:21 +0000 (18:24 +0000)]
eds: Add a dummy authentication handler

This will deny any authentication requests, which goes some way to stopping
address books remaining in the “opening” state indefinitely. However, it
(curiously) doesn’t entirely eliminate the problem.

It also looks like this is a situation where the ::opened signal can return
an error while the async open() call doesn’t. Joy.

12 years agotelepathy: Fix weak notification of TpContacts
Philip Withnall [Mon, 9 Jan 2012 14:47:02 +0000 (14:47 +0000)]
telepathy: Fix weak notification of TpContacts

By the time our weak notification callback was called, the TpContact’s
handle had been set to 0, which mucked things up for us.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667535

12 years agotelepathy: Keep Tpf.PersonaStore.personas up to date for cached stores
Philip Withnall [Fri, 6 Jan 2012 23:08:10 +0000 (23:08 +0000)]
telepathy: Keep Tpf.PersonaStore.personas up to date for cached stores

When loading a Tpf.PersonaStore from its cache, ensure Personas are inserted
into both the set of personas _and_ the map of IIDs to personas.

This fixes Tpf.PersonaStore.personas being empty for cached stores.

Helps: https://bugzilla.gnome.org/show_bug.cgi?id=667410

12 years agoBug 667410 — A second aggregator instance only fetches a subset of contacts
Philip Withnall [Fri, 6 Jan 2012 23:05:05 +0000 (23:05 +0000)]
Bug 667410 — A second aggregator instance only fetches a subset of contacts

This was happening because the initial BackendStore was hanging around across
multiple IndividualAggregator instances, keeping all the Backends,
PersonaStores and Personas alive.

The IndividualAggregator didn’t have code to deal with pre-prepared Backends
and PersonaStores, meaning it never realised the Personas existed (because
they weren’t announced via personas-changed signals), and thus never created
Individuals out of them.

This commit fixes the problem by having IndividualAggregator check for
existing Backends, PersonaStores and Personas when prepare() is called.

It also adds a test case to the folks test suite, based on the one written
by Guillaume in bgo#667410.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667410

12 years agoeds: Mark a few more contact fields as being handled
Philip Withnall [Mon, 9 Jan 2012 11:16:09 +0000 (11:16 +0000)]
eds: Mark a few more contact fields as being handled

This should prevent a few debug messages about unhandled fields.

12 years agocore: Set G_MESSAGES_DEBUG when parsing debug domains
Philip Withnall [Mon, 9 Jan 2012 10:55:02 +0000 (10:55 +0000)]
core: Set G_MESSAGES_DEBUG when parsing debug domains

This stops GLib from dropping all our debug output (unless the user has
remembered to set G_MESSAGES_DEBUG manually in addition to FOLKS_DEBUG).

12 years agobuild: Add folks-internal files to MAINTAINERCLEANFILES etc.
Philip Withnall [Mon, 9 Jan 2012 10:12:30 +0000 (10:12 +0000)]
build: Add folks-internal files to MAINTAINERCLEANFILES etc.

12 years agodocs: Add NEWS for the previous two commits
Philip Withnall [Sun, 8 Jan 2012 23:43:29 +0000 (23:43 +0000)]
docs: Add NEWS for the previous two commits

12 years agobuild: Add lcov make targets from telepathy-glib
Philip Withnall [Sun, 8 Jan 2012 23:16:14 +0000 (23:16 +0000)]
build: Add lcov make targets from telepathy-glib

Add lcov.mk, copied from telepathy-glib:
http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/tools/lcov.am
with the tp-glib–specific bits removed.

These targets are only useful if folks is compiled with
--enable-code-coverage.

To run the test suite and generate a report, run `make lcov-check`. To just
generate a report without running the test suite, run `make lcov-report`.

The .info file and generated report are only deleted by
`make maintainer-clean`, since the developer might want to refer to them
across other cleans.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=659610

12 years agoBug 657063 — Allow to pass a command to folks-inspect
Philip Withnall [Sun, 8 Jan 2012 21:31:04 +0000 (21:31 +0000)]
Bug 657063 — Allow to pass a command to folks-inspect

Add a non-interactive mode to folks-inspect which executes the command
given on the command line synchronously, and then exits.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=657063

12 years agoinspect: Set up locale in main()
Philip Withnall [Sun, 8 Jan 2012 19:51:25 +0000 (19:51 +0000)]
inspect: Set up locale in main()

12 years agotests: Add a quiescence test for the Telepathy backend
Philip Withnall [Sun, 8 Jan 2012 19:19:03 +0000 (19:19 +0000)]
tests: Add a quiescence test for the Telepathy backend

This just checks that an aggregator with a single Tpf.PersonaStore reaches
quiescence in a reasonable time.

12 years agotests: Add a fake-tp-backend program in the Telepathy tests
Philip Withnall [Sun, 8 Jan 2012 17:02:40 +0000 (17:02 +0000)]
tests: Add a fake-tp-backend program in the Telepathy tests

This is not an automated test, and is intended to be run manually on a D-Bus
bus specified using the DBUS_SESSION_BUS_ADDRESS environment variable,
together with a client program (for example, a test program) to be run against
it.

12 years agobuild: Add an --enable-code-coverage configure parameter
Philip Withnall [Sun, 8 Jan 2012 15:58:16 +0000 (15:58 +0000)]
build: Add an --enable-code-coverage configure parameter

When building with code coverage enabled, -fprofile-arcs and -ftest-coverage
will be passed to gcc during compilation, and -lgcov will be passed during
linking.

Code coverage is disabled by default for the core of folks, since it has to
turn off valac’s ‘-g’ option to output #line directives in the generated C
code. This is necessary because lcov gets confused by execution passing
between .vala and .c files. More useful results can be obtained by just
looking at the code coverage of the .c files and ignoring the boilerplate
in them.

(More specifically, lcov reports on .vala files aren’t especially useful
because they erroneously mark many lines as being executed which actually
weren’t. This happens because one Vala line may be compiled into several
lines of C, some of which will be executed unconditionally even if the Vala
line itself isn’t executed. This will fool lcov into thinking the Vala line
was actually executed.)

Code coverage is automatically turned off when making a release.

12 years agobuild: Tidy up use of AM_* variables in Makefile.ams
Philip Withnall [Sun, 8 Jan 2012 15:50:02 +0000 (15:50 +0000)]
build: Tidy up use of AM_* variables in Makefile.ams

12 years agoeds: Cope with opening buggy EDS address book backends
Philip Withnall [Fri, 6 Jan 2012 23:01:12 +0000 (23:01 +0000)]
eds: Cope with opening buggy EDS address book backends

Turns out that almost as soon as I’d pushed the previous commit, one of my
address books proved me wrong and returned successfully from the async open()
call without being open (according to is_opened()) afterwards. Bother.

This replaces the assertion that the above holds with some code which will
throw an error instead, which should be a bit more robust in the case of
buggy EDS address books.

12 years agoeds: Handle BUSY errors when opening address books better
Philip Withnall [Fri, 6 Jan 2012 18:29:21 +0000 (18:29 +0000)]
eds: Handle BUSY errors when opening address books better

If another process is in the middle of opening an address book when we come
to try and open it, our open() call will return immediately with a BUSY
error.

In this case, we need to wait for the EClient::opened signal to know when
the open operation has finished.

Hopefully, this will fix those irritating ‘blah is busy’ errors I frequently
get when running the EDS backend test suite. Hopefully it also won’t
introduce too many other problems.

12 years agotests: Fix the EDS link-personas-diff-stores test
Philip Withnall [Fri, 6 Jan 2012 14:37:28 +0000 (14:37 +0000)]
tests: Fix the EDS link-personas-diff-stores test

Due to the tightening up of checks for PersonaStores being prepared before
PersonaStore.add_persona_from_details() is called, this test was failing
because it didn’t wait for its persona stores to get prepared.

This fixes the problem by waiting for quiescence before launching into the
test code proper.