platform/upstream/folks.git
10 years agoUpdated Basque language sandbox/pcoval/upstream
Inaki Larranaga Murgoitio [Tue, 25 Mar 2014 20:08:25 +0000 (21:08 +0100)]
Updated Basque language

10 years agoUpdated Italian translation
Gianvito Cavasoli [Fri, 21 Mar 2014 07:48:01 +0000 (07:48 +0000)]
Updated Italian translation

10 years agoUpdated Danish translation
Ask H. Larsen [Thu, 20 Mar 2014 20:06:34 +0000 (21:06 +0100)]
Updated Danish translation

10 years agoFixed EDS persona store display-name value.
Renato Araujo Oliveira Filho [Thu, 20 Mar 2014 18:13:10 +0000 (15:13 -0300)]
Fixed EDS persona store display-name value.

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

10 years agoUpdated Portuguese translation
Duarte Loreto [Tue, 18 Mar 2014 10:53:32 +0000 (10:53 +0000)]
Updated Portuguese translation

10 years agoUpdated French translation
Frédéric Péters [Sat, 15 Mar 2014 19:33:25 +0000 (19:33 +0000)]
Updated French translation

10 years agobuild: Fix documentation build for the dummy backend
Philip Withnall [Fri, 14 Mar 2014 12:37:01 +0000 (12:37 +0000)]
build: Fix documentation build for the dummy backend

This was inadvertently broken by commit
77d39108cc912ab3926357b5dedbe19e0a3f921a. Whoops.

10 years agoUpdated Korean translation
Seong-ho Cho [Wed, 12 Mar 2014 16:16:34 +0000 (01:16 +0900)]
Updated Korean translation

10 years agodummy: Add Folks.DummyPersona.update_linkable_properties()
Renato Araujo Oliveira Filho [Fri, 24 Jan 2014 08:38:00 +0000 (05:38 -0300)]
dummy: Add Folks.DummyPersona.update_linkable_properties()

Allow the linkable properties of a dummy persona to be edited. This
includes a unit test.

New API:
 • Folks.DummyPersona.update_linkable_properties()

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

10 years agoUpdated Russian translation
Yuri Myasoedov [Mon, 10 Mar 2014 17:25:54 +0000 (21:25 +0400)]
Updated Russian translation

10 years agoUpdated Latvian translation
Rūdolfs Mazurs [Sat, 8 Mar 2014 14:35:51 +0000 (16:35 +0200)]
Updated Latvian translation

10 years agodocs: Fix incorrect @since lines in documentation comments
Philip Withnall [Wed, 5 Mar 2014 23:18:36 +0000 (23:18 +0000)]
docs: Fix incorrect @since lines in documentation comments

10 years agocore: Implement global anti-link functionality
Renato Araujo Oliveira Filho [Mon, 10 Feb 2014 18:03:08 +0000 (15:03 -0300)]
core: Implement global anti-link functionality

You can use this functionality to block a person to get linked
with any other person.

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

10 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Wed, 5 Mar 2014 17:15:13 +0000 (18:15 +0100)]
Updated Norwegian bokmål translation

10 years agoReplaced use of EVCard.remove_attribute to EVCard.remove_attributes.
Renato Araujo Oliveira Filho [Thu, 20 Feb 2014 21:21:27 +0000 (18:21 -0300)]
Replaced use of EVCard.remove_attribute to EVCard.remove_attributes.

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

10 years agobuild: Fix test library build
Philip Withnall [Tue, 18 Feb 2014 08:16:25 +0000 (08:16 +0000)]
build: Fix test library build

Apparently my build environment *wasn’t* clean when I tested the stuff I
pushed at the weekend, even though I definitely cleaned it a few times.
Aaargh.

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

10 years agoeds: Don’t warn if trying to close an already closed connection
Philip Withnall [Sun, 16 Feb 2014 22:51:32 +0000 (22:51 +0000)]
eds: Don’t warn if trying to close an already closed connection

10 years agoeds: Fix incorrect removal of elements of a read-only libgee collection
Philip Withnall [Sun, 16 Feb 2014 22:50:56 +0000 (22:50 +0000)]
eds: Fix incorrect removal of elements of a read-only libgee collection

The .remove() calls would hit an assert_not_reached() in libgee. Remove
from the MapIterator instead.

10 years agotracker: Don’t warn if prepare() fails due to the bus disappearing
Philip Withnall [Tue, 19 Nov 2013 00:35:49 +0000 (00:35 +0000)]
tracker: Don’t warn if prepare() fails due to the bus disappearing

This is not an uncommon occurrence during the unit tests. It doesn’t
deserve a warning.

