Philip Withnall [Fri, 10 Sep 2010 10:30:28 +0000 (11:30 +0100)]
Move tools/manager-file.py to tests/tools/manager-file.py
It belongs with the test tools, since it's only useful for the Telepathy test
rig.
Philip Withnall [Fri, 10 Sep 2010 10:28:49 +0000 (11:28 +0100)]
Add mkinstalldirs to MAINTAINERCLEANFILES
Philip Withnall [Fri, 10 Sep 2010 10:15:12 +0000 (11:15 +0100)]
Install folks.vapi and folks-telepathy.vapi
Philip Withnall [Fri, 10 Sep 2010 10:10:52 +0000 (11:10 +0100)]
Use session.conf from the builddir to fix builddir != srcdir
Philip Withnall [Fri, 10 Sep 2010 10:08:33 +0000 (11:08 +0100)]
Ensure tests/tools/with-session-bus.sh is distributed
Philip Withnall [Fri, 10 Sep 2010 10:02:02 +0000 (11:02 +0100)]
Correct use of CPPFLAGS/CFLAGS in backend Makefile.ams
Philip Withnall [Fri, 10 Sep 2010 10:00:52 +0000 (11:00 +0100)]
Port the backend Makefile.ams to use automake-1.11's Vala support
Philip Withnall [Fri, 10 Sep 2010 10:00:44 +0000 (11:00 +0100)]
Remove an unused variable from docs/Makefile.am
Philip Withnall [Thu, 9 Sep 2010 18:13:38 +0000 (19:13 +0100)]
Fix configure.ac indentation and layout
Philip Withnall [Thu, 9 Sep 2010 17:58:16 +0000 (18:58 +0100)]
Remove unnecessary AC_SUBST calls
PKG_CHECK_MODULES does AC_SUBST for us.
Philip Withnall [Thu, 9 Sep 2010 17:51:14 +0000 (18:51 +0100)]
Use the M4Sugar conditional statements instead of plain m4 ones
Philip Withnall [Thu, 9 Sep 2010 17:42:40 +0000 (18:42 +0100)]
Fix m4 quoting in configure.ac
(I think.)
Philip Withnall [Thu, 9 Sep 2010 17:19:52 +0000 (18:19 +0100)]
Don't use dnl for comments in configure.ac
It's not strictly intended to be used for commenting; more for obliterating
macro output when redefining things. '#' is for comments.
Philip Withnall [Thu, 8 Jul 2010 17:55:34 +0000 (18:55 +0100)]
Add a test of an individual's properties
Philip Withnall [Thu, 10 Jun 2010 14:19:50 +0000 (07:19 -0700)]
Add the framework for a test suite
Add the framework for a test suite for the Telepathy backend, including
a dummy account manager, account and connection, to allow complete control
over the personas created in libfolks.
This comes with a test case framework which wraps the GLib test framework,
used by a test case which tests that all expected individuals are exposed by
the individual aggregator.
Heavily based on work by Travis Reitter <travis.reitter@collabora.co.uk>.
Philip Withnall [Wed, 1 Sep 2010 15:38:15 +0000 (16:38 +0100)]
Post-release version bump and non-release indicator
Philip Withnall [Wed, 1 Sep 2010 15:36:26 +0000 (16:36 +0100)]
Release version 0.1.16
Philip Withnall [Tue, 31 Aug 2010 16:57:25 +0000 (17:57 +0100)]
Bug 628343 — Add an environment variable to disable linking
Add a FOLKS_DISABLE_LINKING environment variable which, when set, completely
disables linking (both aggregation and the explicit linking and unlinking of
Personas). Closes: bgo#628343
Philip Withnall [Tue, 31 Aug 2010 15:31:56 +0000 (16:31 +0100)]
Don't set Individual.is-favourite when updating from Personas
Set the private Individual._is_favourite member instead, to prevent the new
favourite status from being pushed down to all the Personas and stomping all
over their favourite statuses. See also: bgo#628131
Philip Withnall [Tue, 31 Aug 2010 13:59:37 +0000 (14:59 +0100)]
Depend on libgee < 0.7 instead
libgee 0.7 breaks API but they branched for the 0.5/0.6 series beforehand,
so 0.5.3 and 0.6 will not break API. See bgo#627746
Travis Reitter [Tue, 24 Aug 2010 23:55:53 +0000 (16:55 -0700)]
Clear the stored list if it's invalidated.
Philip Withnall [Mon, 30 Aug 2010 15:46:12 +0000 (16:46 +0100)]
Don't set Individual.alias when updating the alias from Personas
Set the private Individual._alias member instead, to prevent the changed
alias (which could be a fallback display ID or similar) from being pushed
down to all the Personas and stomping all over their aliases.
Helps: bgo#628131
Philip Withnall [Mon, 30 Aug 2010 15:43:36 +0000 (16:43 +0100)]
Refactor Individual.update_alias() to give a single notification path
Philip Withnall [Mon, 30 Aug 2010 10:50:58 +0000 (11:50 +0100)]
Ensure untrusted Personas' Individuals are signalled as removed
When a Persona from an untrusted PersonaStore (such as link-local XMPP) was
removed, the Individual which contained (only) that Persona was not being
signalled as removed, causing link-local XMPP contacts to (for example) remain
in Empathy's contact list even after going offline. Closes: bgo#628305
Philip Withnall [Mon, 30 Aug 2010 10:22:13 +0000 (11:22 +0100)]
Mark two strings as unowned to prevent unnecessary string copies
Philip Withnall [Mon, 30 Aug 2010 16:38:09 +0000 (17:38 +0100)]
Ensure existing Kf.Personas aren't overwritten when choosing new group names
If a key file contained several groups which weren't contiguously numbered on
startup, IDs for new groups would start from the first unused ID, and continue
happily into the next block of IDs which were already in use. This patch
ensures that if an ID is already in use, it won't be again for a new
Kf.Persona. Closes: bgo#628294
Philip Withnall [Mon, 30 Aug 2010 16:24:49 +0000 (17:24 +0100)]
Add extra debug messages to the key-file backend
Philip Withnall [Mon, 30 Aug 2010 14:49:17 +0000 (15:49 +0100)]
Work around a Vala bug generating bad C for a lambda function inside a loop
Helps: bgo#628335
Philip Withnall [Mon, 30 Aug 2010 13:23:25 +0000 (14:23 +0100)]
Output more debugging information when linking
Philip Withnall [Mon, 30 Aug 2010 09:22:20 +0000 (10:22 +0100)]
Remove unused declaration from tp-lowlevel.h
It was causing g-ir-scanner to fail when building packages.
Travis Reitter [Fri, 27 Aug 2010 22:21:05 +0000 (15:21 -0700)]
tp-lowlevel doesn't actually depend upon the Gee introspection file
Philip Withnall [Fri, 27 Aug 2010 12:35:26 +0000 (13:35 +0100)]
Block notification of Persona.is-favourite when changing it on the Individual
This fixes changing the favourite status of an Individual containing more than
one Persona, since previously the change wouldn't be applied. This is because
the change would be bubbled down to the first Persona, which would then
notify of the change to its is-individual property, causing the Individual's
is-favourite property to be re-calculated incorrectly, since the favourite
status of the _other_ Personas hadn't yet been changed. Closes: bgo#628108
Philip Withnall [Fri, 27 Aug 2010 12:28:15 +0000 (13:28 +0100)]
Add debugging to favourite status in Folks.Individual
Philip Withnall [Fri, 27 Aug 2010 10:37:40 +0000 (11:37 +0100)]
Post-release version bump and non-release indicator
Philip Withnall [Fri, 27 Aug 2010 10:18:26 +0000 (11:18 +0100)]
Release version 0.1.15
Philip Withnall [Fri, 27 Aug 2010 10:11:53 +0000 (11:11 +0100)]
Remove outdated telepathy-check.vala from EXTRA_DIST
Philip Withnall [Fri, 27 Aug 2010 10:02:26 +0000 (11:02 +0100)]
Fix symbol version numbers
I got mixed up between pre- and post-release incrementing.
Philip Withnall [Thu, 26 Aug 2010 21:27:02 +0000 (22:27 +0100)]
Don't use deprecated Gee.Map.remove() method
Philip Withnall [Thu, 26 Aug 2010 13:44:10 +0000 (14:44 +0100)]
Add checks for memset() and strstr()
According to `autoscan`, these are used by some of the generated C code, and
should be checked for at configure time.
Philip Withnall [Thu, 26 Aug 2010 13:33:38 +0000 (14:33 +0100)]
Tidy up configure.ac
This is just the result of running `autoupdate` on configure.ac, plus the
addition of two extra options to AC_INIT, specifying the tarball name and
project homepage.
Philip Withnall [Thu, 26 Aug 2010 11:37:15 +0000 (12:37 +0100)]
Move the folks-telepathy library to a "lib" subdir of backends/telepathy
This solves the ordering problem between building folks-telepathy.la and
folks-backend-telepathy.la, where the latter depends on the former, under
parallel installation. See
http://old.nabble.com/relinking-error-td27796838.html for an explanation of
why adding DEPENDENCIES doesn't work.
This fixes parallel installation of libfolks. Closes: bgo#627898
Philip Withnall [Thu, 26 Aug 2010 13:23:33 +0000 (14:23 +0100)]
Don't use BUILT_SOURCES in makefiles
It messes around with the order of building things, which can cause problems
when building subdirectories which are dependencies of the current directory.
We didn't actually need it anyway, since all the files mentioned in
BUILT_SOURCES were pulled in as dependencies of other build targets.
Philip Withnall [Wed, 25 Aug 2010 17:10:36 +0000 (18:10 +0100)]
Push favourite changes to all Personas unconditionally
Since the changes are only pushed down to Personas if the favourite status
has changed, they have to be pushed down to every Persona anyway (or the
aggregated favourite status wouldn't change).
Philip Withnall [Wed, 25 Aug 2010 17:08:35 +0000 (18:08 +0100)]
Write alias changes to every Persona if there are no writeable Personas
This is necessary for singleton Individuals which only contain a Tpf.Persona.
Philip Withnall [Wed, 25 Aug 2010 16:02:53 +0000 (17:02 +0100)]
Don't unnecessarily push group changes down to Personas
The Individual.change_group() method should only be called in response to
user interaction, as it pushes the group change down to all the Individual's
Personas.
Philip Withnall [Wed, 25 Aug 2010 15:55:06 +0000 (16:55 +0100)]
Don't listen to notify::groups in Individual
We listen to the group_changed signal instead.
Philip Withnall [Wed, 25 Aug 2010 15:54:10 +0000 (16:54 +0100)]
Fix groups signal emissions in Tpf.Persona
Philip Withnall [Wed, 25 Aug 2010 15:45:49 +0000 (16:45 +0100)]
Add a missing yield to make group changes async in the telepathy backend
Philip Withnall [Wed, 25 Aug 2010 15:33:28 +0000 (16:33 +0100)]
Use the alias from a writeable Persona in preference to other aliases
The writeable Persona's alias, if non-empty, is the one which has been set
by the user, so should be the preference.
Philip Withnall [Wed, 25 Aug 2010 15:22:37 +0000 (16:22 +0100)]
Add alias support to the key-file backend
To store user-set aliases for Individuals. Helps: bgo#627508
Philip Withnall [Wed, 25 Aug 2010 15:01:11 +0000 (16:01 +0100)]
Fall back to using a display ID if no Personas have an alias
This is prettier than falling back to a UID. Closes: bgo#626410
Philip Withnall [Wed, 25 Aug 2010 14:58:02 +0000 (15:58 +0100)]
Fall back to the display ID for TpfPersonas with empty aliases
Philip Withnall [Thu, 19 Aug 2010 13:59:38 +0000 (14:59 +0100)]
Bug 626578 — Use vala's vala.m4 to check for telepathy-glib(.vapi)
Philip Withnall [Wed, 25 Aug 2010 18:00:37 +0000 (19:00 +0100)]
Bug 627968 — Add Individual.trust_level property
Add a property to indicate how far the Individual should be trusted. This
is NONE if any of the Individual's Personas come from a non-trusted
PersonaStore. Closes: bgo#627968
Philip Withnall [Thu, 19 Aug 2010 16:59:27 +0000 (17:59 +0100)]
Only keep one reference to each Persona in an Individual
Philip Withnall [Thu, 19 Aug 2010 16:55:02 +0000 (17:55 +0100)]
Bug 626725 — Add an Individual.personas_changed signal
Add a personas_changed signal, allowing client code to do various things
with the lists of added and removed Personas, instead of having to determine
which Personas were added or removed themselves. Closes: bgo#626725
Philip Withnall [Thu, 19 Aug 2010 15:17:08 +0000 (16:17 +0100)]
Store a set of Personas inside each Individual for speed of lookup
Store a set of all the Personas in the Individual, rather than
compartmentalised sets of the Personas from each PersonaStore. With the
set of Personas kept in sync with the list of Personas, this allows both
fast lookup and iteration.
Travis Reitter [Mon, 23 Aug 2010 20:07:30 +0000 (13:07 -0700)]
Fix the calculation for the persona_store_id length in Persona.split_uid().
Philip Withnall [Mon, 23 Aug 2010 16:59:58 +0000 (17:59 +0100)]
Depend on libgee <= 0.5.2
libgee 0.5.3 breaks API. See bgo#627746
Travis Reitter [Fri, 20 Aug 2010 18:15:52 +0000 (11:15 -0700)]
Make gobject-introspection a hard requirement.
Fixes bgo#627506
Travis Reitter [Fri, 20 Aug 2010 15:37:04 +0000 (08:37 -0700)]
Clean up the variable naming for parallel data structures.
Philip Withnall [Fri, 20 Aug 2010 11:22:13 +0000 (12:22 +0100)]
Ensure duplicate Individuals don't enter candidate_inds when aggregating
If Individuals matched on more than one property, they would appear in the
list of candidate Individuals multiple times, causing the resulting linked
Individual to contain duplicate Personas and Bad Things to happen.
Helps: bgo#626544
Philip Withnall [Fri, 20 Aug 2010 10:53:18 +0000 (11:53 +0100)]
Ensure the IMable.im_addresses property does not contain duplicates
This can cause Personas to appear multiple times in a linked Individual,
leading to bad state. Helps: bgo#626544
Maciej Piechotka [Wed, 18 Aug 2010 22:24:05 +0000 (00:24 +0200)]
Bug 627314 — folks cannot be install in gentoo sandbox
Correct a problem in the Telepathy backend's LDADD. Closes: bgo#627314
Travis Reitter [Thu, 19 Aug 2010 01:27:10 +0000 (18:27 -0700)]
Bundle introspection.m4, because ...autotools.
Travis Reitter [Wed, 18 Aug 2010 19:15:45 +0000 (12:15 -0700)]
Check whether the Persona instance is IMable, not the class.
Travis Reitter [Wed, 18 Aug 2010 16:31:04 +0000 (09:31 -0700)]
Post-release version bump and non-release indicator
Travis Reitter [Wed, 18 Aug 2010 16:15:20 +0000 (09:15 -0700)]
Release version 0.1.14.1
Travis Reitter [Wed, 18 Aug 2010 16:11:34 +0000 (09:11 -0700)]
Make the 'Group invalidated' warning a debug statement.
This seems to only be printed when signing off of some accounts, so it doesn't
deserve to be a warning.
Travis Reitter [Wed, 18 Aug 2010 14:57:59 +0000 (07:57 -0700)]
Depend upon a released version of Vala.
Travis Reitter [Wed, 18 Aug 2010 05:18:57 +0000 (22:18 -0700)]
Bump Vala version requirement to where it should be
The move of tp-lowlevel to gobject-introspection requires this version of Vala.
I forgot to bump this in time for that commit.
Travis Reitter [Wed, 18 Aug 2010 04:28:02 +0000 (21:28 -0700)]
Post-release version bump and non-release indicator
Travis Reitter [Wed, 18 Aug 2010 03:55:18 +0000 (20:55 -0700)]
Release version 0.1.14
Travis Reitter [Tue, 17 Aug 2010 23:55:48 +0000 (16:55 -0700)]
Fix calls to deprecated Gee.Map.remove()
Travis Reitter [Tue, 17 Aug 2010 23:35:28 +0000 (16:35 -0700)]
Update object ownership in the Telepathy backend for the new tp-lowlevel ownership.
Travis Reitter [Tue, 17 Aug 2010 23:07:07 +0000 (16:07 -0700)]
Don't free the return value of transfer-full TpLowlevel functions.
These transfer return value ownership, so we're asking for a double-free error.
Travis Reitter [Tue, 17 Aug 2010 23:31:07 +0000 (16:31 -0700)]
Build tp-lowlevel via gobject-introspection
Travis Reitter [Tue, 17 Aug 2010 23:34:15 +0000 (16:34 -0700)]
Add gobject-introspection annotations to tp-lowlevel
Philip Withnall [Tue, 17 Aug 2010 14:00:27 +0000 (15:00 +0100)]
Use gen-introspect-0.10 instead of gen-introspect
This is needed because Vala renamed gen-introspect for 0.9.5.
Guillaume Desmottes [Tue, 17 Aug 2010 11:39:27 +0000 (13:39 +0200)]
use debug() when failing to get a contact list channel
Guillaume Desmottes [Tue, 17 Aug 2010 11:35:01 +0000 (13:35 +0200)]
use debug() instead of message()
Travis Reitter [Thu, 12 Aug 2010 17:39:34 +0000 (10:39 -0700)]
Cut dependence on vala-1.0.pc for other programs
Travis Reitter [Thu, 12 Aug 2010 16:35:51 +0000 (09:35 -0700)]
Detect Vala by special automake macro, not .pc file.
The .pc file is meant for internal use only.
Philip Withnall [Wed, 11 Aug 2010 16:11:17 +0000 (17:11 +0100)]
Post-release version bump and non-release indicator
Philip Withnall [Wed, 11 Aug 2010 16:09:14 +0000 (17:09 +0100)]
Release version 0.1.13
Philip Withnall [Wed, 11 Aug 2010 16:08:46 +0000 (17:08 +0100)]
Ensure the telepathy-vala configure check works for builddir != srcdir
Philip Withnall [Tue, 10 Aug 2010 16:03:17 +0000 (17:03 +0100)]
Rework unlinking in the IndividualAggregator
Ensure it causes linked Individuals to be split apart and their Personas
which haven't been removed to be relinked.
Philip Withnall [Tue, 10 Aug 2010 15:59:36 +0000 (16:59 +0100)]
Signal the removal of personas from the Kf.PersonaStore
Philip Withnall [Tue, 10 Aug 2010 15:56:31 +0000 (16:56 +0100)]
Improve the IDs stored in the key file
Instead of storing the full Persona.UID in the key file, only store the
display ID (the number). The IID then becomes the key file filename plus the
display ID, to prevent unwanted linking of Kf.Personas from different key
files.
Philip Withnall [Mon, 9 Aug 2010 16:49:57 +0000 (17:49 +0100)]
Improve the heuristic for choosing an Individual's alias
Change the heuristic to choose the first alias which isn't unset or empty,
and if possible to choose the first alias which isn't equal to the Persona's
display-id. If all the aliases are equal to display-ids, however, use one
of them in preference to having no alias at all.
Philip Withnall [Mon, 9 Aug 2010 16:18:32 +0000 (17:18 +0100)]
Don't synchronise groups between Personas
Philip Withnall [Mon, 9 Aug 2010 16:11:59 +0000 (17:11 +0100)]
Don't synchronise favourite status between Personas
Philip Withnall [Mon, 9 Aug 2010 16:08:43 +0000 (17:08 +0100)]
Don't synchronise alias between Personas
When setting a new alias on an Individual, only push it to Personas from
the writeable PersonaStore. This prevents every other Persona's alias from
being unnecessarily overwritten.
Philip Withnall [Mon, 9 Aug 2010 16:07:28 +0000 (17:07 +0100)]
Add a PersonaStore.is_writeable property
Travis Reitter [Tue, 10 Aug 2010 22:45:16 +0000 (15:45 -0700)]
Update folks-telepathy pkg-config files.
Now they require telepathy-glib, not the obsolete telepathy-vala.
Travis Reitter [Tue, 10 Aug 2010 22:43:57 +0000 (15:43 -0700)]
Update folks pkg-config files.
Now they require telepathy-glib, not the obsolete telepathy-vala.
Travis Reitter [Tue, 10 Aug 2010 22:28:23 +0000 (15:28 -0700)]
Check for telepathy-glib Vala bindings by compilation success, not specific file.
Travis Reitter [Tue, 10 Aug 2010 21:24:41 +0000 (14:24 -0700)]
Arrange configure checks from most- to least-likely to succeed.
Travis Reitter [Fri, 16 Jul 2010 01:33:28 +0000 (18:33 -0700)]
Catch up with the new location for the telepathy-glib.vapi bindings file.
Travis Reitter [Mon, 9 Aug 2010 23:32:10 +0000 (16:32 -0700)]
Don't warn if the 'stored' channel doesn't exist.