Philip Withnall [Wed, 21 Dec 2011 20:08:32 +0000 (20:08 +0000)]
eds: Ignore empty values when creating AbstractFieldDetails instances
We don't want to be passing around (e.g.) empty strings as e-mail addresses,
or we'll cause bugs like bgo#666540.
This modifies the EDS backend to check E.VCardAttribute.get_value() is not
null or the empty string whenever it's called, and skip the attribute as
appropriate.
Helps: bgo#666540
Philip Withnall [Wed, 21 Dec 2011 17:53:04 +0000 (17:53 +0000)]
Bug 666528 — Can't convert from type 'GFile' to 'gchararray'
Add pretty-printing support for a couple of new properties to folks-inspect.
Closes: bgo#666528
Philip Withnall [Wed, 21 Dec 2011 17:52:05 +0000 (17:52 +0000)]
inspect: Fix use of a deprecated NoteFieldDetails property
Henrique P. Machado [Mon, 19 Dec 2011 17:27:01 +0000 (15:27 -0200)]
Added Brazilian Portuguese translation
Kjartan Maraas [Mon, 19 Dec 2011 08:27:57 +0000 (09:27 +0100)]
Add nb
Kjartan Maraas [Mon, 19 Dec 2011 08:27:51 +0000 (09:27 +0100)]
Added Norwegian bokmål translation
Kjartan Maraas [Tue, 29 Mar 2011 12:50:16 +0000 (14:50 +0200)]
Add missing #include <config.h> to make translations work
Philip Withnall [Thu, 15 Dec 2011 18:33:26 +0000 (18:33 +0000)]
Bug 666310 — Crash in Tracker backend by unsetting an entry in a read-only…
Closes: bgo#666310
Travis Reitter [Wed, 14 Dec 2011 00:51:15 +0000 (16:51 -0800)]
Post-release version bump.
Travis Reitter [Tue, 13 Dec 2011 23:37:23 +0000 (15:37 -0800)]
Release version 0.6.6
Philip Withnall [Tue, 6 Dec 2011 15:39:25 +0000 (15:39 +0000)]
Bug 665376 — Add API to get a TpfPersona from a TpContact
Add static functions to quickly look up Tpf.PersonaStores and Tpf.Personas
from Tp.Accounts and Tp.Contacts (respectively).
Closes: bgo#665376
Philip Withnall [Tue, 6 Dec 2011 23:09:14 +0000 (23:09 +0000)]
Bug 665692 — Use constructors correctly
In order to allow libfolks to be used from introspected languages (such as
Python) properly, we need to correctly use the GObject construction process,
rather than generating code which does all object initialisation inside
a *_new() function. This involves moving lots of code into construct{} blocks.
There are some complications; mostly the need for various private variables to
now be exposed as construct-only properties. Most of them should've been
anyway.
Other complications arose from the fact that moving code to a construct{}
block can subtly change the execution order of the code if the Object() call
lists properties which are non-construct properties (e.g. the “alias” property
of a Persona). The setters for these properties will now be called _after_ the
construct{} code, whereas previously they would've been called beforehand.
This rears its head in Tpf.Persona, but hopefully nowhere else.
Closes: bgo#665692
Philip Withnall [Thu, 8 Dec 2011 16:44:51 +0000 (16:44 +0000)]
tests: Add a test case for bgo#665728
Ported from a C test case by Guillaume Desmottes
<guillaume.desmottes@collabora.co.uk>.
See: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 16:21:45 +0000 (16:21 +0000)]
backends: Tidy up prepare() and unprepare() methods’ mutual exclusion
As discovered in bgo#665728, all our prepare() (and unprepare()) methods are
currently vulnerable to being run multiple times concurrently from a single
thread. Add a _pending_prepare flag to all of them to prevent this. It
doesn't need to be locked, since it should only ever be accessed from a
single thread (since only a single thread can get through the lock{}
recursive mutex at once).
Helps: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 14:54:29 +0000 (14:54 +0000)]
Bug 665728 — prepare() isn't mutually exclusive inside a single thread
Fix Tpf.PersonaStore.prepare() to only run once, even if it's called multiple
times from the same thread (e.g. if the caller wasn't yielding on the async
call returning).
Closes: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 14:52:33 +0000 (14:52 +0000)]
telepathy: Improve debugging messages in Tpf.PersonaStore
It's a bit hard to differentiate between different instances of
Tpf.PersonaStores at the moment, so let's include their addresses in debug
messages.
Also fix a minor whitespace issue.
Travis Reitter [Fri, 11 Nov 2011 23:42:44 +0000 (15:42 -0800)]
Fix the documented name of individuals_changed_detailed.changes
Philip Withnall [Tue, 6 Dec 2011 14:23:08 +0000 (14:23 +0000)]
Bug 665039 — Crash in folks_backends_sw_backend_add_service
Hold a reference to the Sw.Backend while waiting for a SwClient async call
to finish in prepare().
Similar changes are made in Swf.PersonaStore to avoid potential bugs there.
Closes: bgo#665039
Travis Reitter [Mon, 14 Nov 2011 22:29:21 +0000 (14:29 -0800)]
Ensure NameDetails public strings are non-null as we promise.
Closes: bug#663889 - crash due to NameDetails which fail to guarantee
non-null full-name/nickname
Mario Blättermann [Fri, 18 Nov 2011 16:46:35 +0000 (17:46 +0100)]
[l10n] Updated German translation
Travis Reitter [Tue, 15 Nov 2011 21:43:22 +0000 (13:43 -0800)]
Clear out log handlers when disposing Debug to avoid crashers.
In cases where the IndividualAggregator is destroyed and instantiated
again (as in some of our tests), we could end up calling the Debug
log handlers after destroying the Debug instance (resulting in
g_static_rec_mutex_lock/unlock calls on an invalid freed mutex,
causing a segfault).
Closes: bgo#664158 - Stale log handler can cause segfault when
re-creating Aggregator in a single run
Fran Diéguez [Mon, 14 Nov 2011 09:58:50 +0000 (10:58 +0100)]
Updated Galician translations
Travis Reitter [Fri, 11 Nov 2011 18:37:26 +0000 (10:37 -0800)]
Bump Vala and GObject Introspection requirements.
This bumps them to their first release in their current stable release
series.
This shrinks the gap between builders' build environments and what our
developers build and test with.
Travis Reitter [Fri, 11 Nov 2011 00:45:35 +0000 (16:45 -0800)]
Post-release version bump.
Travis Reitter [Thu, 10 Nov 2011 23:35:30 +0000 (15:35 -0800)]
Release version 0.6.5
Travis Reitter [Thu, 10 Nov 2011 22:51:58 +0000 (14:51 -0800)]
Fix comment syntax to unbreak documentation generation.
Philip Withnall [Wed, 21 Sep 2011 19:37:30 +0000 (20:37 +0100)]
telepathy: Fix finalisation of Tpf.Logger if it hasn't been prepared
Closes: bgo#659585
Travis Reitter [Thu, 3 Nov 2011 21:05:45 +0000 (14:05 -0700)]
Add AbstractFieldDetails.value_type.
This allows generic handling of collections of derived objects of
mixed concrete classes.
Helps: bgo#663798 - Add AbstractFieldDetails.value_type
Matej Urbančič [Thu, 10 Nov 2011 20:26:56 +0000 (21:26 +0100)]
Updated Slovenian translation
Travis Reitter [Thu, 10 Nov 2011 00:34:22 +0000 (16:34 -0800)]
Properly serialize AFD values for the Tp cache.
We were previously writing serialized Telepathy AbstractFieldDetails
values over each other in the final array, which was generally bad
and specifically crashed Gnome Shell.
This affects AFD-derived structures: phone numbers, email addresses,
and URLs.
Closes: bgo#662314 - Gnome-shell restarts if I change my user status to
disconnected/unavailable
Marek Černocký [Sun, 30 Oct 2011 23:29:03 +0000 (00:29 +0100)]
Updated Czech translation
Daniel Mustieles [Sun, 30 Oct 2011 23:04:31 +0000 (00:04 +0100)]
Updated Spanish translation
Travis Reitter [Thu, 27 Oct 2011 00:30:37 +0000 (17:30 -0700)]
Generate the same C code whether the eds backend is enabled or not.
Previously, the configure options used would alter the release tarball.
This would cause problems for anyone building from the shipped C files
(specifically, if they also disabled the eds backend, as the Debian
packagers did).
Closes: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Thu, 27 Oct 2011 23:44:18 +0000 (16:44 -0700)]
Warn if the primary store is not found.
This includes steps for the user to fix the problem.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Fri, 28 Oct 2011 15:08:54 +0000 (08:08 -0700)]
Properly set primary stores for tests to exactly what's used.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Thu, 27 Oct 2011 00:28:56 +0000 (17:28 -0700)]
Expose the details of which backends are enabled to libfolks.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Raul Gutierrez Segales [Wed, 26 Oct 2011 15:16:23 +0000 (16:16 +0100)]
e-d-s: set content type on ContactPhotos
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=662616
Raul Gutierrez Segales [Wed, 26 Oct 2011 14:26:07 +0000 (15:26 +0100)]
e-d-s: load icon regardless of the mime type being available
Also, allow Edsf.MemoryIcon to be instantiated with a null
image type. The notion of the image type not being available
was half there (some comments mentioned the possibility), but
it wasn't contemplated in the constructor and in the instance
variable.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=662770
Travis Reitter [Wed, 26 Oct 2011 19:15:21 +0000 (12:15 -0700)]
docs: Add description for Folks.Utils class.
Travis Reitter [Wed, 26 Oct 2011 18:36:53 +0000 (11:36 -0700)]
docs: Add @since for MaybeBool.
Travis Reitter [Wed, 26 Oct 2011 18:35:06 +0000 (11:35 -0700)]
docs: Add a description block for the new types.
Note, however, that this is obscured in the final docs due to
bgo#662793 (valadoc ignores comment blocks on namespaces).
Travis Reitter [Wed, 26 Oct 2011 18:23:25 +0000 (11:23 -0700)]
docs: Don't build empty docs for libfolks-internal.
Piotr Drąg [Wed, 26 Oct 2011 18:19:02 +0000 (20:19 +0200)]
Updated Polish translation
Travis Reitter [Wed, 26 Oct 2011 16:58:53 +0000 (09:58 -0700)]
docs: Work around a valadoc comment-parsing issue.
Raul Gutierrez Segales [Tue, 25 Oct 2011 16:18:41 +0000 (17:18 +0100)]
e-d-s: test setting is-favourite property
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Raul Gutierrez Segales [Tue, 25 Oct 2011 16:09:01 +0000 (17:09 +0100)]
e-d-s: extend add-persona test to check for is-favourite
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Raul Gutierrez Segales [Tue, 25 Oct 2011 15:49:14 +0000 (16:49 +0100)]
e-d-s: add favourites support to EDS backend
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Philip Withnall [Mon, 24 Oct 2011 19:20:00 +0000 (20:20 +0100)]
core: Add extra debug for primary store configuration
Travis Reitter [Fri, 21 Oct 2011 23:05:30 +0000 (16:05 -0700)]
Simplify NoteFieldDetails.equal()
Travis Reitter [Fri, 21 Oct 2011 23:05:16 +0000 (16:05 -0700)]
Simplify PhoneFieldDetails.equal()
Travis Reitter [Fri, 21 Oct 2011 22:54:07 +0000 (15:54 -0700)]
Check the GLib.Type of both elements for AbstractFieldDetails.equal()
This simplifies the code for overridden equal() functions.
Travis Reitter [Fri, 21 Oct 2011 16:37:26 +0000 (09:37 -0700)]
Add AbstractFieldDetails.values_equal().
This function is lets subclasses to provide "smart" value comparisons
without needing to factor in the parameters. This is particularly
important for uses like PotententialMatches.
This clarifies the roles of AbstractFieldDetails.equal() and
parameters_equal() (both in form and documentation).
Closes: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 15:17:41 +0000 (08:17 -0700)]
Migrate PhoneDetails to using AbstractFieldDetails.id
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:24:14 +0000 (10:24 -0700)]
Migrate RoleDetails to AbstractFieldDetails.id
Deprecate Role.uid in favor of AbstractFieldDetails.id
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 00:11:45 +0000 (17:11 -0700)]
Guarantee all Role members are non-null.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:23:51 +0000 (10:23 -0700)]
Migrate NoteDetails to AbstractFieldDetails.id
Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 17:11:55 +0000 (10:11 -0700)]
Guarantee all NoteFieldDetails members are non-null.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:24:40 +0000 (10:24 -0700)]
Use the most-parent equal() function when comparing postal addresses.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:23:08 +0000 (10:23 -0700)]
Migrate PostalAddressDetails to using AbstractFieldDetails.id
Deprecate PostalAddress.uid in favor of AbstractFieldDetails.id
PostalAddress.equal() now ignores PostalAddress.uid
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:19:28 +0000 (10:19 -0700)]
Add AbstractFieldDetails.id to identify instances of details.
This will unify the way we handle IDs for the various classes that
derive from AbstractFieldDetails for eccentric data stores (I'm
looking at you, Tracker).
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 05:42:51 +0000 (22:42 -0700)]
Only add non-empty Role components to Edsf.Personas.
The EDS test "set-roles" was failing because some empty parameters were
getting added to Edsf.Personas, thus failing parameter equality checks.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 05:50:15 +0000 (22:50 -0700)]
Properly set the parameters for the eds/set-phones test
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 02:45:29 +0000 (19:45 -0700)]
Fix eds test add-persona for param matching
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 02:30:33 +0000 (19:30 -0700)]
Fix the params used for the postal-address-details eds test
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Wed, 19 Oct 2011 21:18:23 +0000 (14:18 -0700)]
Always include parameters in AFD-derived subclass equal() functions.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Wed, 19 Oct 2011 22:48:28 +0000 (15:48 -0700)]
Factor out AFD parameter equality (for use in derived classes)
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Wed, 19 Oct 2011 21:23:41 +0000 (14:23 -0700)]
Fix the signature of RoleFieldDetails.equal()
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Wed, 19 Oct 2011 22:30:40 +0000 (15:30 -0700)]
Add test for RoleFieldDetails.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:13:35 +0000 (10:13 -0700)]
Fix trivial spacing issues.
Alexander Larsson [Thu, 20 Oct 2011 11:58:01 +0000 (13:58 +0200)]
Correctly update email based im addresses during contact changes
When we have already read a contact, but are updating it e.g. due
to a property change there is a problem in
Edsf.Persons._update_im_addressess(). Its looking at the existing
personas im_addresses for already existing im addresses before adding
new ones. However, they were already added there based on the email
addresses last time, which means we don't add them now.
The fix is simple, just look in new_im_addressess for existing
im_addresses.
https://bugzilla.gnome.org/show_bug.cgi?id=662285
Travis Reitter [Tue, 18 Oct 2011 17:51:55 +0000 (10:51 -0700)]
Post-release version bump.
Travis Reitter [Tue, 18 Oct 2011 17:20:56 +0000 (10:20 -0700)]
Release version 0.6.4.1
Travis Reitter [Tue, 18 Oct 2011 17:00:35 +0000 (10:00 -0700)]
Fix the SONAME.
We accidentally decreased the SONAME with the 0.6.4 release, so this
adjusts the various easy-to-understand/impossible-to-confuse libtool
numbers.
Closes: bgo#662095
Travis Reitter [Tue, 18 Oct 2011 17:04:30 +0000 (10:04 -0700)]
Marginally clarify our comments for the lt numbers.
This should help us avoid mangling them in the future.
Don't quote me on that.
Travis Reitter [Tue, 18 Oct 2011 04:43:40 +0000 (21:43 -0700)]
Post-release version bump.
Travis Reitter [Mon, 17 Oct 2011 18:54:47 +0000 (11:54 -0700)]
Release version 0.6.4
Travis Reitter [Tue, 18 Oct 2011 03:56:59 +0000 (20:56 -0700)]
build: Fix explicit build dependency to un-break vala-free builds.
Travis Reitter [Tue, 18 Oct 2011 00:24:47 +0000 (17:24 -0700)]
build: Distribute test-dependent makefiles.
This is mainly to enable running "make foo.gdb" from the source
distribution.
Travis Reitter [Mon, 17 Oct 2011 23:45:34 +0000 (16:45 -0700)]
build: Include internal folks library for valadoc parsing issues
Obviously, these symbols shouldn't be documented externally, but since
valadoc uses libvala internal, it requires the ability to resolve them
(even if they won't be exposed in the finals docs).
Travis Reitter [Mon, 17 Oct 2011 23:35:51 +0000 (16:35 -0700)]
build: Require valac if libfolks-internal files are missing.
Travis Reitter [Mon, 17 Oct 2011 23:15:49 +0000 (16:15 -0700)]
build: Fix the libfolks path to libfolks-internal.la
Travis Reitter [Mon, 17 Oct 2011 19:24:07 +0000 (12:24 -0700)]
build: Fix test ObjectCache for internal API breaks.
Philip Withnall [Sun, 16 Oct 2011 08:24:57 +0000 (09:24 +0100)]
telepathy: Add support for caching vCard parameters for contacts
Add birthday, full name, e-mail address, phone number and URL support to the
Telepathy object cache so that contacts’ vCards are correctly stored when
the cache is updated.
Closes: bgo#661475
Philip Withnall [Sun, 16 Oct 2011 08:23:29 +0000 (09:23 +0100)]
core: Add support for object version migration in object cache files
Add the ability for the variant type used in object cache files to vary with
the cache file version, and for object cache implementations to claim they
don't support given versions.
Helps: bgo#661475
Philip Withnall [Sun, 16 Oct 2011 08:19:29 +0000 (09:19 +0100)]
telepathy: Fix mixed-assignments-and-declarations warning in test library
Matej Urbančič [Mon, 17 Oct 2011 13:14:48 +0000 (15:14 +0200)]
Updated Slovenian translation
Piotr Drąg [Fri, 14 Oct 2011 13:27:13 +0000 (15:27 +0200)]
Updated Polish translation
Daniel Mustieles [Fri, 14 Oct 2011 11:59:36 +0000 (13:59 +0200)]
Updated Spanish translation
Daniel Mustieles [Fri, 14 Oct 2011 11:58:44 +0000 (13:58 +0200)]
Updated Spanish translation
Travis Reitter [Thu, 13 Oct 2011 17:48:51 +0000 (10:48 -0700)]
Clarify in configure output that we require 0.6 <= gee <= 0.8.
Closes: bgo#660937 - [regression] build failure: No package 'gee-1.0' found
Travis Reitter [Tue, 11 Oct 2011 21:46:34 +0000 (14:46 -0700)]
Fix our birthday string parsing for Telepathy backend.
Travis Reitter [Mon, 10 Oct 2011 17:54:58 +0000 (10:54 -0700)]
Don't prepare the Telepathy Connection until it's guaranteed to exist.
Travis Reitter [Mon, 10 Oct 2011 18:07:01 +0000 (11:07 -0700)]
Distinguish Telepathy errors with new UNSUPPORTED_ON_NON_USER
Travis Reitter [Mon, 10 Oct 2011 02:11:07 +0000 (19:11 -0700)]
Support Birthdays for the Telepathy backend.
Travis Reitter [Sun, 9 Oct 2011 23:39:52 +0000 (16:39 -0700)]
Support UrlDetails for the Telepathy backend.
Travis Reitter [Fri, 7 Oct 2011 20:39:03 +0000 (13:39 -0700)]
Support EmailDetails for the Telepathy backend.
Travis Reitter [Fri, 7 Oct 2011 18:26:30 +0000 (11:26 -0700)]
Split utility functions into an internal library.
This lets us avoid stuffing them into unrelated public libraries.
Travis Reitter [Thu, 6 Oct 2011 22:46:22 +0000 (15:46 -0700)]
Memoize the ContactInfo SupportedFields values.
Travis Reitter [Thu, 6 Oct 2011 18:37:59 +0000 (11:37 -0700)]
Factor in server-side writeability of ContactInfo fields.
Travis Reitter [Thu, 6 Oct 2011 22:00:46 +0000 (15:00 -0700)]
Include required Telepathy Connection ContactInfo features.
These are required to look up the connection's ContactInfoFlags.Can_Set
and SupportedFields. We need both to determine which ContactInfo fields
are writeable (for Tpf.Persona.writeable_properties).