10 years agotracker: Move with-session-bus-tracker.sh into test-case.vala
Philip Withnall [Tue, 19 Nov 2013 00:33:29 +0000 (00:33 +0000)]
tracker: Move with-session-bus-tracker.sh into test-case.vala

Eliminate the last bits of shell scripting from the test suites. Instead
of starting and stopping the Tracker services through tracker-control,
the Tracker services are now started through D-Bus activation, and die
when the mock D-Bus bus is destroyed.

10 years agotests: Remove redundant execute-test.sh script
Philip Withnall [Mon, 18 Nov 2013 23:41:42 +0000 (23:41 +0000)]
tests: Remove redundant execute-test.sh script

It was used to redirect verbose logging output to a log file, but automake
1.11 does that automatically now with its parallel test framework (which
folks has enabled).

10 years agoeds: Move with-session-bus-eds.sh into test-case.vala
Philip Withnall [Mon, 18 Nov 2013 23:24:27 +0000 (23:24 +0000)]
eds: Move with-session-bus-eds.sh into test-case.vala

Eliminate some more of the shell scripting which plagues our test cases.
This wipes up to 2s off the startup time for the EDS tests (which was
previously hard-coded to spend waiting for the EDS processes to start up;
now the processes are started through D-Bus service activation, so we only
wait as long as necessary).

10 years agotests: Add a function for asserting persona changes in an aggregator
Philip Withnall [Wed, 27 Nov 2013 13:58:03 +0000 (13:58 +0000)]
tests: Add a function for asserting persona changes in an aggregator

This allows asserting that certain personas are added to an aggregator,
or are removed from the aggregator. It will be useful for testing the
behaviour of individual PersonaStores.

10 years agobluez: Set the alias and trust level when first adding a persona store
Philip Withnall [Wed, 27 Nov 2013 13:51:09 +0000 (13:51 +0000)]
bluez: Set the alias and trust level when first adding a persona store

10 years agotests: Unconditionally enable verbose debugging output from tests
Philip Withnall [Wed, 27 Nov 2013 11:48:17 +0000 (11:48 +0000)]
tests: Unconditionally enable verbose debugging output from tests

Since we now require the automake-1.12 parallel test harness, we can
take advantage of the fact that it only outputs tests’ debug spew if
they fail. That means tests can now unconditionally output everything,
which should simplify debugging.

10 years agocore: Add an IndividualAggregator.backend_store property
Philip Withnall [Wed, 27 Nov 2013 11:43:49 +0000 (11:43 +0000)]
core: Add an IndividualAggregator.backend_store property

This is a simple construct-only getter convenience property. It tidies
up IndividualAggregator construction a little, and allows runtime access
to the BackendStore without having to have explicitly constructed it
before the aggregator.

10 years agoeds: Remove redundant variable assignment
Philip Withnall [Fri, 15 Nov 2013 11:30:40 +0000 (11:30 +0000)]
eds: Remove redundant variable assignment

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

10 years agobluez: Allow persona store update poll frequency to be modified
Philip Withnall [Fri, 15 Nov 2013 11:29:02 +0000 (11:29 +0000)]
bluez: Allow persona store update poll frequency to be modified

For unit testing, it’s nice to not have to wait 5s between polled
updates of the BlueZ persona store. Add a new environment variable,
FOLKS_BLUEZ_TIMEOUT_DIVISOR, which allows the poll frequency to be
divided by the specified amount.

This should speed up the unit tests 100×.

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

10 years agobluez: Correctly handle OBEX transfers which take zero time
Philip Withnall [Fri, 15 Nov 2013 11:27:23 +0000 (11:27 +0000)]
bluez: Correctly handle OBEX transfers which take zero time

If an OBEX transfer takes zero time (say, in an ideal world or, perhaps,
in a unit test) the transfer Status property will start out as
‘complete’ and never change. Previously, completed transfers were only
detected on receipt of a property change notification which, in this
situation, never came. Now, the initial value of the Status property is
also checked.

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

10 years agobluez: Don’t warn if removing an OBEX session fails due to cancellation
Philip Withnall [Fri, 15 Nov 2013 11:26:49 +0000 (11:26 +0000)]
bluez: Don’t warn if removing an OBEX session fails due to cancellation

Or due to the connection being closed.

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

10 years agobluez: Calculate Persona IID checksums without the vCard PHOTO attribute
Philip Withnall [Fri, 15 Nov 2013 11:22:54 +0000 (11:22 +0000)]
bluez: Calculate Persona IID checksums without the vCard PHOTO attribute

Persona IIDs can come from two places:
 • the vCard UID attribute (preferred); or
 • a checksum of the vCard’s string representation.
