commit 7f2d6459ca86ae2ff5db2eb9d6fc6843e526d079 Author: Philip Withnall Date: Sat Jun 21 23:25:23 2014 +0100 build: Remove a redundant .stamp file from the Makefile It was breaking distcheck by trying to be deleted from the read-only $srcdir. backends/telepathy/lib/Makefile.am | 1 - 1 file changed, 1 deletion(-) commit f974cd245a753f9d7e5f0c63beb8f8be77cb5cc7 Author: Philip Withnall Date: Sat Jun 21 20:29:57 2014 +0100 tests: Don’t close stdout for dbus-daemon in GTestDBus The stdout FD passed to dbus-daemon is propagated to all its child processes, such as service activated processes. If we close the FD after reading the bus address from the daemon, any child process which subsequently writes to stdout (e.g. for logging) will get a SIGPIPE and explode. Instead of closing the stdout FD immediately after dbus-daemon has spawned, keep it open until the daemon is killed. This fixes the Tracker tests, as tracker-store writes startup information to stdout. tests/lib/gtestdbus.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit 4a2d04d8dca7924ac6c0cfba84ed6042a9d1b70d Author: Philip Withnall Date: Sat Jun 21 19:15:35 2014 +0100 tracker: Standardise the TestCase set up procedure Make it match the EDS one so we’re not doing heavyweight IPC in the constructor. tests/lib/tracker/test-case.vala | 21 +++++++++++++++++++-- tests/tracker/additional-names-updates.vala | 2 -- tests/tracker/avatar-updates.vala | 2 -- tests/tracker/birthday-details-interface.vala | 2 -- tests/tracker/birthday-updates.vala | 2 -- tests/tracker/emails-updates.vala | 2 -- tests/tracker/family-name-updates.vala | 2 -- tests/tracker/favourite-updates.vala | 2 -- tests/tracker/fullname-updates.vala | 2 -- tests/tracker/gender-details-interface.vala | 2 -- tests/tracker/given-name-updates.vala | 2 -- tests/tracker/imaddresses-updates.vala | 2 -- tests/tracker/nickname-updates.vala | 2 -- tests/tracker/note-details-interface.vala | 2 -- tests/tracker/phones-updates.vala | 2 -- tests/tracker/prefix-name-updates.vala | 2 -- tests/tracker/role-details-interface.vala | 2 -- tests/tracker/suffix-name-updates.vala | 2 -- tests/tracker/url-details-interface.vala | 2 -- tests/tracker/website-updates.vala | 2 -- 20 files changed, 19 insertions(+), 40 deletions(-) commit 31d3b43db1bc81a156fd162b1908985b435962b6 Author: Philip Withnall Date: Sat Jun 21 18:21:31 2014 +0100 tracker: Ensure all properties of Trf.Persona are initialised The nickname and is-favourite properties were not being initialised on construction, so if Trf.Persona.nickname was accessed before being set, it would return null, which is invalid. backends/tracker/lib/trf-persona.vala | 2 ++ 1 file changed, 2 insertions(+) commit f18239080b4f3f73fd7a4d303a0afc1ab9f066fe Author: Philip Withnall Date: Sat Jun 21 18:20:49 2014 +0100 tracker: Ensure the Tracker connection is disposed in test teardown This was causing the Tracker tests to fail. tests/lib/tracker/backend.vala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 0d894ff621680587a3e16d636ca3b517cfe7d1ab Author: Philip Withnall Date: Fri Jun 20 20:35:28 2014 +0100 eds: Bypass test failures on GTestDBus teardown GTestDBus can sometimes fail on teardown, causing our EDS tests to spuriously fail, and this has become a real thorn in our side. While we wait for the proper solution to the relevant GLib bugs to be hashed out, let’s simply exit early from the tests to ignore failures in teardown. This will not affect (non-teardown) test failures from true positives, as it only happens on final teardown. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/Makefile.am | 1 + tests/lib/test-case.vala | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) commit ae1f281855d2f47102a61b56188f841807571537 Author: Philip Withnall Date: Fri Jun 20 20:34:34 2014 +0100 eds: Ignore errors from unimplemented EDS methods We can assume the methods are deliberately not implemented, so we shouldn’t warn about them. This complements the patch in https://bugzilla.gnome.org/show_bug.cgi?id=731981. https://bugzilla.gnome.org/show_bug.cgi?id=726973 backends/eds/lib/edsf-persona-store.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 47776e621dda8041a3329986f663cb83e8a4a4fa Author: Renato Araujo Oliveira Filho Date: Thu Jun 19 18:53:24 2014 -0300 Create a new function set_string_afd_equal. This is necessary to avoid problems with phone numbers that has a special values_equal function to try match phone numbers in different formats. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=731175 NEWS | 2 ++ backends/bluez/bluez-persona.vala | 2 +- backends/dummy/lib/dummy-full-persona.vala | 2 +- backends/eds/lib/edsf-persona-store.vala | 2 +- backends/eds/lib/edsf-persona.vala | 6 ++-- backends/telepathy/lib/tpf-persona.vala | 2 +- folks/individual.vala | 2 +- folks/utils.vala | 55 ++++++++++++++++++++++++++++++ 8 files changed, 66 insertions(+), 7 deletions(-) commit cc8acf86bf4349f60c576e79e9d39c35980e6490 Author: Renato Araujo Oliveira Filho Date: Thu Jun 19 18:57:58 2014 -0300 Create unit test for change the phone number prefix. https://bugzilla.gnome.org/show_bug.cgi?id=731175 tests/eds/Makefile.am | 5 ++ tests/eds/updating-phones.vala | 168 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 173 insertions(+) commit 1f667e32acff90c32e531cc53fc382e96188ebf9 Author: Philip Withnall Date: Thu Jun 12 08:39:37 2014 +0100 tests: Add a missing D-Bus service file for EDS source registry We were missing v2 of the source file, causing the EDS tests to all fail with certain versions of EDS. https://bugzilla.gnome.org/show_bug.cgi?id=731464 NEWS | 1 + tests/lib/eds/test-case.vala | 57 +++++++++++++++++++------------------------- 2 files changed, 26 insertions(+), 32 deletions(-) commit 60b0255fc6628510cef674b12f29b84abf6163e6 Author: Vadim Rutkovsky Date: Thu Jun 5 15:44:12 2014 -0400 Fix builddir != srcdir issue https://bugzilla.gnome.org/show_bug.cgi?id=731325 NEWS | 1 + backends/backend-library.mk | 6 +++++- backends/telepathy/lib/Makefile.am | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) commit 8060048edf41a3123c59bdc1101f024c90f4178e Author: Gil Forcada Date: Tue Jun 3 00:43:03 2014 +0200 [l10n] Update Catalan translation po/ca.po | 368 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 254 insertions(+), 114 deletions(-) commit ef541513345aa2c83bd207cd2f38f23125cdf3eb Author: Alban Crequy Date: Thu May 15 17:59:15 2014 +0100 build: fix over-linking in backends https://bugzilla.gnome.org/show_bug.cgi?id=730201 backends/backend.mk | 1 - 1 file changed, 1 deletion(-) commit 96814b8699c917743b663c3928769ff8e4a86603 Author: Alban Crequy Date: Thu May 15 17:58:46 2014 +0100 Revert "build: Remove some over-linking in the oFono backend" This reverts commit d9a38f5fa4c0c7c4ea131f76b90dc0f3bc208cb6. backends/ofono/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit d9a38f5fa4c0c7c4ea131f76b90dc0f3bc208cb6 Author: Philip Withnall Date: Thu May 15 15:53:45 2014 +0100 build: Remove some over-linking in the oFono backend If it links against folks-generics, the GTypes for the FolksSmallSet functions are included in the runtime image twice, and the backend fails to load. backends/ofono/Makefile.am | 1 - 1 file changed, 1 deletion(-) commit 83e7b9b4c6a9ca79ba3a55f836306fb6c657a605 Author: Philip Withnall Date: Tue Apr 29 12:02:50 2014 +0100 bluez: Add a test for an empty ‘FN’ attribute This has tripped up other vCard parsers in the past. Thankfully, it seems fine with EDS for us. tests/bluez/vcard-parsing.vala | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) commit e3806d4240d1ff8058e1ef31173f2950d084943d Author: Dirgita Date: Tue Apr 22 14:34:22 2014 +0000 Updated Indonesian translation po/id.po | 178 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) commit 0085cb463849e5b30d4b4c58da63a5df3fd0d0be Author: Philip Withnall Date: Sun Apr 20 21:12:52 2014 +0100 tests: Add assertions to check for null DateTimes If the DateTime would end up being invalid, construction fails and null is returned. Gracefully catch that in the unit tests. https://bugzilla.gnome.org/show_bug.cgi?id=727944 tests/eds/add-contacts-stress-test.vala | 2 ++ tests/telepathy/individual-properties.vala | 1 + 2 files changed, 3 insertions(+) commit 48f5e7094cd50eb7ebdb3dec9d8c602472f14042 Author: Philip Withnall Date: Sun Apr 20 21:08:55 2014 +0100 tracker: Fix crash on handling invalid birthday dates from contacts If a GDateTime cannot be constructed due to the requested date being invalid or out of range, the constructor will return null. The code was not previously handling this. https://bugzilla.gnome.org/show_bug.cgi?id=727944 backends/tracker/lib/trf-persona.vala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit f3c9b4b47d0a36c6ef19ba0534523243a4c38160 Author: Philip Withnall Date: Sun Apr 20 21:08:03 2014 +0100 telepathy: Fix crash on handling invalid birthday dates from contacts If a GDateTime cannot be constructed due to the requested date being invalid or out of range, the constructor will return null. The code was not previously handling this. https://bugzilla.gnome.org/show_bug.cgi?id=727944 backends/telepathy/lib/tp-zeitgeist.vala | 4 ++++ backends/telepathy/lib/tpf-persona-store-cache.vala | 2 ++ backends/telepathy/lib/tpf-persona.vala | 10 +++++++--- 3 files changed, 13 insertions(+), 3 deletions(-) commit 5e82482a31915215cb365605654dd11a92ba9664 Author: Philip Withnall Date: Sun Apr 20 21:03:16 2014 +0100 eds: Fix crash on handling invalid birthday dates from contacts If a GDateTime cannot be constructed due to the requested date being invalid or out of range, the constructor will return null. The code was not previously handling this. https://bugzilla.gnome.org/show_bug.cgi?id=727944 NEWS | 2 ++ backends/eds/lib/edsf-persona.vala | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) commit e19a4daa4600c7d01178be5a5e18057e5ef2db6d Author: Travis Reitter Date: Fri Apr 18 12:12:50 2014 -0700 Don't hard-code the Tracker major version for tests configure.ac | 1 + folks/build-conf.vapi | 3 +++ tests/lib/tracker/Makefile.am | 1 + tests/lib/tracker/test-case.vala | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) commit 562a94c44f6ae99f390f1fed9122ab011d9d67c3 Author: Gianvito Cavasoli Date: Tue Apr 8 17:15:07 2014 +0000 Updated Italian translation po/it.po | 120 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 60 insertions(+), 60 deletions(-) commit 7b410981821bdf0f19f1681ad682c9032624ce33 Author: Philip Withnall Date: Tue Apr 8 00:13:22 2014 +0100 tests: Fix enable-disable-stores EDS test The test was occasionally spuriously failing because the persona stores were being prepare()d after being re-enabled, and these prepare() calls were being suspended part-way through when the test finished and killed its main loop. They were being resumed when the main loop was re-started during tear down — it’s re-started to wait for the singleton D-Bus connection to be destroyed, so the prepare() calls ended up consistently having their D-Bus connection drop out from beneath them, resulting in warnings. These warnings would normally be useful to have, but not in the middle of a unit test. Fix this by rearchitecting the test slightly to force each persona store to be prepared after being re-enabled. Also simplify how this is tracked. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/eds/enable-disable-stores.vala | 66 +++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 32 deletions(-) commit 2001d7adaff969a7c900dce613a00d4668cae01c Author: Philip Withnall Date: Sun Apr 6 11:10:16 2014 +0100 core: Rate-limit AvatarCache.store_avatar() to prevent FD exhaustion If connecting to a new EDS address book, or doing something else which may cause a torrent of AvatarCache.store_avatar() calls, it is possible to hit the operating system’s file descriptor limit, which causes further store operations to fail. Implement a simple FIFO rate limit on concurrent AvatarCache.store_avatar() calls to try and ensure this won’t happen. It is still possible if the process calls store_avatar() several times while already near the FD limit, but then failure is pretty inevitable anyway, and is already handled gracefully. The changes are implemented in a self-contained wrapper function around store_avatar(), and only result in memory allocations in the queueing case. A test case is included. This does not affect the AvatarCache API or ABI. https://bugzilla.gnome.org/show_bug.cgi?id=705742 NEWS | 1 + folks/avatar-cache.vala | 58 +++++++++++++++++++++++++++++++++++++++++++ tests/folks/avatar-cache.vala | 51 +++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) commit 12b7985e8f28e66420ec522cb5fcb621e8e07a78 Author: Travis Reitter Date: Mon Apr 7 09:38:36 2014 -0700 tests: Manually iterate main context on tear_down in Dummy tests The code under test in these cases doesn’t (yet) correctly ensure there are no pending events before returning. To avoid assertion failure, manually iterate the global default main context until all pending events have been handled, then continue to tear_down. In future, it would be better to fix the tests and backends themselves to not leak main context events after unprepare() has been called. See https://bugzilla.gnome.org/show_bug.cgi?id=727700. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/dummy/test-case.vala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 45e1af8c28747154278ee5058a3b144899050abb Author: Travis Reitter Date: Mon Apr 7 09:12:02 2014 -0700 tests: Manually iterate main context on tear_down in Dummy tests The code under test in these cases doesn’t (yet) correctly ensure there are no pending events before returning. To avoid assertion failure, manually iterate the global default main context until all pending events have been handled, then continue to tear_down. In future, it would be better to fix the tests and backends themselves to not leak main context events after unprepare() has been called. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/dummy/test-case.vala | 8 ++++++++ 1 file changed, 8 insertions(+) commit 1236e1c521fdf38d70dfce95c7b4055f27794522 Author: Philip Withnall Date: Sun Feb 16 16:37:29 2014 +0000 eds: Only use enabled ESources from EDS Don’t ignore the enabled/disabled state of the ESource. When EDS sources (such as the Google Contacts address book) are toggled in GOA, they’re disabled, not removed. Folks needs to respect that. https://bugzilla.gnome.org/show_bug.cgi?id=722579 NEWS | 2 ++ backends/eds/eds-backend.vala | 2 +- backends/eds/lib/edsf-persona-store.vala | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) commit 89ba19db4f6532afaf30944deba6a5f188695e9c Author: Philip Withnall Date: Thu Apr 3 14:42:38 2014 +0100 bluez: Ignore missing sessions when removing sessions This occasionally happens when running the unit tests. The check only applies to unit tests, so will have no effect in production use. https://bugzilla.gnome.org/show_bug.cgi?id=726973 backends/bluez/bluez-persona-store.vala | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit b2bdc304d02fde725c5ad0919036ea23f3301b4d Author: Philip Withnall Date: Thu Apr 3 14:40:56 2014 +0100 tests: Manually iterate main context on tear_down in various tests The code under test in these cases doesn’t (yet) correctly ensure there are no pending events before returning. To avoid assertion failure, manually iterate the global default main context until all pending events have been handled, then continue to tear_down. In future, it would be better to fix the tests and backends themselves to not leak main context events after unprepare() has been called. See https://bugzilla.gnome.org/show_bug.cgi?id=727700. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/bluez/test-case.vala | 9 +++++++++ tests/lib/eds/test-case.vala | 9 +++++++++ tests/lib/key-file/test-case.vala | 15 +++++++++++++++ tests/lib/libsocialweb/test-case.vala | 9 +++++++++ tests/lib/telepathy/test-case.vala | 9 +++++++++ tests/lib/tracker/test-case.vala | 9 +++++++++ 6 files changed, 60 insertions(+) commit 5c0c1c6801ab43adacfd53d46d7cc856092c2501 Author: Philip Withnall Date: Thu Apr 3 14:39:03 2014 +0100 tests: Add an assertion that the main context is empty on tear_down Leaving the global default main context with pending events is a common cause of cross-test interference which can cause spurious test failures. Try and ensure there are no pending events at the end of each test’s tear_down function. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/test-case.vala | 2 ++ tests/lib/test-utils.vala | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) commit 7ee8118248cdd393797a282acfcaed45ed9bc336 Author: Renato Araujo Oliveira Filho Date: Thu Apr 3 10:08:12 2014 -0300 dummy: Fix dummy test cases to allow more than one test to run https://bugzilla.gnome.org/show_bug.cgi?id=727405 tests/dummy/individual-retrieval.vala | 4 +++- tests/lib/dummy/test-case.vala | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) commit 1b770fb19a9c1b8e5f9ce0e3ab00d75fd3af5ca1 Author: Renato Araujo Oliveira Filho Date: Mon Mar 31 16:14:16 2014 -0300 core: Fix FOLKS_DISABLE_LINKING The second step of the _add_personas() function looks at candidate_inds, which is currently populated even if linking is disabled (in a failed attempt to keep all the FOLKS_DISABLE_LINKING logic to a single if-statement at the bottom of the function). This patch takes a different approach, and ensures that candidate_inds is not populated if FOLKS_DISABLE_LINKING is enabled, adding an assertion to try and prevent this bug being re-introduced in future. A test case will be added in a future commit (see the bug report). https://bugzilla.gnome.org/show_bug.cgi?id=727405 NEWS | 3 ++- folks/individual-aggregator.vala | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) commit dda8b6beb16a9b4ab70f2448c6a90fe0d9d019af Author: Simon McVittie Date: Mon Mar 24 10:10:07 2014 +0000 EDS test-cases: be backwards-compatible with Evolution 3.8 The D-Bus API version changes between releases. We want all known versions to be activatable. https://bugzilla.gnome.org/show_bug.cgi?id=726980 NEWS | 1 + tests/lib/eds/test-case.vala | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) commit da4544b9cf2a10d8d060bf8ed3e09a12006b80e8 Author: Simon McVittie Date: Mon Mar 24 09:45:01 2014 +0000 Reduce libebook dependency when not compiling the BlueZ backend Debian unstable is currently stuck with Evolution 3.8, due to the number of ABI transitions required to get from here to there. Folks does not appear to need a newer version if the optional BlueZ backend is not installed, and Debian doesn't currently enable that backend anyway. https://bugzilla.gnome.org/show_bug.cgi?id=726980 configure.ac | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 71f6f79f7a9e95078d2e5a0ad2a48652197339a9 Author: Simon McVittie Date: Mon Mar 24 14:16:11 2014 +0000 tests: avoid using dconf tests/eds/perf reliably fails for me with this warning: dconf-WARNING **: failed to commit changes to dconf: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files and in any case we shouldn't be changing the user's real configuration. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/test-case.vala | 3 +++ 1 file changed, 3 insertions(+) commit b16bd87240424632d7881172e87b2571d3df57be Author: Simon McVittie Date: Mon Mar 24 16:12:23 2014 +0000 Make warnings non-fatal during "final teardown" Historically, the Folks tests have not been expected to cope gracefully with dropping off the session bus. This frequently results in warnings, which default to being fatal. For instance, enable-disable-stores fails with this fatal warning: folks-WARNING **: Error preparing persona store 'eds:test': Couldn't get view for address book ‘test’: The connection is closed The long-term solution would be to make sure that disconnection from the bus is an identifiable error domain/code that gets propagated through the stack, but that would have to be done individually per-backend. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/test-case.vala | 10 ++++++++++ 1 file changed, 10 insertions(+) commit ad92c2a3a6408db165df59a0cc183643ff3f33a3 Author: Simon McVittie Date: Mon Mar 24 12:37:53 2014 +0000 FolksTestDBus: flush and close connection before disposing of it g_dbus_connection_dispose() sets connection->worker = NULL, which means any attempt to send a message will crash with a segfault. If anything still has a ref to the connection - in Folks, that's often a backend reffed by the IndividualAggregator - then it'll tend to assume that it's still usable. Attempts to send messages are guarded by a check whether the connection is closed, which we can use to avoid this. https://bugzilla.gnome.org/show_bug.cgi?id=726973 tests/lib/gtestdbus.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit d582273308915f171d49966b1d1ac454a72d3fa8 Author: Inaki Larranaga Murgoitio Date: Tue Mar 25 21:08:25 2014 +0100 Updated Basque language po/eu.po | 336 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 236 insertions(+), 100 deletions(-) commit 766510d2ae84cd04a770626a76029447bc4cdf66 Author: Gianvito Cavasoli Date: Fri Mar 21 07:48:01 2014 +0000 Updated Italian translation po/it.po | 360 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 245 insertions(+), 115 deletions(-) commit e28adbf4955bb1ca9bcb42d65ade270cc4f60cdd Author: Ask H. Larsen Date: Thu Mar 20 21:06:34 2014 +0100 Updated Danish translation po/da.po | 367 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 252 insertions(+), 115 deletions(-) commit 59d9a26b53401c81882fc81a2169f1e07316df53 Author: Renato Araujo Oliveira Filho Date: Thu Mar 20 15:13:10 2014 -0300 Fixed EDS persona store display-name value. https://bugzilla.gnome.org/show_bug.cgi?id=726787 backends/eds/lib/edsf-persona-store.vala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ab691d4feab030bab7d03f5f5a6f86a0cdd930d6 Author: Duarte Loreto Date: Tue Mar 18 10:53:32 2014 +0000 Updated Portuguese translation po/pt.po | 358 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 241 insertions(+), 117 deletions(-) commit a07da7f2d2f741f1d789994e570a4bf999c5bab5 Author: Frédéric Péters Date: Sat Mar 15 19:33:25 2014 +0000 Updated French translation po/fr.po | 475 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 316 insertions(+), 159 deletions(-) commit 24695ce215dcc5a9945b6d4c8eca5909e2ef554a Author: Philip Withnall Date: Fri Mar 14 12:37:01 2014 +0000 build: Fix documentation build for the dummy backend This was inadvertently broken by commit 77d39108cc912ab3926357b5dedbe19e0a3f921a. Whoops. docs/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 90055ae5d0322efd18a8e903bcaab88b28ff1c40 Author: Seong-ho Cho Date: Thu Mar 13 01:16:34 2014 +0900 Updated Korean translation po/ko.po | 370 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 246 insertions(+), 124 deletions(-) commit 77d39108cc912ab3926357b5dedbe19e0a3f921a Author: Renato Araujo Oliveira Filho Date: Fri Jan 24 05:38:00 2014 -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 NEWS | 1 + backends/dummy/lib/dummy-full-persona.vala | 15 +- backends/dummy/lib/dummy-persona.vala | 30 +++- tests/dummy/Makefile.am | 5 + tests/dummy/linkable-properties.vala | 275 +++++++++++++++++++++++++++++ 5 files changed, 323 insertions(+), 3 deletions(-) commit 952389b11df1e2df646fc3f2e2d0432d8e1bca2d Author: Yuri Myasoedov Date: Mon Mar 10 21:25:54 2014 +0400 Updated Russian translation po/ru.po | 342 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 236 insertions(+), 106 deletions(-) commit 9d42bf02df1c530891bd7476c3d5a508589dbb3f Author: Rūdolfs Mazurs Date: Sat Mar 8 16:35:51 2014 +0200 Updated Latvian translation po/lv.po | 353 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 238 insertions(+), 115 deletions(-) commit e42d2a6ac717cb1f5fd0b506c33f04b43a63c6e2 Author: Philip Withnall Date: Wed Mar 5 23:18:36 2014 +0000 docs: Fix incorrect @since lines in documentation comments backends/eds/lib/edsf-persona.vala | 2 +- folks/anti-linkable.vala | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) commit 8dccb393e1a46c28af7161b003695a3b3c231b24 Author: Renato Araujo Oliveira Filho Date: Mon Feb 10 15:03:08 2014 -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 folks/anti-linkable.vala | 70 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) commit bc989fdb27d0c782cf2f85dfbba1de72490e9ffc Author: Kjartan Maraas Date: Wed Mar 5 18:15:13 2014 +0100 Updated Norwegian bokmål translation po/nb.po | 340 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 226 insertions(+), 114 deletions(-) commit 87e037787476ba645ced4b8d6a406b32f7dbfae0 Author: Renato Araujo Oliveira Filho Date: Thu Feb 20 18:21:27 2014 -0300 Replaced use of EVCard.remove_attribute to EVCard.remove_attributes. https://bugzilla.gnome.org/show_bug.cgi?id=724809 NEWS | 1 + backends/eds/lib/edsf-persona-store.vala | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) commit 9685842537243b5086aaf7353280aef248e10488 Author: Philip Withnall Date: Tue Feb 18 08:16:25 2014 +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 tests/lib/Makefile.am | 2 +- tests/lib/dummy/Makefile.am | 1 + tests/lib/eds/Makefile.am | 1 + tests/lib/folks-test-dbus.vapi | 4 +++- tests/lib/key-file/Makefile.am | 1 + tests/lib/libsocialweb/Makefile.am | 1 + tests/lib/telepathy/Makefile.am | 1 + tests/lib/tracker/Makefile.am | 1 + tests/test.mk | 1 + 9 files changed, 11 insertions(+), 2 deletions(-) commit fdd023596ef123e3e22a330e4fd215ace63c8f7f Author: Philip Withnall Date: Sun Feb 16 22:51:32 2014 +0000 eds: Don’t warn if trying to close an already closed connection backends/eds/lib/edsf-persona-store.vala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a92acd8a9ff837df5636fa9f7e9cf09d6c2d3e15 Author: Philip Withnall Date: Sun Feb 16 22:50:56 2014 +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. backends/eds/eds-backend.vala | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit bdd4d235def0c2662e125aaa4ed4b77d2dad14e6 Author: Philip Withnall Date: Tue Nov 19 00:35:49 2013 +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. backends/tracker/lib/trf-persona-store.vala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit ecfe72ef925a9e561d9a6c94ba7bac12eede550e Author: Philip Withnall Date: Tue Nov 19 00:33:29 2013 +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. tests/lib/eds/test-case.vala | 2 +- tests/lib/telepathy/Makefile.am | 8 +++ tests/lib/test-case.vala | 6 +- tests/lib/tracker/test-case.vala | 66 +++++++++++++----- tests/tools/Makefile.am | 4 -- tests/tools/dbus-session.sh | 119 -------------------------------- tests/tools/tracker.sh | 34 --------- tests/tools/with-session-bus-tracker.sh | 48 ------------- tests/tools/with-session-bus.sh | 42 ----------- tests/tracker/Makefile.am | 11 --- 10 files changed, 57 insertions(+), 283 deletions(-) commit 919a6dc73ed9717f5d2696dcf1d753cb5a789851 Author: Philip Withnall Date: Mon Nov 18 23:41:42 2013 +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). HACKING | 5 +++-- check.mk | 1 - tests/folks/Makefile.am | 4 ---- tests/lib/telepathy/test-case.vala | 5 +++++ tests/libsocialweb/Makefile.am | 4 ---- tests/telepathy/Makefile.am | 5 ----- tests/tools/Makefile.am | 1 - tests/tools/execute-test.sh | 30 ------------------------------ tests/tools/with-session-bus-tracker.sh | 2 +- tests/tools/with-session-bus.sh | 2 +- 10 files changed, 10 insertions(+), 49 deletions(-) commit 3acaaeeb997f1240011806fabda95c17cbe0df1a Author: Philip Withnall Date: Mon Nov 18 23:24:27 2013 +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). tests/eds/Makefile.am | 12 ---- tests/eds/helper-create-many-contacts.vala | 2 +- tests/eds/helper-delete-contacts.vala | 2 +- tests/eds/helper-prepare-aggregator.vala | 2 +- tests/lib/eds/test-case.vala | 94 +++++++++++++++++++++++++----- tests/tools/Makefile.am | 2 - tests/tools/eds.sh | 35 ----------- tests/tools/with-session-bus-eds.sh | 49 ---------------- 8 files changed, 82 insertions(+), 116 deletions(-) commit 336b51e55633b9791b1bfc903bb40b48b2fa5b81 Author: Philip Withnall Date: Wed Nov 27 13:58:03 2013 +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. tests/lib/test-utils.vala | 92 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) commit 9e0bc6144ed28686055baabccf53c4d9295ef852 Author: Philip Withnall Date: Wed Nov 27 13:51:09 2013 +0000 bluez: Set the alias and trust level when first adding a persona store backends/bluez/bluez-backend.vala | 4 ++++ backends/bluez/bluez-persona-store.vala | 2 ++ 2 files changed, 6 insertions(+) commit 3513c3779a96a858642731e0b23bd9c106a90e60 Author: Philip Withnall Date: Wed Nov 27 11:48:17 2013 +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. tests/lib/test-case.vala | 7 +++++++ 1 file changed, 7 insertions(+) commit 28821702af19b6ff65aeb18f5514d34d10b00f29 Author: Philip Withnall Date: Wed Nov 27 11:43:49 2013 +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. NEWS | 1 + folks/individual-aggregator.vala | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) commit ffea2730dc983d8acaf8b4e29fdb1a5c23925a12 Author: Philip Withnall Date: Fri Nov 15 11:30:40 2013 +0000 eds: Remove redundant variable assignment https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/eds/lib/edsf-persona.vala | 1 - 1 file changed, 1 deletion(-) commit f36c4b74355132bb6c46aa7bf06a2f2d7bfbefbf Author: Philip Withnall Date: Fri Nov 15 11:29:02 2013 +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 backends/bluez/bluez-persona-store.vala | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) commit 0f398ab516bb662727242a753f7fd0ac4a6eb123 Author: Philip Withnall Date: Fri Nov 15 11:27:23 2013 +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 backends/bluez/bluez-persona-store.vala | 4 ++++ 1 file changed, 4 insertions(+) commit e054d029bec2af3f1e744cd407ea073df627fe32 Author: Philip Withnall Date: Fri Nov 15 11:26:49 2013 +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 backends/bluez/bluez-persona-store.vala | 4 ++++ 1 file changed, 4 insertions(+) commit 34bb16686f4016053cffa7b940a47e404b2d03df Author: Philip Withnall Date: Fri Nov 15 11:22:54 2013 +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 backends/bluez/bluez-persona-store.vala | 34 ++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) commit d5a4faa0b786fb0248f05012cec8fdaabce7791d Author: Philip Withnall Date: Fri Nov 15 11:16:22 2013 +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 backends/bluez/Makefile.am | 1 + backends/bluez/bluez-persona.vala | 305 +++++++++++++++++++++++--------------- 2 files changed, 183 insertions(+), 123 deletions(-) commit eb8b1ad75692316596ac8d96d8ee757139f530bf Author: Philip Withnall Date: Wed Nov 13 16:28:05 2013 +0000 bluez: Fix removal of a Map element while iterating over the Map https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/bluez/bluez-backend.vala | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) commit f880acf39c0f396c992da70c1b6eb2b353882c1d Author: Philip Withnall Date: Wed Nov 13 16:22:53 2013 +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 backends/bluez/bluez-persona-store.vala | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 8a5f2890f4a60a9605de5624bc57a0344633684e Author: Philip Withnall Date: Wed Nov 13 16:20:19 2013 +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 backends/bluez/bluez-persona-store.vala | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) commit d1fe72ace7171f208e3886c319f5c9d84cc94835 Author: Philip Withnall Date: Wed Nov 13 16:19:56 2013 +0000 bluez: Add some more debug output https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/bluez/bluez-persona-store.vala | 4 ++++ 1 file changed, 4 insertions(+) commit 9064888b65eff3d30023bffebe5fa042a8e0369b Author: Philip Withnall Date: Wed Nov 13 16:08:08 2013 +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 folks/backend-store.vala | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 3dbd9467780991f00eba209899fdf865141700dd Author: Philip Withnall Date: Wed Nov 13 16:04:25 2013 +0000 bluez: Remove BluezBackendFactory class It was utterly pointless. https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/bluez/bluez-backend-factory.vala | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) commit 6e85b2bec3ee5511d596e71438e228ce343c663a Author: Philip Withnall Date: Mon Nov 11 13:44:14 2013 +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 autogen.sh | 13 -- configure.ac | 25 ++- tests/Makefile.am | 7 + tests/bluez/Makefile.am | 48 ++++++ tests/bluez/device-properties.vala | 305 +++++++++++++++++++++++++++++++++ tests/bluez/individual-retrieval.vala | 232 ++++++++++++++++++++++++++ tests/bluez/vcard-parsing.vala | 255 ++++++++++++++++++++++++++++ tests/lib/Makefile.am | 7 + tests/lib/bluez/Makefile.am | 51 ++++++ tests/lib/bluez/backend.vala | 306 ++++++++++++++++++++++++++++++++++ tests/lib/bluez/test-case.vala | 127 ++++++++++++++ tests/lib/test-case.vala | 3 + 12 files changed, 1365 insertions(+), 14 deletions(-) commit 02bf00de034ba639a5a81faf555001c084975da6 Author: Philip Withnall Date: Thu Nov 14 08:54:25 2013 +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 tests/lib/Makefile.am | 1 + tests/lib/org-freedesktop-dbus-mock.vala | 124 +++++++++++++++++++++++++++++++ tests/lib/test-case.vala | 84 +++++++++++++++++++++ 3 files changed, 209 insertions(+) commit 21b7563cc4473b90028db8c77309c6b734693468 Author: Philip Withnall Date: Wed Nov 13 16:11:19 2013 +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 tests/lib/test-case.vala | 54 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 3 deletions(-) commit 8f88775dd35ef72c0d1f096f0e365a046baad4b3 Author: Philip Withnall Date: Sun Feb 16 18:20:37 2014 +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 tests/lib/gtestdbus.c | 5 +++++ tests/lib/gtestdbus.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) commit 7301078c0934d5d931460ba7109762536d6cd328 Author: Philip Withnall Date: Sun Feb 16 18:18:29 2014 +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 tests/lib/gtestdbus.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit d98b0903df5a5a76e9897c1cf82f8417268cc7b8 Author: Philip Withnall Date: Sun Feb 16 18:16:48 2014 +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 tests/lib/gtestdbus.c | 58 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 6 deletions(-) commit 497be9584b3336eab3e0b4eef1cc6affde2c2633 Author: Philip Withnall Date: Sun Feb 16 18:12:52 2014 +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 tests/lib/gtestdbus.c | 61 +++++++++++++++++++++++++++++++++++++++------------ tests/lib/gtestdbus.h | 6 +++-- 2 files changed, 51 insertions(+), 16 deletions(-) commit 104c4e596465af838c3509eb967d252f5af4cc88 Author: Philip Withnall Date: Sun Feb 16 18:04:17 2014 +0000 tests: Switch from GTestDBus to FolksTestDBus The functionality should be equivalent at this point. tests/lib/test-case.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 362de38b3ff0bed45f7554cf0ae59a7ebce83bf1 Author: Philip Withnall Date: Sun Feb 16 17:17:25 2014 +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. tests/lib/Makefile.am | 3 +- tests/lib/folks-test-dbus.vapi | 50 ++ tests/lib/gioenums.h | 1763 ---------------------------------------- tests/lib/giotypes.h | 535 ------------ tests/lib/gtestdbus.c | 226 ++--- tests/lib/gtestdbus.h | 62 +- 6 files changed, 210 insertions(+), 2429 deletions(-) commit b21c68a2860fbbff1b3387cd81f896c11c772e2a Author: Philip Withnall Date: Sun Feb 16 17:12:30 2014 +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 • Xavier Claessens tests/lib/Makefile.am | 3 + tests/lib/gioenums.h | 1763 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/lib/giotypes.h | 535 +++++++++++++++ tests/lib/gtestdbus.c | 833 +++++++++++++++++++++++ tests/lib/gtestdbus.h | 72 ++ 5 files changed, 3206 insertions(+) commit 7d45d5297adafe3cfc16f3229c6dce1392a20fa5 Author: Philip Withnall Date: Sun Feb 16 16:25:07 2014 +0000 eds: Add debugging information to PersonaStore._commit_modified_property() backends/eds/lib/edsf-persona-store.vala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 9f2d893a27e98bc9335ebf8b65da8360f0170805 Author: Ryan Lortie Date: Thu Feb 13 21:59:49 2014 -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 NEWS | 1 + m4/vala.m4 | 70 -------------------------------------------------------------- 2 files changed, 1 insertion(+), 70 deletions(-) commit 30246de72061bb8ade42ddca58d58dcc42c9f8ca Author: Philip Withnall Date: Tue Feb 11 21:58:52 2014 +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 NEWS | 1 + tests/folks/standalone-individuals.vala | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) commit 97a79409d59c77453b3a217761cf07824acb242c Author: Philip Withnall Date: Tue Feb 11 20:24:16 2014 +0000 build: Update git.mk from upstream git.mk | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit c752e88b77e40ab00eff7ed39f8839da19e851de Author: Shankar Prasad Date: Tue Feb 4 14:15:57 2014 +0530 updated kn.po po/kn.po | 126 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 63 insertions(+), 63 deletions(-) commit 26d59c77ed89a3384ae4f2eb5e935cab3cdb6912 Author: Chao-Hsiung Liao Date: Sat Feb 1 06:54:43 2014 +0800 Updated Traditional Chinese translation(Hong Kong and Taiwan) po/zh_HK.po | 320 +++++++++++++++++++++++++++++++++++++++------------------- po/zh_TW.po | 326 +++++++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 438 insertions(+), 208 deletions(-) commit 8d17efeb1f750dc9e6ae21993c50ed254c8972b5 Author: Renato Araujo Oliveira Filho Date: Tue Jan 28 17:23:53 2014 -0300 eds: Add a extra parameter on IM fields created based on e-mail address https://bugzilla.gnome.org/show_bug.cgi?id=723187 backends/eds/lib/edsf-persona.vala | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) commit eac52ef741bade059d077bd149889accb40ab2af Author: Philip Withnall Date: Thu Jan 30 07:49:29 2014 +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. folks/backend-store.vala | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit c9a9472927a274ab945535130a52f55fd8781388 Author: Philip Withnall Date: Wed Jan 29 11:12:31 2014 +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 NEWS | 2 ++ backends/eds/lib/edsf-persona.vala | 4 ++-- backends/libsocialweb/lib/swf-persona.vala | 5 ++--- backends/tracker/lib/trf-persona.vala | 5 ++--- 4 files changed, 8 insertions(+), 8 deletions(-) commit c505430080462d9febb303aaf49193291de91d52 Author: Philip Withnall Date: Fri Jan 17 22:45:13 2014 +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 folks/persona-store.vala | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 5e1cd45b89bdcf2c87de2432a8e203906dc64b33 Author: Philip Withnall Date: Fri Jan 17 22:45:01 2014 +0000 core: Remove trailing whitespace folks/persona-store.vala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6bd4eadc4fe674ba2a8e1079641aa47e20094a9f Author: Philip Withnall Date: Fri Jan 17 22:41:22 2014 +0000 docs: Update NEWS with recent changes NEWS | 1 + 1 file changed, 1 insertion(+) commit 6ec9f9e32681e6b2bfe2b562d8ebae2ab5dc41ad Author: Ting-Wei Lan Date: Thu Jan 16 22:56:59 2014 +0000 tests: Add missing return value to function precondition https://bugzilla.gnome.org/show_bug.cgi?id=722335 tests/lib/test-case-helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac6c0df4320c5b653f158a94cef7b21e22c99c4f Author: Philip Withnall Date: Fri Jan 10 17:57:14 2014 +0000 docs: Document workarounds for D-Bus problems with folks and JHBuild jwendell was experiencing them and it was discussed briefly on IRC. HACKING | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) commit e758f59168262cb1fea3b539c3676fdf0bbbddf6 Author: Philip Withnall Date: Wed Jan 8 18:45:13 2014 +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. backends/telepathy/lib/tpf-logger.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 615a58a34693e9c04b9521960f50856fdcb6b98e Author: Philip Withnall Date: Wed Jan 8 18:43:00 2014 +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 backends/backend-library.mk | 1 - 1 file changed, 1 deletion(-) commit 0bdce574c45dd957ff3f25832136c6c57aea63ed Author: Philip Withnall Date: Mon Nov 11 10:17:44 2013 +0000 eds: Remove unused variable https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/eds/lib/edsf-persona.vala | 4 ---- 1 file changed, 4 deletions(-) commit f98693a07d36ebf5d0d84dd6a40229c170364734 Author: Philip Withnall Date: Wed Nov 13 16:21:08 2013 +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 backends/bluez/bluez-persona-store.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c83bddc2bf5a31c3e864091b92ae00b39afef535 Author: Philip Withnall Date: Wed Nov 13 16:06:34 2013 +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 backends/bluez/bluez-backend.vala | 4 ++++ backends/bluez/bluez-persona-store.vala | 29 ++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) commit 3439f37b9f8f00d04376195103f0242ecfd4f2e0 Author: Philip Withnall Date: Mon Nov 11 09:34:39 2013 +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 backends/bluez/bluez-persona-store.vala | 212 ++++++++++++++++++++++++++++---- backends/bluez/bluez-persona.vala | 14 ++- 2 files changed, 202 insertions(+), 24 deletions(-) commit ab765424681093e22b34ef44bda4b27b42177a01 Author: Philip Withnall Date: Mon Nov 11 08:19:29 2013 +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 backends/bluez/bluez-persona-store.vala | 79 +++++++++++++++-- backends/bluez/bluez-persona.vala | 151 +++++++++++++++++++++++++------- 2 files changed, 191 insertions(+), 39 deletions(-) commit 1652c7b5d33791076bbc18a7196ada9fe77784dc Author: Philip Withnall Date: Mon Nov 11 08:17:04 2013 +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 backends/bluez/bluez-persona.vala | 19 +++++-------------- backends/eds/lib/edsf-persona.vala | 4 +++- backends/ofono/ofono-persona.vala | 4 +++- backends/tracker/lib/trf-persona.vala | 11 +++-------- folks/persona.vala | 4 +++- 5 files changed, 17 insertions(+), 25 deletions(-) commit 0d05c5651fdd5118e3de53de6024d38adac8cb98 Author: Philip Withnall Date: Fri Nov 8 13:20:21 2013 +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 backends/bluez/bluez-persona-store.vala | 54 ++++++++------------------------- backends/bluez/bluez-persona.vala | 22 +++++++++----- 2 files changed, 28 insertions(+), 48 deletions(-) commit 5c2424a275bc344ee9a4554df46f47185462b2a2 Author: Daniel Mustieles Date: Mon Dec 30 11:51:50 2013 +0100 Updated Spanish translation po/es.po | 154 +++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 90 insertions(+), 64 deletions(-) commit a99525dbc08d64665fd7e430846ca51d80028562 Author: Fran Diéguez Date: Mon Dec 30 00:24:28 2013 +0100 Updated Galician translations po/gl.po | 144 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 76 insertions(+), 68 deletions(-) commit e96736f1c4081283d054a28cf99a377967dba5ca Author: Benjamin Steinwender Date: Sat Dec 28 12:15:41 2013 +0100 Updated German translation po/de.po | 108 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 33 deletions(-) commit ef76b7cacb5cfdf7963e5c2a2fe3bc8c1c97838e Author: Travis Reitter Date: Mon Dec 23 12:02:05 2013 -0800 build: Only link the "endpoint" backend libraries against libfolks-internal This fixes a build-breaking bug introduced in commit 150858a023 backends/backend-library.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 4e681e5c78aabf43fbd197dc914b7257680a7233 Author: Travis Reitter Date: Mon Dec 23 12:00:57 2013 -0800 Don't doubly-link libfolks-dummy against libfolks-internal backends/dummy/lib/Makefile.am | 1 - 1 file changed, 1 deletion(-) commit f60a2ba1c75449b031db8ca6fd52b1a4eb35cb5a Author: Dimitris Spingos Date: Mon Dec 23 09:22:34 2013 +0200 Updated Greek translation po/el.po | 74 ++++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 25 deletions(-) commit 614ea11ec0b70bd62e7ecc2bc47d850665480b42 Author: 甘 露 Date: Sun Dec 22 16:55:33 2013 +0800 Update Chinese simplified translation po/zh_CN.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 02d8bf4af0c7ee4fc1887321035801b456e53f90 Author: 甘 露 Date: Sun Dec 22 16:49:02 2013 +0800 Update Chinese simplified translation po/zh_CN.po | 331 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 237 insertions(+), 94 deletions(-) commit 91485c34f231615412b054f89c63f9be09198457 Author: Matej Urbančič Date: Sat Dec 21 22:31:38 2013 +0100 Updated Slovenian translation po/sl.po | 175 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 118 insertions(+), 57 deletions(-) commit 32b5227777886bfa580f64db93d8a39d882caf8c Author: Philip Withnall Date: Fri Dec 20 17:13:41 2013 +0000 ofono: Fix translatable strings spanning multiple lines Follow-up from commit 983bb285a223f834092a21098801c850cf9b256a. https://bugzilla.gnome.org/show_bug.cgi?id=720707 backends/ofono/ofono-backend.vala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 521b2635b09cc4b84536efdd7e22a0771083c814 Author: Philip Withnall Date: Fri Dec 20 17:07:30 2013 +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 backends/bluez/bluez-backend.vala | 119 ++++++++++++++++++++++++++++++-------- 1 file changed, 95 insertions(+), 24 deletions(-) commit 150858a0237291d8269d222defcb82f54c1125cf Author: Philip Withnall Date: Fri Dec 20 17:07:00 2013 +0000 build: Ensure backends correctly link to internal folks libraries backends/backend-library.mk | 1 + backends/backend.mk | 1 + 2 files changed, 2 insertions(+) commit 875018ca1eb555ff8e7bc01f41f1110d91b29de1 Author: Andika Triwidada Date: Fri Dec 20 22:58:54 2013 +0700 Updated Indonesian translation po/id.po | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) commit 983bb285a223f834092a21098801c850cf9b256a Author: Rafael Ferreira Date: Fri Dec 20 14:42:26 2013 +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 NEWS | 1 + backends/bluez/bluez-backend.vala | 8 ++------ backends/bluez/bluez-persona-store.vala | 25 +++++++++++-------------- 3 files changed, 14 insertions(+), 20 deletions(-) commit 2621e4b045b0b0b20a02caf3cf8e1a1abcfed6b4 Author: Christian Kirbach Date: Fri Dec 20 08:35:23 2013 +0100 Updated German translation po/de.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 9ac6b3d5c1222ef744294da6c7e116f2e0b44f30 Author: Christian Kirbach Date: Fri Dec 20 00:27:21 2013 +0100 Updated German translation po/de.po | 350 +++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 228 insertions(+), 122 deletions(-) commit 9d378f21164cb3188e7dfb43ddf371aeeead06fb Author: Fran Diéguez Date: Thu Dec 19 18:08:08 2013 +0100 Updated Galician translations po/gl.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) commit f570c68dc226736723e409b840406b31ea0bbb61 Author: Daniel Mustieles Date: Thu Dec 19 14:35:44 2013 +0100 Updated Spanish translation po/es.po | 138 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 74 insertions(+), 64 deletions(-) commit eb323b01b02d791225efb3bca8d1993f07fe2318 Author: Fran Diéguez Date: Wed Dec 18 23:32:27 2013 +0100 Updated Galician translations po/gl.po | 153 ++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 74 insertions(+), 79 deletions(-) commit 3eb474fe0dc4925f56d75569df3fc29dfb56cffc Author: Philip Withnall Date: Thu Nov 28 17:12:59 2013 +0000 backends: Add [freeze|thaw]_notify() calls to [un]prepare() in backends Reduce signal duplication. Inspired by the dummy backend. backends/bluez/bluez-backend.vala | 2 ++ backends/eds/eds-backend.vala | 4 ++++ backends/key-file/kf-backend.vala | 4 ++++ backends/libsocialweb/sw-backend.vala | 5 +++++ backends/ofono/ofono-backend.vala | 8 ++++---- backends/telepathy/tp-backend.vala | 5 +++++ backends/tracker/tr-backend.vala | 4 ++++ 7 files changed, 28 insertions(+), 4 deletions(-) commit e0e767505e23561aba924bee4d23f832780f07d8 Author: Philip Withnall Date: Thu Nov 21 19:46:51 2013 +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 tests/folks/Makefile.am | 5 ++ tests/folks/standalone-individuals.vala | 153 ++++++++++++++++++++++++++++++++ tests/test.mk | 5 ++ 3 files changed, 163 insertions(+) commit 3a63de91648c822306df37e3b88285da8e28f057 Author: Philip Withnall Date: Thu Nov 7 10:26:02 2013 +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 . 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 NEWS | 3 + backends/Makefile.am | 2 + backends/dummy/Makefile.am | 40 + backends/dummy/dummy-backend-factory.vala | 49 + backends/dummy/lib/Makefile.am | 47 + backends/dummy/lib/dummy-backend.vala | 394 ++++++++ backends/dummy/lib/dummy-full-persona.vala | 1139 ++++++++++++++++++++++ backends/dummy/lib/dummy-persona-store.vala | 1079 ++++++++++++++++++++ backends/dummy/lib/dummy-persona.vala | 312 ++++++ backends/dummy/lib/folks-dummy-uninstalled.pc.in | 12 + backends/dummy/lib/folks-dummy.deps | 4 + backends/dummy/lib/folks-dummy.pc.in | 15 + configure.ac | 17 + docs/Makefile.am | 61 ++ tests/Makefile.am | 2 + tests/dummy/Makefile.am | 41 + tests/dummy/add-persona.vala | 449 +++++++++ tests/dummy/individual-retrieval.vala | 176 ++++ tests/lib/Makefile.am | 2 + tests/lib/dummy/Makefile.am | 59 ++ tests/lib/dummy/test-case.vala | 141 +++ tests/lib/test-case.vala | 1 + 22 files changed, 4045 insertions(+) commit 120252f8f8150ef593b2c70acb47dc732273eb8f Author: Philip Withnall Date: Thu Nov 28 16:38:29 2013 +0000 build: Ensure the TpLowlevel GIR and typelib are cleaned properly https://bugzilla.gnome.org/show_bug.cgi?id=711544 backends/telepathy/lib/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) commit 42184a9372ed0d96d7dc07db91b8f95b8841bda2 Author: Philip Withnall Date: Thu Nov 28 16:32:55 2013 +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 git.mk | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) commit 69b04cd358e4833f8087948f78deb2ef05867dcf Author: Philip Withnall Date: Thu Nov 28 16:21:47 2013 +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 backends/backend-library.mk | 19 ++++++++++++++++-- backends/eds/lib/Makefile.am | 4 +++- backends/eds/lib/edsf-namespace.vala | 30 ---------------------------- backends/libsocialweb/lib/Makefile.am | 4 +++- backends/libsocialweb/lib/swf-namespace.vala | 30 ---------------------------- backends/telepathy/lib/Makefile.am | 4 +++- backends/telepathy/lib/tpf-namespace.vala | 30 ---------------------------- backends/tracker/lib/Makefile.am | 4 +++- backends/tracker/lib/trf-namespace.vala | 30 ---------------------------- configure.ac | 9 +++++++++ 10 files changed, 38 insertions(+), 126 deletions(-) commit 9864169bfd0631ca5b46eccb77c37ea6411059a1 Author: Philip Withnall Date: Thu Nov 28 11:40:22 2013 +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 backends/Makefile.am | 5 +- backends/backend-library.mk | 178 +++++++++++++++++++++++++++ backends/eds/lib/Makefile.am | 132 ++------------------ backends/libsocialweb/lib/Makefile.am | 126 ++----------------- backends/telepathy/lib/Makefile.am | 183 +++++----------------------- backends/tracker/lib/Makefile.am | 121 +++--------------- configure.ac | 1 - tests/lib/telepathy/contactlist/Makefile.am | 2 +- 8 files changed, 252 insertions(+), 496 deletions(-) commit 133a599fdf3d49497dc3b9cb12fce26b7eb76554 Author: Philip Withnall Date: Thu Nov 28 10:30:20 2013 +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 backends/eds/lib/Makefile.am | 3 +-- backends/libsocialweb/lib/Makefile.am | 3 +-- backends/telepathy/lib/Makefile.am | 3 +-- backends/tracker/lib/Makefile.am | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) commit 25996628d86d93dca1dc6300aa6b69a8d86dd4b7 Author: Philip Withnall Date: Thu Nov 7 13:51:15 2013 +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 backends/eds/lib/Makefile.am | 2 +- backends/libsocialweb/lib/Makefile.am | 2 +- backends/telepathy/lib/Makefile.am | 2 +- backends/tracker/lib/Makefile.am | 2 +- configure.ac | 58 ++++++++++++++++++++++++++++++++--- 5 files changed, 57 insertions(+), 9 deletions(-) commit bf4f7438d124324ebbfee53e185b67f8d46a1e7e Author: A S Alam Date: Sat Dec 7 20:41:09 2013 -0600 update Punjabi Translation byt Alam po/pa.po | 336 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 232 insertions(+), 104 deletions(-) commit 176c8855b79b598c88b7d50cf9b5e981e9806e06 Author: Philip Withnall Date: Thu Dec 5 23:52:13 2013 +0000 docs: Update website links The website has moved to https://wiki.gnome.org/Projects/Folks. HACKING | 3 ++- README | 3 +-- configure.ac | 2 +- folks.doap | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit c3ace8c0f10964fd644dbaf17d54336167d1a97c Author: Philip Withnall Date: Thu Nov 21 20:08:55 2013 +0000 individual: Allow Individual.id to be an empty string with no personas If an Individual has no Personas (as can happen when it’s just been constructed), document the ID as being the empty string. This is a special case. Previously, the ID defaulted to being null, which violated its specified type. https://bugzilla.gnome.org/show_bug.cgi?id=648811 folks/individual.vala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 1cff44abae96df74cb98093355ea0bddec0f1197 Author: Philip Withnall Date: Thu Nov 21 20:08:07 2013 +0000 individual: Add default values for PresenceDetails properties If an Individual is created with no Personas (as in the standalone-individuals test cases), the PresenceDetails properties should be initialised to empty strings. They were previously defaulting to null. https://bugzilla.gnome.org/show_bug.cgi?id=648811 folks/individual.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 40d27444a7585656e05ec671065b16db3b2f1b15 Author: Philip Withnall Date: Thu Nov 14 07:45:53 2013 +0000 tests: Add a function for asserting personas are in an aggregator This will be useful for testing the behaviour of individual PersonaStores. https://bugzilla.gnome.org/show_bug.cgi?id=712274 tests/lib/test-utils.vala | 160 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) commit 7fa70f18ab9c5e8988f6243b92c52c5d3be4cf16 Author: Philip Withnall Date: Mon Nov 11 11:02:46 2013 +0000 build: Move backend.mk inclusions to the top of the files Make it more obvious, and also make it non-optional. https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/bluez/Makefile.am | 2 +- backends/eds/Makefile.am | 2 +- backends/key-file/Makefile.am | 2 +- backends/libsocialweb/Makefile.am | 2 +- backends/ofono/Makefile.am | 2 +- backends/telepathy/Makefile.am | 2 +- backends/tracker/Makefile.am | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) commit 43d92e79f349608bb9cee2158043bc07b50a9b27 Author: Philip Withnall Date: Mon Nov 11 10:58:41 2013 +0000 build: Rename AM_VALAFLAGS to TARGET_VALAFLAGS in configure.ac Remembering to always append to AM_VALAFLAGS, rather than define it from scratch, is hard and error-prone. Simpler and more consistent to define a new variable, TARGET_VALAFLAGS, which must be manually included in every AM_VALAFLAGS or target-specific *_VALAFLAGS declaration. https://bugzilla.gnome.org/show_bug.cgi?id=712274 backends/backend.mk | 1 + backends/eds/lib/Makefile.am | 1 + backends/libsocialweb/lib/Makefile.am | 1 + backends/telepathy/lib/Makefile.am | 7 +++++-- backends/tracker/lib/Makefile.am | 1 + configure.ac | 6 +++--- folks/Makefile.am | 2 ++ tests/lib/Makefile.am | 3 ++- tests/lib/eds/Makefile.am | 3 ++- tests/lib/key-file/Makefile.am | 3 ++- tests/lib/libsocialweb/Makefile.am | 3 ++- tests/lib/telepathy/Makefile.am | 3 ++- tests/lib/tracker/Makefile.am | 3 ++- tools/Makefile.am | 4 +++- tools/inspect/Makefile.am | 4 +++- 15 files changed, 32 insertions(+), 13 deletions(-) commit 75943c1062d0af4abc60bf2d1969f4f0a4d8fb17 Author: Philip Withnall Date: Mon Nov 11 10:29:55 2013 +0000 build: Factor common test build rules into test.mk Simplify the build system a little. https://bugzilla.gnome.org/show_bug.cgi?id=712274 tests/Makefile.am | 4 +++ tests/eds/Makefile.am | 53 ++++++++++++-------------------- tests/folks/Makefile.am | 67 +++++++++++++++-------------------------- tests/key-file/Makefile.am | 41 ++++++++----------------- tests/libsocialweb/Makefile.am | 49 ++++++++++-------------------- tests/telepathy/Makefile.am | 68 +++++++++++++++--------------------------- tests/test.mk | 59 ++++++++++++++++++++++++++++++++++++ tests/tracker/Makefile.am | 47 ++++++++++------------------- 8 files changed, 175 insertions(+), 213 deletions(-) commit 5a38700caaad1f459274e47b27085c2809d2780e Author: Philip Withnall Date: Mon Nov 11 10:18:02 2013 +0000 key-file: Add missing licencing header https://bugzilla.gnome.org/show_bug.cgi?id=712274 tests/lib/key-file/backend.vala | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 44cc39bdf3e32703aed173e8b1f607fa9e33d04c Author: Andika Triwidada Date: Tue Nov 26 10:01:03 2013 +0700 Updated Indonesian translation po/id.po | 154 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 106 insertions(+), 48 deletions(-) commit 1ec050efc4f7135e9958c74da2028daf669077a0 Author: Philip Withnall Date: Thu Nov 21 19:43:44 2013 +0000 individual: Remove a Persona if its ‘individual’ property changes As a follow-on from commit f00534294d7d52ac7e37dfaa075e3465b7755483, automatically remove a Persona from an Individual if the Individual receives a property change notification for the Persona.individual property. See: https://bugzilla.redhat.com/show_bug.cgi?id=1031252 folks/individual.vala | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit f02e2b10c60a2fd5c82c31ef69ca96a87c7c2f9f Author: Shantha kumar Date: Thu Nov 21 13:07:56 2013 +0530 Tamil Translations Updated po/ta.po | 396 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 280 insertions(+), 116 deletions(-) commit f00534294d7d52ac7e37dfaa075e3465b7755483 Author: Philip Withnall Date: Wed Nov 20 13:12:11 2013 +0000 individual: Clean up how Personas are transferred between Individuals Slightly improve it so that (theoretically) it’s now impossible for two Individuals to be connected to the same Persona simultaneously. Now, the old Individual will be automatically disconnected when the new Individual is connected. folks/individual.vala | 11 +++++++++++ 1 file changed, 11 insertions(+) commit c7318f12dede2d56c64b7e9cddc5a26b77c2c89a Author: Philip Withnall Date: Wed Nov 20 11:55:05 2013 +0000 individual: Change an assertion into a warning and relax its conditions This should fix a crash (probably) caused by a Persona which is in the process of being moved between two Individuals emitting a property change notification while both Individuals are still connected to its ‘notify’ signal. This is only ‘probably’ because I can’t reproduce the problem. See: https://bugzilla.redhat.com/show_bug.cgi?id=1031252 folks/individual.vala | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit 956c1d2aea563e6ef8cacafbb1edebb8b8ec7d7f Author: Simon McVittie Date: Tue Mar 19 17:59:14 2013 +0000 Add DisconnectionQueue, which disconnects signals semi-automatically tests/lib/Makefile.am | 1 + tests/lib/disconnection-queue.vala | 70 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) commit ff3ebb6595730e7c1e7633369da53dfef3f161fa Author: Simon McVittie Date: Tue Mar 19 15:22:23 2013 +0000 Eds.Backend: use a safe remove-while-iterating pattern Otherwise, if we unprepare with more than 0 address books, we'll remove from a hash map while iterating over it, resulting in a crash. backends/eds/eds-backend.vala | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) commit a9e15326b07b0c284d50013e220717b375521a50 Author: Travis Reitter Date: Thu Oct 10 16:23:32 2013 -0700 libsocialweb tests: disconnect all signals Patch by Simon McVittie tests/libsocialweb/aggregation.vala | 28 ++++++++++++++++++---------- tests/libsocialweb/dummy-lsw.vala | 12 ++++++++---- 2 files changed, 26 insertions(+), 14 deletions(-) commit eb53653c3ca361666883ef029c08d8d5cdfee0f7 Author: Daniel Mustieles Date: Sat Nov 16 18:25:20 2013 +0100 Updated Spanish translation po/es.po | 374 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 260 insertions(+), 114 deletions(-) commit 6b365665b76b885e3d1b614e90fba65df6567200 Author: Marek Černocký Date: Fri Nov 15 07:53:23 2013 +0100 Updated Czech translation po/cs.po | 330 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 227 insertions(+), 103 deletions(-) commit baa553f5f496f0f7ad184adea97d41d9b7521168 Author: Dimitris Spingos Date: Wed Nov 13 17:19:07 2013 +0200 Updated Greek translation po/el.po | 351 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 247 insertions(+), 104 deletions(-) commit 8180d7d24b4f7a6a506c6cd67f2a3936226c2c34 Author: Rafael Ferreira Date: Wed Nov 13 23:28:02 2013 -0200 Updated Brazilian Portuguese Translation po/pt_BR.po | 155 +++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 107 insertions(+), 48 deletions(-) commit d61f7c05acdb3a43bb89a1595487a5e613e7747a Author: Gabor Kelemen Date: Mon Nov 11 10:26:56 2013 +0100 Updated Hungarian translation po/hu.po | 345 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 237 insertions(+), 108 deletions(-) commit f19e702221b0ca1be11f91a88f854876e30ba405 Author: Nilamdyuti Goswami Date: Mon Nov 11 13:32:32 2013 +0530 Assamese translation updated po/as.po | 339 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 235 insertions(+), 104 deletions(-) commit 1972b105ba27b3edfd2d4557f4e2a60cacc3b05b Author: Aurimas Černius Date: Fri Nov 8 22:57:15 2013 +0200 Updated Lithuanian translation po/lt.po | 164 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 110 insertions(+), 54 deletions(-) commit 55846de44fcddb4654f312d4d2b22b209966ffd9 Author: Piotr Drąg Date: Fri Nov 8 14:00:28 2013 +0100 Updated Polish translation po/pl.po | 142 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 96 insertions(+), 46 deletions(-) commit 83f9455ffb2e85d38bef8cabdc95f748d2c330d3 Author: Fran Diéguez Date: Fri Nov 8 10:32:13 2013 +0100 Updated Galician translations po/gl.po | 240 +++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 174 insertions(+), 66 deletions(-) commit d4b929e269d564b540b17fcd384cb481437c5e58 Author: Мирослав Николић Date: Fri Nov 8 08:45:34 2013 +0100 Updated Serbian translation po/sr.po | 160 +++++++++++++++++++++++++++++++++++++++------------------ po/sr@latin.po | 160 +++++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 222 insertions(+), 98 deletions(-) commit f4861853833ae9f34f4238cf79ae59c2f3633c49 Author: Philip Withnall Date: Thu Nov 7 13:37:32 2013 +0000 build: Remove unused variables from configure.ac https://bugzilla.gnome.org/show_bug.cgi?id=711544 configure.ac | 3 --- 1 file changed, 3 deletions(-) commit d0d94aeb5af7f5300a0dbe0eb756fd053d9e8f9f Author: Philip Withnall Date: Thu Nov 7 13:31:34 2013 +0000 build: Update configure.ac as suggested by autoupdate Thanks, autoupdate. https://bugzilla.gnome.org/show_bug.cgi?id=711544 configure.ac | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 8c5d7f90c1f0e872cdf25648bd721aaed90bf3b6 Author: Philip Withnall Date: Thu Nov 7 13:24:32 2013 +0000 build: Use AS_HELP_STRING instead of the deprecated AC_HELP_STRING https://bugzilla.gnome.org/show_bug.cgi?id=711544 configure.ac | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) commit 44dd8bbaadbf2e147d9ea91e64c9d527688cfc47 Author: Philip Withnall Date: Thu Nov 7 13:23:49 2013 +0000 build: Build backend libraries before the backend modules themselves https://bugzilla.gnome.org/show_bug.cgi?id=711544 backends/eds/Makefile.am | 2 +- backends/libsocialweb/Makefile.am | 2 +- backends/telepathy/Makefile.am | 2 +- backends/tracker/Makefile.am | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit fded410fd72c290596fb2b2fb2929fa92339b1c6 Author: Philip Withnall Date: Wed Jul 25 13:10:02 2012 -0600 Bug 651672 — Individual should have a display-name property Based on work by Jeremy Whiting and Laurent Contzen. New API: • Individual.display_name • StructuredName.to_string_with_format() https://bugzilla.gnome.org/show_bug.cgi?id=651672 NEWS | 3 + folks/individual.vala | 233 +++++++++++++++++++++++++++++++++++++++++- folks/name-details.vala | 193 ++++++++++++++++++++++++++++++++-- tests/folks/Makefile.am | 5 + tests/folks/name-details.vala | 137 +++++++++++++++++++++++++ 5 files changed, 559 insertions(+), 12 deletions(-) commit c9c428ee6713fcc40e5db636c81f2598cec572ee Author: Philip Withnall Date: Thu Nov 7 08:40:56 2013 +0000 core: Documentation clarifications on immutability Make it a little clearer which properties in PersonaStore can change, and when. folks/persona-store.vala | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) commit 1493cd13e59725222fcfa5ad24e13be2b468a81a Author: Philip Withnall Date: Wed Nov 6 17:18:13 2013 +0000 Post-release version bump NEWS | 11 +++++++++++ configure.ac | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-)