Travis Reitter [Tue, 28 Sep 2010 23:23:32 +0000 (16:23 -0700)]
Prefer to use object members directly instead of accessors.
Patch by Patryk Zawadzki.
Travis Reitter [Mon, 27 Sep 2010 19:01:00 +0000 (12:01 -0700)]
Turn on valac warnings for the KeyFile backend.
Travis Reitter [Mon, 27 Sep 2010 18:28:42 +0000 (11:28 -0700)]
Cut unnecessary D-Bus flags for libfolks-backend-telepathy
Travis Reitter [Mon, 27 Sep 2010 18:13:16 +0000 (11:13 -0700)]
Make a distinction between valac and vapigen flags.
Travis Reitter [Mon, 27 Sep 2010 17:24:33 +0000 (10:24 -0700)]
Turn on stronger error checking for the test library.
Travis Reitter [Mon, 27 Sep 2010 17:13:48 +0000 (10:13 -0700)]
Turn on stronger error checking for libtp-lowlevel.
Travis Reitter [Fri, 24 Sep 2010 01:31:46 +0000 (18:31 -0700)]
Fix use of CPP/CFLAGS for the Telepathy backend libraries.
Travis Reitter [Fri, 24 Sep 2010 01:25:04 +0000 (18:25 -0700)]
Re-use existing autoconf code for setting extra maintainer flags.
Travis Reitter [Mon, 6 Sep 2010 20:37:53 +0000 (13:37 -0700)]
Add a test for adding Personas.
Fixes bgo#629008.
Travis Reitter [Wed, 8 Sep 2010 05:47:59 +0000 (22:47 -0700)]
Explicitly reset the aggregator between tests.
Helps bgo#629008.
Travis Reitter [Tue, 7 Sep 2010 23:40:05 +0000 (16:40 -0700)]
Don't deref a null PersonaStore in a failure case.
Helps bgo#629008.
Travis Reitter [Mon, 6 Sep 2010 20:55:40 +0000 (13:55 -0700)]
Prepare the aggregator asynchronously (as clients will)
Helps bgo#629008.
Travis Reitter [Sat, 4 Sep 2010 00:51:31 +0000 (17:51 -0700)]
Re-use the defined protocol prefix for tests.
Helps bgo#629008.
Travis Reitter [Sat, 4 Sep 2010 00:49:20 +0000 (17:49 -0700)]
Centralize the list of expected test Individuals.
Helps bgo#629008.
Travis Reitter [Thu, 9 Sep 2010 16:24:11 +0000 (09:24 -0700)]
Add Backend.is_prepared and make prepare() idempotent.
Fixes bgo#629331.
Travis Reitter [Thu, 9 Sep 2010 16:10:22 +0000 (09:10 -0700)]
Add IndividualAggregator.is_prepared and make prepare() idempotent.
Helps bgo#629331.
Travis Reitter [Thu, 9 Sep 2010 16:07:11 +0000 (09:07 -0700)]
Add PersonaStore.is_prepared and make prepare() idempotent.
Helps bgo#629331.
Travis Reitter [Wed, 8 Sep 2010 23:15:02 +0000 (16:15 -0700)]
Make BackendStore.load_backends() idempotent.
Helps bgo#629331.
Travis Reitter [Tue, 7 Sep 2010 23:11:30 +0000 (16:11 -0700)]
Clean up the behavior of the add_persona_from_details() functions.
This clarifies when an add fails for a temporary reason (eg, the store is
offline) and can be re-attempted.
Fixes bgo#629006.
Travis Reitter [Wed, 15 Sep 2010 15:55:50 +0000 (08:55 -0700)]
Add STORE_OFFLINE error types for temporary failures.
These are temporary/recoverable failures due to the store being offline.
Helps bgo#629006.
Philip Withnall [Tue, 21 Sep 2010 11:36:36 +0000 (12:36 +0100)]
Cache notifications for IndividualAggregator.user during aggregation
Philip Withnall [Tue, 21 Sep 2010 11:28:33 +0000 (12:28 +0100)]
Ensure a given individual isn't marked as added and replaced at the same time
When linking personas with Persona.is_user == true, it's possible for the
final_individuals during the call to add_personas() to be replaced and added
at the same time (i.e. added, then replaced). This breaks things, but can
be fixed by caching the set of added individuals before it's finalised, and
removing replaced individuals from it as we go.
Philip Withnall [Tue, 21 Sep 2010 10:33:40 +0000 (11:33 +0100)]
Bug 629643 — do not fall back to the id if alias is empty
Only use the display ID as a fallback in Individual: in Tpf.Persona, we
should let empty aliases be exposed, so that the client can (if they so
desire) check whether an Individual's alias is a display ID or a real alias.
Closes: bgo#629643
Philip Withnall [Tue, 21 Sep 2010 10:32:22 +0000 (11:32 +0100)]
Fix an assertion error in IndividualAggregator
Due to the order in which the aggregation functions are called, it's possible
for this.user to not be null when a new user is set. Helps: bgo#627402
Philip Withnall [Wed, 15 Sep 2010 16:44:23 +0000 (17:44 +0100)]
Ensure Individuals are added before they're removed
Rearrange the linking process slightly so that we can guarantee that
Individuals won't be signalled as removed (or replaced) before they're
signalled as added. Closes: bgo#629642
Philip Withnall [Tue, 21 Sep 2010 09:26:19 +0000 (10:26 +0100)]
Update NEWS file for recent commits
Philip Withnall [Mon, 23 Aug 2010 16:26:35 +0000 (17:26 +0100)]
Support the Persona.is_user property in the telepathy backend
Closes: bgo#627402
Philip Withnall [Mon, 23 Aug 2010 16:26:18 +0000 (17:26 +0100)]
Support the Persona.is_user property in the key-file backend
Helps: bgo#627402
Philip Withnall [Mon, 6 Sep 2010 12:49:31 +0000 (13:49 +0100)]
Implicitly trust Personas which are marked as being the user
We assume that the backend is in complete control of its user accounts, so
we can fully trust Personas which have Persona.is_user == true.
Helps: bgo#627402
Philip Withnall [Mon, 23 Aug 2010 15:31:49 +0000 (16:31 +0100)]
Add a "user" property to the IndividualAggregator
This contains the Individual representing the user who owns all the relevant
accounts in each backend. This also changes the linking code so that Personas
with is_user == true are always linked, and only ever linked to other Personas
with is_user == true (i.e. Personas are always linked to Personas with like
is_user values). This ensures that there's only ever one Individual with
is_user == true. Helps: bgo#627402
Philip Withnall [Mon, 23 Aug 2010 15:11:08 +0000 (16:11 +0100)]
Add an "is-user" property to Individual and Persona
This is true iff the Individual or Persona is the owner of the relevant
accounts. Helps: bgo#627402
Philip Withnall [Tue, 31 Aug 2010 14:19:31 +0000 (15:19 +0100)]
Use foreach{} rather than .foreach() in IndividualAggregator.link_personas()
Philip Withnall [Wed, 15 Sep 2010 13:08:03 +0000 (14:08 +0100)]
Use the devhelp doclet to build the documentation
Philip Withnall [Wed, 15 Sep 2010 11:19:55 +0000 (12:19 +0100)]
Add missing documentation
Philip Withnall [Wed, 15 Sep 2010 10:45:25 +0000 (11:45 +0100)]
Remove {@inheritDoc} from folks-telepathy documentation
It's not possible to inherit documentation across packages, so we have to
rely on links instead. Helps: bgo#629526
Philip Withnall [Mon, 13 Sep 2010 15:12:00 +0000 (16:12 +0100)]
Split the documentation into folks and folks-telepathy packages
This means that each documentation package is only scanning files from one
directory, opening us up to the possibility of adding gtk-doc support.
Helps: bgo#629526
Philip Withnall [Mon, 13 Sep 2010 15:24:03 +0000 (16:24 +0100)]
Move debug initialisation to BackendStore
Now that the BackendStore is a singleton, its initialiser will more reliably
be called than the initialiser for IndividualAggregator (since clients can
theoretically not use the IndividualAggregator, but have to use the
BackendStore). Closes: bgo#629096
Philip Withnall [Mon, 20 Sep 2010 11:44:02 +0000 (12:44 +0100)]
Retrospectively update NEWS file
Add NEWS entries from all the releases back to 0.1.9, when we moved to GNOME
infrastructure.
Philip Withnall [Tue, 14 Sep 2010 16:25:03 +0000 (17:25 +0100)]
Bug 629666 — libfolks should not hard autodetect libxml
Add an --enable-import-tool configure option which requires libxml2 when
passed, doesn't require it when --disable-import-tool is passed, and builds
the tool if possible (but doesn't require libxml2) when nothing's passed.
Closes: bgo#629666
Philip Withnall [Tue, 14 Sep 2010 15:24:22 +0000 (16:24 +0100)]
Make libfolks.so depend on gmodule-no-export
Since the BackendStore uses g_module_*. Helps: bgo#629644
Philip Withnall [Tue, 14 Sep 2010 13:45:02 +0000 (14:45 +0100)]
Explicitly link the backends to libfolks.la
Closes: bgo#629644
Philip Withnall [Mon, 13 Sep 2010 10:16:29 +0000 (11:16 +0100)]
Bug 629311 — Folks should normalize IDs written to the writable backend
Add a new IMable.normalise_im_address() method, which should be called on
any IM address added to IMable.im_addresses, normalising it so that only the
canonical version is used within libfolks. Closes: bgo#629311
Philip Withnall [Sat, 18 Sep 2010 15:37:29 +0000 (16:37 +0100)]
Bump version to 0.3.0
Since we've changed to an odd–even version scheme (where odd minor versions
are unstable and even ones are stable), master needs to be odd, since version
0.2.0 has just been released as stable.
Philip Withnall [Sat, 18 Sep 2010 14:29:20 +0000 (15:29 +0100)]
Don't list session.conf in CLEANFILES
Since it's generated by AC_CONFIG_FILES, it already has rebuild and clean
rules generated for it. Adding it to CLEANFILES breaks this.
Travis Reitter [Sat, 18 Sep 2010 00:53:17 +0000 (17:53 -0700)]
Require the latest releases of our dependencies.
Travis Reitter [Sat, 18 Sep 2010 00:52:43 +0000 (17:52 -0700)]
Clear up ambiguity between GLib.Proxy and TelepathyGLib.Proxy
Travis Reitter [Thu, 16 Sep 2010 17:36:30 +0000 (10:36 -0700)]
Cut some obsolete comments in TpLowlevel.
Travis Reitter [Thu, 16 Sep 2010 17:35:33 +0000 (10:35 -0700)]
Fix the GIR annotation for connection_open_contact_list_channel_finish
Travis Reitter [Thu, 16 Sep 2010 17:19:22 +0000 (10:19 -0700)]
Fix the GIR annotations for connect_to_new_group_channels
Travis Reitter [Thu, 16 Sep 2010 17:11:48 +0000 (10:11 -0700)]
Turn on all g-i warnings and make them errors (for non-releases).
Philip Withnall [Thu, 16 Sep 2010 10:58:36 +0000 (11:58 +0100)]
Make a result argument nullable
Since there is no .finish() method for this async function, and the result
is always NULL, the result argument should be nullable. This prevents it
spewing warnings.
Travis Reitter [Wed, 15 Sep 2010 23:45:40 +0000 (16:45 -0700)]
Depend upon the next release of Vala for required fixes.
valac's version number doesn't update between releases, so we need to depend
upon the next release number to properly depend upon the fixes.
Travis Reitter [Wed, 15 Sep 2010 20:22:16 +0000 (13:22 -0700)]
Adjust to changes introduced with the Vala fix for bgo#629691
Philip Withnall [Wed, 15 Sep 2010 15:50:55 +0000 (16:50 +0100)]
Fix documentation syntax
Travis Reitter [Wed, 15 Sep 2010 15:13:50 +0000 (08:13 -0700)]
Merge branch 'bgo628970-expose-backends3'
Travis Reitter [Thu, 9 Sep 2010 23:15:49 +0000 (16:15 -0700)]
Move Backend preparation to BackendStore. Fixes bgo#628970.
An effect of this is that all backends will be prepared by the time
IndividualAggregator.prepare() completes.
Travis Reitter [Wed, 8 Sep 2010 16:53:21 +0000 (09:53 -0700)]
Expose the BackendStore's Backends. Helps bgo#628970.
Travis Reitter [Tue, 14 Sep 2010 15:33:36 +0000 (08:33 -0700)]
Cut out unnecessary tp-glib version checking.
Travis Reitter [Tue, 14 Sep 2010 15:34:52 +0000 (08:34 -0700)]
Update the name for TelepathyGLib.Intset
Travis Reitter [Wed, 8 Sep 2010 17:24:55 +0000 (10:24 -0700)]
Make BackendStore a singleton. Helps bgo#628970.
Philip Withnall [Tue, 14 Sep 2010 16:18:44 +0000 (17:18 +0100)]
Fix the type of an AsyncReadyCallback in Tpf.PersonaStore
Philip Withnall [Tue, 14 Sep 2010 14:04:02 +0000 (15:04 +0100)]
Move BuildConf into the Folks namespace
This fixes the libfolks build against Vala master.
Philip Withnall [Tue, 14 Sep 2010 09:53:19 +0000 (10:53 +0100)]
Add missing annotations to TpLowlevel
Philip Withnall [Tue, 14 Sep 2010 09:53:08 +0000 (10:53 +0100)]
Enable g-ir-scanner warnings for TpLowlevel
Philip Withnall [Mon, 13 Sep 2010 15:18:32 +0000 (16:18 +0100)]
Post-branch version bump
Philip Withnall [Mon, 13 Sep 2010 14:40:10 +0000 (15:40 +0100)]
Automatically version the generated documentation
Philip Withnall [Mon, 13 Sep 2010 13:28:56 +0000 (14:28 +0100)]
Rename Alias interface to Aliasable
Helps: bgo#627397
Philip Withnall [Mon, 13 Sep 2010 13:10:06 +0000 (14:10 +0100)]
Rename Groups interface to Groupable
Helps: bgo#627397
Philip Withnall [Mon, 13 Sep 2010 13:12:27 +0000 (14:12 +0100)]
Fix a private error domain in Tpf.PersonaStore
This is a partial revert of
6fe31a311871f096f605ed93bc60fb09db835235.
Philip Withnall [Mon, 13 Sep 2010 12:49:41 +0000 (13:49 +0100)]
Fix some error domains
Add error domains to override methods, remove error domains from
constructors and make some error domains more specific. This shouldn't break
API. Helps: bgo#627158
Philip Withnall [Mon, 13 Sep 2010 12:28:56 +0000 (13:28 +0100)]
Add missing @inheritDoc doclets
Philip Withnall [Mon, 13 Sep 2010 12:28:14 +0000 (13:28 +0100)]
Bug 626008 — Add @since lines to all symbols
Add @since lines to the documentation of all symbols which were added after
the initial release (0.1.9). Closes: bgo#626008
Brian Pepple [Sun, 12 Sep 2010 21:56:51 +0000 (17:56 -0400)]
Link gio libs in import-tool makefiles
Closes: bgo#629452
Travis Reitter [Fri, 10 Sep 2010 23:26:05 +0000 (16:26 -0700)]
Post-release version bump.
Travis Reitter [Fri, 10 Sep 2010 22:20:57 +0000 (15:20 -0700)]
Release version 0.1.17
Travis Reitter [Fri, 10 Sep 2010 19:13:42 +0000 (12:13 -0700)]
Add some more detailed validation/error reporting to the importing tool.
Philip Withnall [Wed, 8 Sep 2010 18:36:04 +0000 (19:36 +0100)]
Bug 629084 — Add a folks-import tool
Add a folks-import tool which allows importing of Pidgin meta-contact
information to libfolks' key file. Closes: bgo#629084
Philip Withnall [Thu, 9 Sep 2010 15:07:08 +0000 (16:07 +0100)]
Block flushing of Kf.PersonaStore on any pending file operations
If a file operation is still underway, don't allow the Kf.PersonaStore to be
finalized until it's finished. This prevents libfolks from being closed before
changes to relationships.ini have been written out. We also prevent multiple
file operations from happening (pseudo-) concurrently, by cancelling any
pending operation when we schedule a new one.
Philip Withnall [Mon, 6 Sep 2010 09:35:25 +0000 (10:35 +0100)]
Bug 628853 — hangs if there's no relationships.ini file
The code to create the directory tree for relationships.ini wasn't handling
errors properly, so was getting stuck in an infinite loop in the case that
the ~/.local/share/folks directory existed but relationships.ini didn't.
Closes: bgo#628853
Philip Withnall [Thu, 9 Sep 2010 11:33:22 +0000 (12:33 +0100)]
Notify of Tpf.PersonaStore's Personas being removed when disabling accounts
When disabling, removing or marking an account as invalid, we need to signal
that the account's contacts (i.e. the Tpf.PersonaStore's Personas) have been
removed. Closes: bgo#629082
Philip Withnall [Wed, 8 Sep 2010 10:10:49 +0000 (11:10 +0100)]
Warn on key file parse errors, rather than explode
Contrary to popular belief, it is possible to encounter errors when parsing
key files. In this case, the key-file backend shouldn't explode without a
helpful error message. Helps: bgo#628930
Philip Withnall [Wed, 8 Sep 2010 10:06:25 +0000 (11:06 +0100)]
Fix saving the key file when it contains multi-byte characters
The calculation of the length of the data to be saved was being done in
characters, not bytes, whereas the I/O function was expecting a length in
bytes. This caused some number of bytes to be dropped from the end of the
file, potentially splitting a multibyte character and breaking the file
encoding (not to mention losing data otherwise). Closes: bgo#628930
Philip Withnall [Wed, 8 Sep 2010 09:39:47 +0000 (10:39 +0100)]
Add more debugging for aliases
Philip Withnall [Wed, 8 Sep 2010 09:31:30 +0000 (10:31 +0100)]
Don't save the key file when loading Personas' aliases
We were previously saving the key file for each __alias key loaded, as it was
loading the alias into Kf.Persona.alias, rather than Kf.Persona._alias,
causing the key file to be saved each time.
This may have caused or contributed towards the corruption seen in bgo#628930.
Philip Withnall [Wed, 8 Sep 2010 09:28:53 +0000 (10:28 +0100)]
Don't allow setting a Kf.Persona's alias to its current value
Philip Withnall [Fri, 10 Sep 2010 10:54:00 +0000 (11:54 +0100)]
Add generated C files to GITIGNOREFILES
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