Previously, the checksum was calculated over all fields in the vCard,
which interacted very badly with download_photos mode. When downloading
photos, only the PHOTO and UID attributes would be downloaded;
otherwise, all attributes except PHOTO would be downloaded. Obviously,
this meant that it was impossible to calculate the same checksum for a
Persona in download_photos and non-download_photos mode. This meant that
matching the photos up to the existing Personas was impossible. Sad
times.

Now, when in download_photos mode, download all vCard attributes
(including the PHOTO) but calculate the IID checksum over all the
attributes except the PHOTO. This should yield the same checksum as from
non-download_photos mode, unless one of the other vCard properties has
changed between downloads; a new checksum would be produced then, which
is the expected behaviour.

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

10 years agobluez: Reimplement vCard parsing when updating Personas
Philip Withnall [Fri, 15 Nov 2013 11:16:22 +0000 (11:16 +0000)]
bluez: Reimplement vCard parsing when updating Personas

This completely re-implements parsing of the vCards returned from the
Bluetooth device, with the following aims:
 • Improve efficiency.
 • Correctly support multi-instance attributes (such as TEL and EMAIL).
 • Fix comparison of new and old values to reduce property notification
   spew.

Previously, the code was calling E.VCard.get_attribute() for each
attribute it expected, which iterates over the vCard’s entire attribute
list every time. Now, the code iterates over the attribute list once and
checks for the attributes it expects. This also means that unsupported
attributes can be detected. The performance improvement from this should
come from reduced iteration and better cache utilisation, although it
has not been measured. If further performance improvements are needed,
the attribute name strings could be interned and pointer comparisons
used instead of lots of strcmp()s.

The code was also previously using E.VCardAttribute.get_values() to get
the values of TEL, EMAIL and URL attributes, which is incorrect, as
those attributes are single-valued but may exist several times in the
vCard. Consequently, the code previously only parsed the first telephone
number, e-mail address and phone number in the vCard and ignored the
rest. This has now been fixed.

Finally, the code was doing pointer comparisons of elements in the
phone, e-mail and URI sets, and hence was always detecting them as
different (even if strcmp() comparison would have yielded equality).
This was causing excess property notification spew. This has been fixed
by correctly specifying the hash and equality functions to use for the
Sets.

Additionally, the code has been ported to use SmallSet instead of
HashSet. The memory and performance improvements of this change have not
been measured.

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

10 years agobluez: Fix removal of a Map element while iterating over the Map
Philip Withnall [Wed, 13 Nov 2013 16:28:05 +0000 (16:28 +0000)]
bluez: Fix removal of a Map element while iterating over the Map

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

10 years agobluez: Don’t warn about the store being offline
Philip Withnall [Wed, 13 Nov 2013 16:22:53 +0000 (16:22 +0000)]
bluez: Don’t warn about the store being offline

If the Bluetooth device is disconnected by the user between updates of
the contact metadata, the code previously printed a warning when the
next update attempt failed. Instead, just gracefully and silently fail
and schedule the next update.

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

10 years agobluez: Handle the optional Filename property of BlueZ
Philip Withnall [Wed, 13 Nov 2013 16:20:19 +0000 (16:20 +0000)]
bluez: Handle the optional Filename property of BlueZ

Previously the code assumed that Filename was always set, but it’s
actually an optional property. Gracefully handle it not existing.

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

10 years agobluez: Add some more debug output
Philip Withnall [Wed, 13 Nov 2013 16:19:56 +0000 (16:19 +0000)]
bluez: Add some more debug output

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

10 years agocore: Unprepare all backends when destroying the BackendStore
Philip Withnall [Wed, 13 Nov 2013 16:08:08 +0000 (16:08 +0000)]
core: Unprepare all backends when destroying the BackendStore

This helps free up some reference cycles (particularly in the BlueZ
backend) and hence ensure no memory is leaked.

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

10 years agobluez: Remove BluezBackendFactory class
Philip Withnall [Wed, 13 Nov 2013 16:04:25 +0000 (16:04 +0000)]
bluez: Remove BluezBackendFactory class

It was utterly pointless.

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

10 years agobluez: Add a test suite
Philip Withnall [Mon, 11 Nov 2013 13:44:14 +0000 (13:44 +0000)]
bluez: Add a test suite

This adds a test suite for the BlueZ backend, using a python-dbusmock
mock up of the BlueZ and OBEX D-Bus services.

This requires the latest version of python-dbusmock, plus up-to-date
versions of GLib and Vala for binding updates. The use of the second and
third arguments to AM_PROG_VALAC in configure.ac also necessitates use
of automake 1.12 or newer.

