Alban Browaeys [Wed, 1 Aug 2012 12:43:21 +0000 (14:43 +0200)]
configure: -Werror= make no sense for "no" and "extra"
gcc error out when -Werror=extra -Werror=no-*
are used. And it is the most sensible thing to do.
https://bugzilla.gnome.org/show_bug.cgi?id=680976
Philip Withnall [Tue, 31 Jul 2012 15:04:06 +0000 (17:04 +0200)]
Post-release version bump
Philip Withnall [Mon, 30 Jul 2012 10:50:08 +0000 (12:50 +0200)]
build: Add a missing file to MAINTAINERCLEANFILES
Philip Withnall [Mon, 30 Jul 2012 09:12:05 +0000 (11:12 +0200)]
build: Remove -Werror from CFLAGS
Replace it with a more targetted set of -Werror=[flag] flags, copied from
libsoup: http://git.gnome.org/browse/libsoup/tree/configure.ac?id=
f5902fce98ae0314f0d9ca6e544895548c94a456#n339
Fran Diéguez [Mon, 30 Jul 2012 00:50:19 +0000 (02:50 +0200)]
Updated Galician translations
Philip Withnall [Sun, 29 Jul 2012 18:06:02 +0000 (20:06 +0200)]
eds: Remove unnecessary valadoc taglet
The [Deprecated] code attribute serves the same purpose.
Philip Withnall [Sun, 29 Jul 2012 18:04:44 +0000 (20:04 +0200)]
docs: Add “wiki” pages to the documentation
These, aptly enough, contain information moved from the wiki on
freedesktop.org about folks concepts, debugging and a glossary.
Philip Withnall [Sun, 29 Jul 2012 15:26:07 +0000 (17:26 +0200)]
Release version 0.7.3
Philip Withnall [Sun, 29 Jul 2012 07:50:38 +0000 (09:50 +0200)]
build: Add a missing file to the tests Makefile
Stas Solovey [Sun, 29 Jul 2012 14:09:24 +0000 (18:09 +0400)]
Updated Russian translation
Christian Kirbach [Sat, 28 Jul 2012 22:16:34 +0000 (00:16 +0200)]
Updated German translation
Sweta Kothari [Fri, 27 Jul 2012 10:00:54 +0000 (15:30 +0530)]
Updated gujarati file & Added LINGUAS file for gujarati
Jeremy Whiting [Tue, 24 Jul 2012 18:46:06 +0000 (12:46 -0600)]
Revert "Change libgee dependency from 0.6 to 0.8."
This reverts commit
5b5360bff7a61ef17173cbe35cc32712ca0fc329.
Jeremy Whiting [Tue, 24 Jul 2012 18:44:25 +0000 (12:44 -0600)]
Revert "Port folks to libgee 0.8."
This reverts commit
e069bbe59dc54eb3595d8ee5c96aea4a36cff9aa.
Philip Withnall [Sat, 21 Jul 2012 00:25:01 +0000 (01:25 +0100)]
Bug 660236 — Paging for long text in folks-inspect
Use $PAGER to allow paging of the output of really long commands in
folks-inspect.
Based on work by Raúl Gutierrez Segales and Jeremy Whiting.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=660236
Jeremy Whiting [Mon, 23 Jul 2012 18:52:18 +0000 (12:52 -0600)]
Remove extra calls to set this._prepare_pending to false.
Jeremy Whiting [Fri, 20 Jul 2012 20:57:56 +0000 (14:57 -0600)]
Removed locks in trf-persona-store that are not needed.
Minor style fixes based on review of previous changes.
Jeremy Whiting [Fri, 20 Jul 2012 16:51:08 +0000 (10:51 -0600)]
Remove additional locks around this._is_prepared.
Travis Reitter [Thu, 7 Jul 2011 01:13:36 +0000 (18:13 -0700)]
Cut unnecessary locking in Tracker backend tests.
Closes: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Thu, 7 Jul 2011 00:54:01 +0000 (17:54 -0700)]
Cut unnecessary Swf.PersonaStore._is_prepared locking.
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Thu, 7 Jul 2011 00:51:07 +0000 (17:51 -0700)]
Cut unnecessary Kf.PersonaStore._is_prepared locking.
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Thu, 7 Jul 2011 00:39:40 +0000 (17:39 -0700)]
Cut unnecessary Tpf.PersonaStore._is_prepared locking.
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Thu, 7 Jul 2011 00:21:56 +0000 (17:21 -0700)]
Cut unnecessary Trf.PersonaStore._is_prepared locking.
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Thu, 7 Jul 2011 00:58:05 +0000 (17:58 -0700)]
Prevent extra "concurrent" Aggregator prepare() calls from one thread.
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Wed, 6 Jul 2011 21:48:43 +0000 (14:48 -0700)]
Prevent extra "concurrent" PersonaStore.prepare() calls from one thread.
The lock() calls which were in place only prevent concurrent calls from
different threads; however, the critical section could still be reached
from two async calls in the same thread a la:
backend.prepare.begin ((s,r) => {...});
backend.prepare.begin ((s,r) => {...});
The bodies of the handlers would not literally execute concurrently, but
would be interleaved if each were sufficiently long. Our fix simply
ignores any calls which happen while one is still working.
(yield backend.prepare(); yield backend.prepare(); was already safe, of
course)
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Wed, 6 Jul 2011 18:09:26 +0000 (11:09 -0700)]
Add test cases for mutexing for async calls from the same thread.
The standard Vala lock() call is a recursive lock, so it only prevents
concurrent access between different threads. But we rarely run in
distinct threads, so this test uses a more-complete solution that we can
depend upon (since the test will fail if its assumptions ever change in
Vala).
Helps: bgo#652637 - Don't hold locks across async calls
Travis Reitter [Tue, 5 Jul 2011 21:36:49 +0000 (14:36 -0700)]
Fix Tracker structure locking for user-initiated Persona adds.
Helps: bgo#652637 - Don't hold locks across async calls
Kjartan Maraas [Mon, 23 Jul 2012 10:27:16 +0000 (12:27 +0200)]
Updated Norwegian bokmål translation
Philip Withnall [Sun, 22 Jul 2012 12:04:59 +0000 (13:04 +0100)]
eds: Make some PersonaStore methods synchronous
There was absolutely no point in them being asynchronous (they didn’t yield
at all, and didn’t run any blocking operations), so were just generating
excess C code and slowing everything down.
This cuts 1200 lines from edsf-persona-store.c.
Philip Withnall [Sun, 22 Jul 2012 08:10:29 +0000 (09:10 +0100)]
eds: Hide the “Starred in Android” group from the set of groups
For Google address books, it’s used to determine whether a contact is a
favourite, so needn’t be shown in the set of groups.
Note that this requires commit
161faab40fa65e813ac98042ef822298dc58cfde
from EDS in order to behave properly.
See: https://bugzilla.gnome.org/show_bug.cgi?id=661490
Ihar Hrachyshka [Thu, 19 Jul 2012 21:07:52 +0000 (00:07 +0300)]
Added Belarusian translation.
Philip Withnall [Thu, 19 Jul 2012 04:04:31 +0000 (05:04 +0100)]
core: Fix documentation on GroupDetails.groups
It was out of date and didn’t match the data type of GroupDetails.groups
any more.
See: https://bugzilla.gnome.org/show_bug.cgi?id=679743
Philip Withnall [Fri, 22 Jun 2012 18:17:42 +0000 (19:17 +0100)]
telepathy: Preserve Tpf.Persona avatars from the cache for online contacts
This is a fairly hacky way of fixing the problem in bug #660128: maintaining
a map of IIDs to avatar files for all personas in the Telepathy backend, and
referring to it in case Telepathy doesn’t know the current avatar for a
TpContact. This can happen if that contact is currently offline while we’re
online, for example. This allows use of the avatars cached from last time
contacts were online, even though those contacts are now offline.
A more comprehensive fix, which I would have implemented if I hadn’t just got
my degree classification and weren’t just heading out to celebrate, would
involve rearchitecting the caching of the Telepathy backend so that the
Tpf.Personas weren’t destroyed and re-created whenever the backend went
offline/online; instead, they would have their properties updated from the
cache/online contact list. This would eliminate spurious personas-changed
signals, unify the code implementing the different properties (currently it’s
split between the properties and separate implementations in
Tpf.Persona.from_cache()), and allow property values to persist from offline
to online without the need for hacks like this.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=660128
Philip Withnall [Fri, 22 Jun 2012 18:09:57 +0000 (19:09 +0100)]
telepathy: Allow for updated Tpf.Personas properties to update the cache
Currently, the cache is only written when going offline, which means that any
properties of Tpf.Personas which are updated at runtime aren’t written to the
cache unless the client explicitly goes offline before being closed. This
doesn’t often happen, meaning the property updates are lost and the cache
becomes stale.
This commit keeps track of the clean/dirty state of the cache and writes it
out when PersonaStore.flush() is called. It also adds a new method,
IndividualAggregator.unprepare(), which ensures all the persona stores handled
by the aggregator are flushed. Clients should call this method before closing
their main loop.
(Calling flush() in the finalise function of the PersonaStore doesn’t work
because Tpf.PersonaStores are often never finalised due to the implementation
of Tpf.PersonaStore.dup_for_account(). Furthermore, calling flush() in the
finalise function of the IndividualAggregator doesn’t work because the client
will typically quit the main loop immediately afterwards, which will cancel
the asynchronous flush call.)
New API:
• IndividualAggregator.unprepare()
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=660128
Philip Withnall [Fri, 22 Jun 2012 18:03:55 +0000 (19:03 +0100)]
core: Don’t keep references to PersonaStores in each Individual
Pointless and it makes debugging reference counting bugs a real pain.
Jeremy Whiting [Wed, 18 Jul 2012 18:44:06 +0000 (12:44 -0600)]
telepathy: Change warning about CM not implementing contact list to debug message.
fixes: 675223
Мирослав Николић [Tue, 17 Jul 2012 20:03:17 +0000 (22:03 +0200)]
Updated Serbian translation
Мирослав Николић [Tue, 17 Jul 2012 20:00:50 +0000 (22:00 +0200)]
Added Serbian translation
Jeremy Whiting [Mon, 16 Jul 2012 22:30:14 +0000 (16:30 -0600)]
Update NEWS file adding recently fixed bug.
Jeremy Whiting [Mon, 16 Jul 2012 22:10:33 +0000 (16:10 -0600)]
eds: Trust google address books FULL since authorization is required to load.
Jeremy Whiting [Mon, 16 Jul 2012 22:09:55 +0000 (16:09 -0600)]
folks: Don't downgrade persona store trust level.
Jeremy Whiting [Mon, 16 Jul 2012 21:37:49 +0000 (15:37 -0600)]
tracker: Fix tracker unit tests to wait until persona store is prepared.
Jeremy Whiting [Mon, 16 Jul 2012 21:30:16 +0000 (15:30 -0600)]
tracker: Throw an error if personas are added before store is prepared.
Jeremy Whiting [Mon, 16 Jul 2012 16:19:10 +0000 (10:19 -0600)]
tests: Add execute-test.sh to do test output capturing.
tests: Call execute-test.sh from each of with-session-bus scripts.
Jeremy Whiting [Mon, 16 Jul 2012 16:16:39 +0000 (10:16 -0600)]
Send eds server debug output into /dev/null along with regular output.
Extend sleep time to 2 seconds.
Daniel Mustieles [Mon, 16 Jul 2012 14:42:24 +0000 (16:42 +0200)]
Updated Spanish translation
Aurimas Černius [Sat, 14 Jul 2012 11:59:28 +0000 (14:59 +0300)]
Added Lithuanian translation
Chao-Hsiung Liao [Sat, 14 Jul 2012 05:40:54 +0000 (13:40 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)
Philip Withnall [Fri, 13 Jul 2012 22:17:33 +0000 (23:17 +0100)]
telepathy: Tidy up group change notification handling in Tpf.Persona
Philip Withnall [Sun, 24 Jun 2012 10:50:06 +0000 (11:50 +0100)]
eds: Add an Edsf.Persona.in_google_personal_group property
This is set whenever the persona is in the “My Contacts” group in Google
Contacts, which is normally exposed by EDS as being in the “Personal”
category. This system group can’t be reliably detected normally as “Personal”
is translated by EDS. This caused problems for gnome-contacts, hence the
new API.
The new API requires EDS 3.5.3 at runtime, and will always be false
otherwise.
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=676383
Jeremy Whiting [Tue, 10 Jul 2012 20:48:59 +0000 (14:48 -0600)]
Remove gconf soft dependency used for eds unit tests.
Fixes: bgo 674611
Jeremy Whiting [Fri, 13 Jul 2012 21:11:27 +0000 (15:11 -0600)]
Add a sleep for one second after starting the eds servers.
Fixes inconsistent eds unit test failures. All tests pass here now.
Jeremy Whiting [Fri, 13 Jul 2012 16:59:39 +0000 (10:59 -0600)]
telepathy: Set _prepare_pending to true at beginning of prepare.
Fixes folks init unit test failure.
Jeremy Whiting [Thu, 12 Jul 2012 20:22:41 +0000 (14:22 -0600)]
Merge branch 'cleantestoutput'
Reviewed-by: Philip Withnal
Closes: bgo 657456 https://bugzilla.gnome.org/show_bug.cgi?id=657456
Philip Withnall [Mon, 9 Jul 2012 20:18:41 +0000 (21:18 +0100)]
Bug 679618 — Crash when unsetting all groups
Rework the group changing code in Tpf.Persona so that:
1. change_groups() no longer changes the set of groups while iterating
over it; and
2. batch Telepathy calls are made where possible, rather than one call per
group change.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=679618
Jeremy Whiting [Tue, 10 Jul 2012 20:22:29 +0000 (14:22 -0600)]
Make test output use color for PASS/FAIL.
Don't show test output unless CHECK_VERBOSE is set.
Fixes: bgo 657456
Kjartan Maraas [Mon, 9 Jul 2012 12:33:34 +0000 (14:33 +0200)]
Updated Norwegian bokmål translation
Bruno Brouard [Sun, 8 Jul 2012 09:28:19 +0000 (11:28 +0200)]
New French translation
Piotr Drąg [Sat, 7 Jul 2012 20:58:13 +0000 (22:58 +0200)]
Updated POTFILES.in and POTFILES.skip
Philip Withnall [Sun, 6 May 2012 21:59:45 +0000 (22:59 +0100)]
key-file: Add anti-linking support
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=629537
Philip Withnall [Sun, 6 May 2012 21:59:34 +0000 (22:59 +0100)]
eds: Add anti-linking support
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=629537
Philip Withnall [Mon, 25 Jul 2011 19:27:29 +0000 (20:27 +0100)]
core: Add core anti-linking support
This adds the core of the anti-linking support, based around a new
AntiLinkable interface. This will be implemented by Persona subclasses which
can store anti-linking information (in the form of a set of Persona UIDs
which the given Persona should never be linked to).
This approach allows anti-linking information to be stored with the personas
(presumably in the primary persona store) and thus it should be network
transparent. i.e. Using folks on two different computers with a Google
Contacts address book as primary should cause the anti-linking data to be
shared.
This also includes the necessary IndividualAggregator changes.
Sadly, no unit tests are included.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=629537
Philip Withnall [Mon, 7 May 2012 23:01:42 +0000 (00:01 +0100)]
core: Replace the linking step in IA.ensure_individual_property_writeable()
It’s a waste of time to create a new Persona to ensure the property is
writeable, then create _another_ new Persona to link it to the Individual.
Why not just create the writeable Persona so that it’s automatically linked
to the Individual?
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=629537
Philip Withnall [Mon, 7 May 2012 22:59:56 +0000 (23:59 +0100)]
core: Split details table code out of IA.link_personas()
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=629537
Philip Withnall [Thu, 8 Dec 2011 10:18:25 +0000 (10:18 +0000)]
aggregator: Convert the link map to use a MultiMap
When it's possible to have personas sharing IM addresses but not being
linked (due to anti-links), the link map's assumption that one IM address
(or other linkable property) maps to one individual will be invalid. This
commit converts the link map to be a HashMultiMap, effectively changing it
from a mapping of string → Individual to a mapping of
string → Set<Individual>.
Helps: bgo#629537
Jeremy Whiting [Fri, 6 Jul 2012 20:23:59 +0000 (14:23 -0600)]
Change urls to links in doc comments, fixes doc creation.
Jeremy Whiting [Fri, 6 Jul 2012 15:22:56 +0000 (09:22 -0600)]
Add bugfix and dependency change to NEWS.
Jeremy Whiting [Fri, 6 Jul 2012 15:18:51 +0000 (09:18 -0600)]
Merge branch libgeetest which upgrades our libgee dependency.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=673918
Jeremy Whiting [Wed, 4 Jul 2012 19:11:48 +0000 (13:11 -0600)]
Port folks to libgee 0.8.
Added hash_static and equal_static to AbstractFieldDetails.
Use AbstractFieldDetails hash_static and equal_static where needed.
Guillaume Desmottes [Mon, 2 Jul 2012 07:01:36 +0000 (09:01 +0200)]
backend-store: never translate warning messages
Most of them were not translated.
https://bugzilla.gnome.org/show_bug.cgi?id=679116
Guillaume Desmottes [Fri, 29 Jun 2012 09:54:57 +0000 (11:54 +0200)]
backend-store: output a debug message if mime type of potential backends looks weird
Will make my life much easier next time I'm wondering why nothing is working.
https://bugzilla.gnome.org/show_bug.cgi?id=679116
Khaled Hosny [Fri, 6 Jul 2012 04:02:13 +0000 (06:02 +0200)]
Arabic translation
Jeremy Whiting [Wed, 4 Jul 2012 15:37:47 +0000 (09:37 -0600)]
Change libgee dependency from 0.6 to 0.8.
Jeremy Whiting [Wed, 4 Jul 2012 23:10:27 +0000 (17:10 -0600)]
Port away from tp_connection_new since it has been deprecated.
Synced some sources from telepathy-glib/tests/lib/.
Jeremy Whiting [Wed, 4 Jul 2012 15:38:52 +0000 (09:38 -0600)]
Get libexecdir from libedata-book-1.2.pc.
Jeremy Whiting [Tue, 3 Jul 2012 16:23:05 +0000 (10:23 -0600)]
Bump released bit back to 0.
Change dependency in NEWS from 3.5.4 to 3.5.3.1
Jeremy Whiting [Mon, 2 Jul 2012 20:38:25 +0000 (14:38 -0600)]
Fix eds dependency to 3.5.3.1.
Bump release numbers for 0.7.2.2 release.
Jeremy Whiting [Mon, 2 Jul 2012 20:38:02 +0000 (14:38 -0600)]
Change UNRELEASED to 0.7.2.
Nguyễn Thái Ngọc Duy [Sat, 30 Jun 2012 13:26:13 +0000 (20:26 +0700)]
Updated Vietnamese translation
Jeremy Whiting [Thu, 28 Jun 2012 22:20:55 +0000 (16:20 -0600)]
Post 0.7.2.1 release version bump.
Added 0.7.2 to 0.7.3 section to NEWS.
Jeremy Whiting [Thu, 28 Jun 2012 21:34:55 +0000 (15:34 -0600)]
Add Profiling api to NEWS file.
Bump soname numbers in configure.ac for Folks 0.7.2.1 release.
Jeremy Whiting [Thu, 28 Jun 2012 20:40:49 +0000 (14:40 -0600)]
Bump nano version and revert released bit.
Add 0.7.3 section to the top of NEWS.
Jeremy Whiting [Thu, 28 Jun 2012 19:49:50 +0000 (13:49 -0600)]
Use async creation of Source Registry in eds test backend.
Jeremy Whiting [Thu, 28 Jun 2012 19:49:00 +0000 (13:49 -0600)]
Start eds source-registry and addressbook-factory ourselves.
Jeremy Whiting [Thu, 28 Jun 2012 19:47:32 +0000 (13:47 -0600)]
Add test.source and other.source to EXTRA_DIST.
Jeremy Whiting [Thu, 28 Jun 2012 19:46:57 +0000 (13:46 -0600)]
Add Bugfix to NEWS.
Jeremy Whiting [Thu, 28 Jun 2012 18:17:52 +0000 (12:17 -0600)]
Add folks-internal to libsocialweb backend library vapi.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679020
Jeremy Whiting [Thu, 28 Jun 2012 17:41:15 +0000 (11:41 -0600)]
Add folks-internal to make docs dependencies for profiling symbols.
Jeremy Whiting [Thu, 28 Jun 2012 16:53:58 +0000 (10:53 -0600)]
Default to xz tarballs for distribution.
Jeremy Whiting [Wed, 27 Jun 2012 17:22:18 +0000 (11:22 -0600)]
Remove individual-zeitgeist from make check targets.
Jeremy Whiting [Wed, 27 Jun 2012 03:48:45 +0000 (21:48 -0600)]
Folks 0.7.2 release.
Philip Withnall [Sun, 24 Jun 2012 19:21:55 +0000 (20:21 +0100)]
tracker: Unmark a method as asynchronous
Private method, didn’t need to be asynchronous.
Philip Withnall [Sun, 24 Jun 2012 17:33:49 +0000 (18:33 +0100)]
eds: Share a single E.SourceRegistry between all Edsf.PersonaStores
Turns out a single E.SourceRegistry takes about 200ms to construct, due to
involving D-Bus round trips, so sharing the existing SourceRegistry from the
Eds.Backend to all its Edsf.PersonaStores is a big win.
Philip Withnall [Sun, 24 Jun 2012 17:15:41 +0000 (18:15 +0100)]
aggregator: Don’t prematurely reach quiescence
If one of the backends loads very fast, but doesn’t signal the addition of
any persona stores for a while, the IndividualAggregator will prematurely
reach quiescence. We now force quiescence to be reached at least after all
the backends have finished loading.
Philip Withnall [Sun, 24 Jun 2012 16:55:43 +0000 (17:55 +0100)]
core: Add a profiling API and implement some profiling points
The API outputs messages in the format accepted by Federico’s
plot-timeline.py (http://people.gnome.org/~federico/news-2006-03.html#timeline-tools)
so graphs can easily be generated by running:
strace -ttt -f -o /tmp/logfile folks-inspect
python plot-timeline.py -o graph.png /tmp/logfile
So far, the BackendStore, IndividualAggregator and Backend and PersonaStore
classes for all the backends have been annotated.
Jeremy Whiting [Mon, 25 Jun 2012 22:01:19 +0000 (16:01 -0600)]
Add bug fix to NEWS file.
Jeremy Whiting [Mon, 25 Jun 2012 21:55:22 +0000 (15:55 -0600)]
Fix style issues as noted in https://bugzilla.gnome.org/show_bug.cgi?id=678811.
Use _addressbook_name to ref the test source.
Remove unused _source_name.
Jeremy Whiting [Mon, 25 Jun 2012 19:07:49 +0000 (13:07 -0600)]
Remove GConf stop from eds test harness, since it's not needed.
Jeremy Whiting [Mon, 25 Jun 2012 19:06:26 +0000 (13:06 -0600)]
Add mainloop to eds test backend tear_down to wait for addressbook removal.
Jeremy Whiting [Mon, 25 Jun 2012 19:01:49 +0000 (13:01 -0600)]
Fix link-personas-diff-stores test.
Need to use both test and other addressbooks.