Only a few test cases have been added so far, covering vCard parsing and
general set up of PersonaStores. Using python-dbusmock it should be easy
to add more tests covering advanced Bluetooth device
appearance/disappearance situations in future.

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

10 years agotests: Add python-dbusmock support to the base TestCase class
Philip Withnall [Thu, 14 Nov 2013 08:54:25 +0000 (08:54 +0000)]
tests: Add python-dbusmock support to the base TestCase class

This allows derived test cases to easily use python-dbusmock to mock up
D-Bus services which are used by the code under test. The derived code
simply needs to call:
    this.create_dbusmock_service (BusType.SESSION, "org.foo", "foo")
to allow instantiation of the ‘org.foo’ service using the ‘foo’
python-dbusmock template.

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

10 years agotests: Add support for an isolated system bus
Philip Withnall [Wed, 13 Nov 2013 16:11:19 +0000 (16:11 +0000)]
tests: Add support for an isolated system bus

In addition to an isolated session bus, the tests are now run with an
isolated system bus as well. This is needed for the BlueZ backend, which
uses the org.bluez service on the system bus.

This depends on the GLib.TestDBus changes here:
https://bugzilla.gnome.org/show_bug.cgi?id=712148

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

10 years agotests: Add a FOLKS_TEST_DBUS_SESSION_BUS flag
Philip Withnall [Sun, 16 Feb 2014 18:20:37 +0000 (18:20 +0000)]
tests: Add a FOLKS_TEST_DBUS_SESSION_BUS flag

This mirrors the FOLKS_TEST_DBUS_SYSTEM_BUS flag, and can be used to clarify
which bus is expected to be created. The default behaviour (if
FOLKS_TEST_DBUS_SYSTEM_BUS isn’t specified) is to create a session bus,
however, so setting this flag isn’t at all required.

This is a tweaked version of the patch from
bug: https://bugzilla.gnome.org/show_bug.cgi?id=712148

10 years agotests: Unset the DBUS_SESSION_BUS_[PID|WINDOWID] variables
Philip Withnall [Sun, 16 Feb 2014 18:18:29 +0000 (18:18 +0000)]
tests: Unset the DBUS_SESSION_BUS_[PID|WINDOWID] variables

Might as well do a complete job when unsetting environment variables
which are associated with D-Bus.

This is a tweaked version of the patch from
bug: https://bugzilla.gnome.org/show_bug.cgi?id=712148

10 years agotests: Selectively unset D-Bus environment variables
Philip Withnall [Sun, 16 Feb 2014 18:16:48 +0000 (18:16 +0000)]
tests: Selectively unset D-Bus environment variables

Don’t always unset all D-Bus environment variables when starting up or
shutting down an isolated bus, as to do so might trample on other
FolksTestDBus instances for other kinds of bus (e.g. session vs. system).

Instead, always unset a few common environment variables (like DISPLAY),
but only unset the DBUS_*_BUS_ADDRESS variable corresponding to the type
of bus being start up or shut down.

This is a tweaked version of the patch from
bug: https://bugzilla.gnome.org/show_bug.cgi?id=712148

10 years agotests: Add support for starting isolated system buses
Philip Withnall [Sun, 16 Feb 2014 18:12:52 +0000 (18:12 +0000)]
tests: Add support for starting isolated system buses

Add a new FOLKS_TEST_DBUS_SYSTEM_BUS flag which can be passed to
folks_test_dbus_new() to create a system bus instead of a session bus. This
handles setting the correct environment variables, and ensures that the
bus’ security policy is completely permissive.

This is a tweaked version of the patch from
bug: https://bugzilla.gnome.org/show_bug.cgi?id=712148

10 years agotests: Switch from GTestDBus to FolksTestDBus
Philip Withnall [Sun, 16 Feb 2014 18:04:17 +0000 (18:04 +0000)]
tests: Switch from GTestDBus to FolksTestDBus

The functionality should be equivalent at this point.

10 years agotests: Fix build errors in gtestdbus.c
Philip Withnall [Sun, 16 Feb 2014 17:17:25 +0000 (17:17 +0000)]
tests: Fix build errors in gtestdbus.c

This changes the pristine GLib-copied version of the file to something
which compiles locally, and renames it to FolksTestDBus.

10 years agotests: Add private copy of GTestDBus
Philip Withnall [Sun, 16 Feb 2014 17:12:30 +0000 (17:12 +0000)]
tests: Add private copy of GTestDBus

This is due to the suggested deprecation of GTestDBus, and the refusal
of upstream to accept patches which add system bus support. Those
patches are a requirement for folks to use GTestDBus to test its BlueZ
backend.

Ideally, folks could be ported to some other D-Bus mocking framework,
but a lot of work has been invested in the GTestDBus approach, and it’s
currently bit rotting something horrible. I just don’t have time at the
moment to port it all over to something else; so copying the GTestDBus
sources locally and modifying them is the most pragmatic approach.

gtestdbus.[ch] are licensed under LGPLv2.1+ (same as libfolks), and the
copyright is held by:
 • Copyright © 2008–2010 Red Hat, Inc.
 • Copyright © 2012 Collabora Ltd.
Authors:
 • David Zeuthen <davidz@redhat.com>
 • Xavier Claessens <xavier.claessens@collabora.co.uk>

10 years agoeds: Add debugging information to PersonaStore._commit_modified_property()
Philip Withnall [Sun, 16 Feb 2014 16:25:07 +0000 (16:25 +0000)]
eds: Add debugging information to PersonaStore._commit_modified_property()

10 years agovala.m4: don't keep generated files in git
Ryan Lortie [Fri, 14 Feb 2014 02:59:49 +0000 (21:59 -0500)]
vala.m4: don't keep generated files in git

This is automatically taken during autogen from the vala install.  This
file was recently updated and having our own copy prevents the updated
version from being used.

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

10 years agotests: Comment out an overly-stringent assert in standalone-individuals
Philip Withnall [Tue, 11 Feb 2014 21:58:52 +0000 (21:58 +0000)]
tests: Comment out an overly-stringent assert in standalone-individuals

As described in the comment added to the test, the core of folks needs a
bit of in-depth work to make the behaviour do what the test expects.
This work needs to be done at some point, but I don’t have time for it
now.

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

10 years agobuild: Update git.mk from upstream
Philip Withnall [Tue, 11 Feb 2014 20:24:16 +0000 (20:24 +0000)]
build: Update git.mk from upstream

10 years agoupdated kn.po
Shankar Prasad [Tue, 4 Feb 2014 08:45:57 +0000 (14:15 +0530)]
updated kn.po

10 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Fri, 31 Jan 2014 22:54:43 +0000 (06:54 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

10 years agoeds: Add a extra parameter on IM fields created based on e-mail address
Renato Araujo Oliveira Filho [Tue, 28 Jan 2014 20:23:53 +0000 (17:23 -0300)]
eds: Add a extra parameter on IM fields created based on e-mail address

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

10 years agocore: Don’t warn if a D-Bus service is missing
Philip Withnall [Thu, 30 Jan 2014 07:49:29 +0000 (07:49 +0000)]
core: Don’t warn if a D-Bus service is missing

If a backend fails to start because a D-Bus service is missing, don’t
spew a warning into stderr. It probably means that the user is running
folks from git and has more development packages installed than services
running. Or it means that a distro packager has built too many backends
by default, rather than packaging them up separately and adding
dependencies on the relevant D-Bus packages.

In any case, it’s irrelevant, unnecessary debug spew.

10 years agobackends: Fix calls to ImDetails.normalise_im_address()
Philip Withnall [Wed, 29 Jan 2014 11:12:31 +0000 (11:12 +0000)]
backends: Fix calls to ImDetails.normalise_im_address()

Newer versions of the Vala compiler have got stricter about unnecessary
(owned) transfer annotations. Folks had some unnecessary ones, which
have now been removed. This shouldn’t affect compilation with older
versions of Vala, though this is untested.

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

10 years agocore: Document that PersonaStore.trust_level must not be set by clients
Philip Withnall [Fri, 17 Jan 2014 22:45:13 +0000 (22:45 +0000)]
core: Document that PersonaStore.trust_level must not be set by clients

It’s effectively internal API, and is only exposed publicly due to me
foolishly not making it abstract when first implementing it.

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

10 years agocore: Remove trailing whitespace
Philip Withnall [Fri, 17 Jan 2014 22:45:01 +0000 (22:45 +0000)]
core: Remove trailing whitespace

10 years agodocs: Update NEWS with recent changes
Philip Withnall [Fri, 17 Jan 2014 22:41:22 +0000 (22:41 +0000)]
docs: Update NEWS with recent changes

10 years agotests: Add missing return value to function precondition
Ting-Wei Lan [Thu, 16 Jan 2014 22:56:59 +0000 (22:56 +0000)]
tests: Add missing return value to function precondition

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

10 years agodocs: Document workarounds for D-Bus problems with folks and JHBuild
Philip Withnall [Fri, 10 Jan 2014 17:57:14 +0000 (17:57 +0000)]
docs: Document workarounds for D-Bus problems with folks and JHBuild

jwendell was experiencing them and it was discussed briefly on IRC.

10 years agotelepathy: Fix nullability of a function parameter
Philip Withnall [Wed, 8 Jan 2014 18:45:13 +0000 (18:45 +0000)]
telepathy: Fix nullability of a function parameter

GBusNameVanishedCallbacks can legitimately have a NULL GDBusConnection
pointer passed to them. If the formal parameter isn’t marked as
nullable, Vala inserts an assertion which then fails and crashes.

10 years agobuild: Don’t link backend libraries with libfolks-internal.la helper
Philip Withnall [Wed, 8 Jan 2014 18:43:00 +0000 (18:43 +0000)]
build: Don’t link backend libraries with libfolks-internal.la helper

Because libfolks-internal.la is a libtool helper library, and is never
actually installed, it gets statically linked into each backend. This
means that the GObject types in it (such as FolksSmallSet) get
duplicated between libfolks.so and each backend. This causes GObject
errors when the backends are loaded and attempt to re-register types
which already exist.

This is a partial revert of commits:
 • 150858a0237291d8269d222defcb82f54c1125cf
 • ef76b7cacb5cfdf7963e5c2a2fe3bc8c1c97838e

10 years agoeds: Remove unused variable
Philip Withnall [Mon, 11 Nov 2013 10:17:44 +0000 (10:17 +0000)]
eds: Remove unused variable

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

10 years agobluez: Don’t block on cleanup finishing when updating contacts
Philip Withnall [Wed, 13 Nov 2013 16:21:08 +0000 (16:21 +0000)]
bluez: Don’t block on cleanup finishing when updating contacts

This speeds up updating the contacts, and also elimates the possibility
of Vala’s async state machine getting into an illegal state, which
somehow happened before.

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

10 years agobluez: Eliminate a reflexive reference in Bluez.PersonaStore
Philip Withnall [Wed, 13 Nov 2013 16:06:34 +0000 (16:06 +0000)]
bluez: Eliminate a reflexive reference in Bluez.PersonaStore

Since the persona store is always scheduling the next update, it always
holds a reference to itself in the timeout closure, which is
unavoidable. Add a cancel_updates() internal method which can be called
by the Backend to break this reflexive reference and allow the store to
be finalised.

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

10 years agobluez: Implement periodic refreshes of the persona store from the phone
Philip Withnall [Mon, 11 Nov 2013 09:34:39 +0000 (09:34 +0000)]
bluez: Implement periodic refreshes of the persona store from the phone

This implements two major changes:
 • Downloading contacts now happens in two phases. In the first phase, only
   textual properties are downloaded (not contact photos). This is fast,
   taking only a few seconds to download several hundred contacts over
   Bluetooth. In the second phase, contact photos are downloaded in the
   background and personas are updated to use them.
 • Contacts are periodically re-downloaded on an exponential timeout
   leading to a linear region. This keeps the persona store up-to-date with
   changes in the phone’s address book.

For full details, see the documentation on
BlueZ.PersonaStore._schedule_update_contacts().

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

10 years agobluez: Support updating contacts instead of replacing them when re-querying
Philip Withnall [Mon, 11 Nov 2013 08:19:29 +0000 (08:19 +0000)]
bluez: Support updating contacts instead of replacing them when re-querying

When downloading the contact list over PBAP for anything other than the
first time, support updating the properties of existing personas, rather
than replacing them all wholesale. This is a step on the way towards
supporting periodic refreshes of the contact list.

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

10 years agocore: Tighten up definition of Persona.display_id to ensure it’s unique
Philip Withnall [Mon, 11 Nov 2013 08:17:04 +0000 (08:17 +0000)]
core: Tighten up definition of Persona.display_id to ensure it’s unique

It is defined as being unique, so cannot be a human-readable full name,
since those can be non-unique. Update the EDS, oFono and Tracker backends to
use their persona IIDs as display IDs, instead full names. This isn’t an
API break, as the API was always documented as being unique.

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

10 years agobluez: Remove unnecessary OBEX List() D-Bus call
Philip Withnall [Fri, 8 Nov 2013 13:20:21 +0000 (13:20 +0000)]
bluez: Remove unnecessary OBEX List() D-Bus call

It returns a mapping of VCF filenames to contact full names, which we
already have from the full VCF file. Minor performance improvement
(although I haven’t profiled it).

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

10 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 30 Dec 2013 10:51:50 +0000 (11:51 +0100)]
Updated Spanish translation

10 years agoUpdated Galician translations
Fran Diéguez [Sun, 29 Dec 2013 23:24:28 +0000 (00:24 +0100)]
Updated Galician translations

10 years agoUpdated German translation
Benjamin Steinwender [Sat, 28 Dec 2013 11:15:41 +0000 (12:15 +0100)]
Updated German translation

10 years agobuild: Only link the "endpoint" backend libraries against libfolks-internal
Travis Reitter [Mon, 23 Dec 2013 20:02:05 +0000 (12:02 -0800)]
build: Only link the "endpoint" backend libraries against libfolks-internal

This fixes a build-breaking bug introduced in commit 150858a023

10 years agoDon't doubly-link libfolks-dummy against libfolks-internal
Travis Reitter [Mon, 23 Dec 2013 20:00:57 +0000 (12:00 -0800)]
Don't doubly-link libfolks-dummy against libfolks-internal

10 years agoUpdated Greek translation
Dimitris Spingos [Mon, 23 Dec 2013 07:22:34 +0000 (09:22 +0200)]
Updated Greek translation

10 years agoUpdate Chinese simplified translation
甘 露 [Sun, 22 Dec 2013 08:55:33 +0000 (16:55 +0800)]
Update Chinese simplified translation

10 years agoUpdate Chinese simplified translation
甘 露 [Sun, 22 Dec 2013 08:49:02 +0000 (16:49 +0800)]
Update Chinese simplified translation

10 years agoUpdated Slovenian translation
Matej Urbančič [Sat, 21 Dec 2013 21:31:38 +0000 (22:31 +0100)]
Updated Slovenian translation

10 years agoofono: Fix translatable strings spanning multiple lines
Philip Withnall [Fri, 20 Dec 2013 17:13:41 +0000 (17:13 +0000)]
ofono: Fix translatable strings spanning multiple lines

Follow-up from commit 983bb285a223f834092a21098801c850cf9b256a.

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

10 years agobluez: Implement [enable|disable]_persona_store()
Philip Withnall [Fri, 20 Dec 2013 17:07:30 +0000 (17:07 +0000)]
bluez: Implement [enable|disable]_persona_store()

Disable all persona stores by default in the BlueZ backend, since they
should only be connected to when explicitly requested by the user. This
can only be programmatically achieved at the moment by calling
bluez_backend.set_persona_stores(["00:11:22:33:44:55"]), where the
string is the Bluetooth address of the phone to enable. (Multiple phones
may be specified.)

This is a partial solution to the problem. A complete solution would
involve creating PersonaStores for all eligible Bluetooth devices, then
only allowing prepare() on the ones which are enabled by the user.
That’s still under discussion in the bug; this is an interim fix to
ensure folks doesn’t continually cause “do you want to allow your
computer access to this phone’s address book” messages to pop up on
people’s phones.

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

10 years agobuild: Ensure backends correctly link to internal folks libraries
Philip Withnall [Fri, 20 Dec 2013 17:07:00 +0000 (17:07 +0000)]
build: Ensure backends correctly link to internal folks libraries

10 years agoUpdated Indonesian translation
Andika Triwidada [Fri, 20 Dec 2013 15:58:54 +0000 (22:58 +0700)]
Updated Indonesian translation

10 years agobluez: Fix translatable strings spanning multiple lines
Rafael Ferreira [Fri, 20 Dec 2013 14:42:26 +0000 (14:42 +0000)]
bluez: Fix translatable strings spanning multiple lines

gettext versions older than 0.18.3 don’t support multi-line translatable
strings in Vala source code. Rather than bumping the gettext version,
don’t split the strings.

In future, the gettext dependency can be bumped to 0.18.3 and the
strings can be line-wrapped again.

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

10 years agoUpdated German translation
Christian Kirbach [Fri, 20 Dec 2013 07:35:23 +0000 (08:35 +0100)]
Updated German translation

10 years agoUpdated German translation
Christian Kirbach [Thu, 19 Dec 2013 23:27:21 +0000 (00:27 +0100)]
Updated German translation

10 years agoUpdated Galician translations
Fran Diéguez [Thu, 19 Dec 2013 17:08:08 +0000 (18:08 +0100)]
Updated Galician translations

10 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 19 Dec 2013 13:35:44 +0000 (14:35 +0100)]
Updated Spanish translation

10 years agoUpdated Galician translations
Fran Diéguez [Wed, 18 Dec 2013 22:32:27 +0000 (23:32 +0100)]
Updated Galician translations

10 years agobackends: Add [freeze|thaw]_notify() calls to [un]prepare() in backends
Philip Withnall [Thu, 28 Nov 2013 17:12:59 +0000 (17:12 +0000)]
backends: Add [freeze|thaw]_notify() calls to [un]prepare() in backends

Reduce signal duplication. Inspired by the dummy backend.

10 years agotests: Add a standalone-individuals test program
Philip Withnall [Thu, 21 Nov 2013 19:46:51 +0000 (19:46 +0000)]
tests: Add a standalone-individuals test program

This contains a few test cases which check folks’ behaviour when
manually creating Individuals *outside* an IndividualAggregator. These
should catch the problems found in the following two bugs:
 • https://bugzilla.redhat.com/show_bug.cgi?id=1031252
 • https://bugzilla.gnome.org/show_bug.cgi?id=712839
and hopefully fixed by commits:
 • f00534294d7d52ac7e37dfaa075e3465b7755483
 • 1ec050efc4f7135e9958c74da2028daf669077a0

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

10 years agodummy: Add a dummy backend
Philip Withnall [Thu, 7 Nov 2013 10:26:02 +0000 (10:26 +0000)]
dummy: Add a dummy backend

This is a new backend targeted at making libfolks more testable. It is
designed to be used in internal libfolks unit tests, allowing the test
driver code to manipulate the backing store state to test how that
affects front-end state in libfolks. For example, it will be useful in
more thoroughly testing the IndividualAggregator.

It includes work by Renato Araujo Oliveira Filho <renatox@gmail.com>.

The backend may also be useful for testing libfolks clients,
such as contacts UIs, by providing an easy way to create well-known
personas to appear in the the UI. Hence, it is an installed backend, and
is loaded by default (although creates no Backend or PersonaStore instances
unless API calls are made).

It is designed to allow delay and error injection into all major
PersonaStore operations, and to allow any kind of Persona implementation
to be returned from the store.

It includes a few small test cases to sanity-check that the backend
works, but no thorough self-test-coverage.

Full API documentation is included and installed by default. The API is
not currently stable, so while external projects may start to consume
it, they should be prepared for breakage in the future as the API
stabilises. No timescale is given for such stabilisation.

This commit does not include any changes to the core libfolks unit
tests, but future changes could be made to port them to use the dummy
backend.

New API:
 • libfolks-dummy.la mocking library and all its symbols

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

10 years agobuild: Ensure the TpLowlevel GIR and typelib are cleaned properly
Philip Withnall [Thu, 28 Nov 2013 16:38:29 +0000 (16:38 +0000)]
build: Ensure the TpLowlevel GIR and typelib are cleaned properly

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

10 years agobuild: Update git.mk to fix valac-generated C header file ignores
Philip Withnall [Thu, 28 Nov 2013 16:32:55 +0000 (16:32 +0000)]
build: Update git.mk to fix valac-generated C header file ignores

Update to the latest git.mk from master.

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

10 years agobuild: Allow backend libraries to have individual API versions
Philip Withnall [Thu, 28 Nov 2013 16:21:47 +0000 (16:21 +0000)]
build: Allow backend libraries to have individual API versions

The API version is included in the GIR file name, and only changes when
API is broken or removed. If new backends, such as the dummy backend,
are to have unstable APIs, having individual versions for each backend
library is necessary to allow backend API breaks without breaking the
whole of the folks API.

The API version has not been added to the VAPI file name, though it
should, because that would be a backwards-incompatible change. It can be
added when folks next breaks API compatibility.

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

10 years agobuild: Factor common backends/*/lib makefilery into backend-library.mk
Philip Withnall [Thu, 28 Nov 2013 11:40:22 +0000 (11:40 +0000)]
build: Factor common backends/*/lib makefilery into backend-library.mk

This simplifies and standardises the build process for the installed
backend libraries (libfolks-eds.so and friends).

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

10 years agobuild: Minor build simplification
Philip Withnall [Thu, 28 Nov 2013 10:30:20 +0000 (10:30 +0000)]
build: Minor build simplification

No need to create a new directory variable; just use lib_LTLIBRARIES
directly.

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

10 years agobuild: Allow backend libraries to have separate LT versions from libfolks.so
Philip Withnall [Thu, 7 Nov 2013 13:51:15 +0000 (13:51 +0000)]
build: Allow backend libraries to have separate LT versions from libfolks.so

With the addition of the dummy backend, backend libraries (such as
libfolks-dummy.so) no longer necessarily have the same stability guarantees
as the core of libfolks. Consequently, they must have separate LT versions.

These versions will be incremented in-line with the core LT version, but
may also be incremented separately. They don’t affect whether libfolks will
load a given backend module (that’s predicated on the core LT current
version); merely whether client code needs to be re-linked against a given
backend library due to an ABI-incompatible change in its backend-specific
API.

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

10 years agoupdate Punjabi Translation byt Alam
A S Alam [Sun, 8 Dec 2013 02:41:09 +0000 (20:41 -0600)]
update Punjabi Translation byt Alam