Philip Withnall [Thu, 8 Jul 2010 09:56:36 +0000 (10:56 +0100)]
Don't try to strip() a null string
Philip Withnall [Thu, 8 Jul 2010 09:54:43 +0000 (10:54 +0100)]
Fix notification of favourites changes in Individual
Philip Withnall [Wed, 7 Jul 2010 17:15:33 +0000 (18:15 +0100)]
Allow single personas to be removed through the IndividualManager
Philip Withnall [Wed, 7 Jul 2010 16:00:38 +0000 (17:00 +0100)]
Ensure updates to Persona:groups affect Individuals
Philip Withnall [Wed, 7 Jul 2010 15:12:29 +0000 (16:12 +0100)]
Ensure personas are only created and added once
Previously, IndividualAggregator.add_persona_from_details() would return a
different instance of the same persona than would get added to the
PersonaStore later (through channel change notification). This fixes that
to re-use the original persona created by add_persona_from_details().
Philip Withnall [Wed, 7 Jul 2010 15:11:58 +0000 (16:11 +0100)]
Improve filtering of empty aliases
Philip Withnall [Wed, 7 Jul 2010 12:13:55 +0000 (13:13 +0100)]
Add alias notification in Folks.Individual
Travis Reitter [Mon, 5 Jul 2010 16:59:15 +0000 (09:59 -0700)]
Add missing dbus-glib dep to docs build process
Philip Withnall [Mon, 5 Jul 2010 09:44:02 +0000 (10:44 +0100)]
Remove the built documentation on distclean
Philip Withnall [Thu, 1 Jul 2010 17:08:32 +0000 (18:08 +0100)]
Add documentation to every method in the Telepathy backend
Much of the documentation is inherited from that in the core of libfolks, and
the rest isn't particularly in-depth.
Philip Withnall [Thu, 1 Jul 2010 16:51:20 +0000 (17:51 +0100)]
Add the Telepathy backend to the documentation build
Philip Withnall [Fri, 2 Jul 2010 13:31:49 +0000 (14:31 +0100)]
Make Tpf.PersonaStore.change_is_favourite() internal
Philip Withnall [Fri, 2 Jul 2010 12:24:05 +0000 (13:24 +0100)]
Pass changes to Personas' aliases on to Telepathy
Travis Reitter [Fri, 2 Jul 2010 00:01:10 +0000 (17:01 -0700)]
Actually ref new Personas set for an Individual, so we don't double-unref them later.
Travis Reitter [Thu, 1 Jul 2010 23:35:49 +0000 (16:35 -0700)]
Update an Individual's store-persona hash when the persona is removed from its store.
Travis Reitter [Thu, 1 Jul 2010 22:29:23 +0000 (15:29 -0700)]
Don't emit an extraneous 'personas-removed' before we get confirmation from the server.
Travis Reitter [Thu, 1 Jul 2010 21:53:49 +0000 (14:53 -0700)]
When removing a Tpf.Persona, remove it from the same struct we're cycling through.
Travis Reitter [Thu, 1 Jul 2010 21:47:10 +0000 (14:47 -0700)]
When removing Tpf.Personas from the store, ensure we empty corresponding entries for the persona's handle.
Travis Reitter [Thu, 1 Jul 2010 17:22:50 +0000 (10:22 -0700)]
Bump version.
Travis Reitter [Thu, 1 Jul 2010 17:16:36 +0000 (10:16 -0700)]
Merge remote branch 'pwith/fixes3-no-prepare'
Philip Withnall [Thu, 1 Jul 2010 17:12:11 +0000 (18:12 +0100)]
Merge branch 'master' into fixes3-no-prepare
Conflicts:
backends/telepathy/tpf-persona.vala
folks/individual.vala
folks/persona.vala
Philip Withnall [Thu, 1 Jul 2010 15:09:40 +0000 (16:09 +0100)]
Remove use of pkg-config directly from a Makefile
Philip Withnall [Thu, 1 Jul 2010 15:00:50 +0000 (16:00 +0100)]
Make configuration fail if vapigen is missing
Philip Withnall [Thu, 1 Jul 2010 14:46:21 +0000 (15:46 +0100)]
Split up pkg-config dependencies
Philip Withnall [Thu, 1 Jul 2010 14:25:22 +0000 (15:25 +0100)]
Apply new interface style convention
When a class implements any interfaces (in addition to its superclass), they
should each be put on a new line, and sorted alphabetically.
Philip Withnall [Thu, 1 Jul 2010 14:22:01 +0000 (15:22 +0100)]
Remove explicit array length from add_new_personas_from_contacts()
Philip Withnall [Wed, 30 Jun 2010 14:46:52 +0000 (15:46 +0100)]
Improve documentation build rules
Ensure that the documentation is rebuilt if any of the sources files it's
extracted from change.
Philip Withnall [Wed, 30 Jun 2010 13:57:20 +0000 (14:57 +0100)]
Clarify documentation of BackendStore.backend_available
Travis Reitter [Thu, 1 Jul 2010 03:08:32 +0000 (20:08 -0700)]
Bump required telepathy-glib.
Travis Reitter [Thu, 1 Jul 2010 02:46:04 +0000 (19:46 -0700)]
Merge remote branch 'pwith/interfaces'
Philip Withnall [Wed, 30 Jun 2010 11:38:05 +0000 (12:38 +0100)]
Fix audio and video capabilities
Philip Withnall [Wed, 30 Jun 2010 11:10:31 +0000 (12:10 +0100)]
Fix setting capabilities when Tp returns a null set of capabilities
Philip Withnall [Wed, 30 Jun 2010 11:04:43 +0000 (12:04 +0100)]
Merge branch 'master' into fixes3
Conflicts:
folks/individual.vala
Philip Withnall [Wed, 30 Jun 2010 11:00:15 +0000 (12:00 +0100)]
Merge branch 'master' into interfaces
Conflicts:
folks/persona-store.vala
folks/persona.vala
Philip Withnall [Wed, 30 Jun 2010 10:47:42 +0000 (11:47 +0100)]
Only warn about unknown personas if the account is already connected
This fixes spew of "unknown persona in favourites list" messages on startup.
Philip Withnall [Wed, 30 Jun 2010 10:40:37 +0000 (11:40 +0100)]
Handle the logger service going away gracefully
Philip Withnall [Wed, 30 Jun 2010 10:31:44 +0000 (11:31 +0100)]
Add a FIXME about using DBus.Connection.get_object_for_name_owner()
We can't use it at the moment due to bgo#623198.
Travis Reitter [Tue, 29 Jun 2010 23:50:34 +0000 (16:50 -0700)]
Merge remote branch 'pwith/favourites'
(Fixed)
Conflicts:
folks/individual.vala
folks/persona.vala
Travis Reitter [Tue, 29 Jun 2010 22:11:51 +0000 (15:11 -0700)]
Don't declare IndividualAggregator's constructor as throwing an error, since it doesn't.
Travis Reitter [Tue, 29 Jun 2010 22:08:38 +0000 (15:08 -0700)]
Merge remote branch 'pwith/docs2'
Fixed the documented return value for Presence.typecmp from docs2.
(Fixed)
Conflicts:
folks/individual-aggregator.vala
folks/individual.vala
Travis Reitter [Tue, 29 Jun 2010 17:51:42 +0000 (10:51 -0700)]
Make create_personas_from_channel_handles_async actually async.
Travis Reitter [Tue, 29 Jun 2010 18:02:47 +0000 (11:02 -0700)]
Bump the required version of GLib so we can take advantage of automatic ref counting for various GLib classes.
Philip Withnall [Tue, 29 Jun 2010 16:59:56 +0000 (17:59 +0100)]
Use get_object_for_name_owner() rather than just get_object()
This makes the Logger proxy more robust against the Logger service going
away.
Philip Withnall [Tue, 29 Jun 2010 15:27:52 +0000 (16:27 +0100)]
Make Individual.avatar.set private
Avatars are provided by the contacts; we can't set them ourselves.
Philip Withnall [Tue, 29 Jun 2010 15:27:19 +0000 (16:27 +0100)]
Implement a FIXME about checking for all-whitespace aliases
Philip Withnall [Tue, 29 Jun 2010 15:15:37 +0000 (16:15 +0100)]
Add capabilities support to TpfPersona
Philip Withnall [Tue, 29 Jun 2010 12:54:43 +0000 (13:54 +0100)]
Remove groups API from PersonaStore
It doesn't belong there, as classes which extend Folks.PersonaStore may not
implement Groups functionality. The API has been moved into TpfPersonaStore
as internal API to the Telepathy backend.
Philip Withnall [Tue, 29 Jun 2010 12:22:25 +0000 (13:22 +0100)]
Remove interfaces from Persona
Interfaces such as Alias and Persona should be implemented by the backend
persona class which extends Persona, since different backends will have
different functionalities. Any code using Persona should check which
interfaces the specific Persona instance implements before attempting to use
their functionality.
Philip Withnall [Tue, 29 Jun 2010 11:30:40 +0000 (12:30 +0100)]
Catch some unhandled errors
Philip Withnall [Tue, 29 Jun 2010 11:14:36 +0000 (12:14 +0100)]
Split the Logger interface out into a separate file
Split the LoggerIface we use to wrap the telepathy-logger D-Bus service out
into a separate file, and implement it in a new Logger class which shares the
same D-Bus object between all users of the class.
Philip Withnall [Tue, 29 Jun 2010 09:57:39 +0000 (10:57 +0100)]
First round of favourites review cleanups
Travis Reitter [Mon, 28 Jun 2010 22:11:04 +0000 (15:11 -0700)]
Change IndividualAggregator.members to IndividualAggregator.individuals for consistency with PersonaStore, etc.
Travis Reitter [Mon, 28 Jun 2010 21:31:44 +0000 (14:31 -0700)]
Rephrase explanation of Individual:removed signal.
Philip Withnall [Fri, 25 Jun 2010 16:36:48 +0000 (17:36 +0100)]
Add documentation for every public signal, property and member
Philip Withnall [Fri, 25 Jun 2010 14:29:56 +0000 (15:29 +0100)]
Remove an outdated comment
Philip Withnall [Wed, 23 Jun 2010 15:41:55 +0000 (16:41 +0100)]
Add Favourites support
This adds a Favourite interface, implemented by Individual and Persona, and
backed by a D-Bus connection to the telepathy-logger service in
TpfPersonaStore.
The D-Bus logger proxy is a custom-written one in Vala, as the logger proxy
doesn't exist in telepathy-glib at the moment.
Whenever the is-favourite property of an Individual is changed, its new value
is propagated to _all_ of the individual's Personas. Conversely, if a single
Persona has is-favourite == true, the Individual containing that Persona will
also have is-favourite == true.
Travis Reitter [Thu, 24 Jun 2010 16:32:38 +0000 (09:32 -0700)]
Merge remote branch 'pwith/fixes2'
(Fixed)
Conflicts:
backends/telepathy/tpf-persona-store.vala
Travis Reitter [Thu, 24 Jun 2010 15:22:33 +0000 (08:22 -0700)]
Merge remote branch 'pwith/docs'
(Fixed)
Conflicts:
folks/individual-aggregator.vala
folks/persona-store.vala
Travis Reitter [Thu, 24 Jun 2010 03:07:06 +0000 (20:07 -0700)]
Micro version bump for new functionality.
Travis Reitter [Thu, 24 Jun 2010 03:05:35 +0000 (20:05 -0700)]
Re-add the stored list, as it's necessary to properly remove contacts.
Travis Reitter [Thu, 24 Jun 2010 02:57:49 +0000 (19:57 -0700)]
Support contact removal
Travis Reitter [Thu, 24 Jun 2010 01:10:49 +0000 (18:10 -0700)]
Rename internal-only 'remove' functions in Tpf.PersonaStore so public 'remove' functions consistently mean 'remove permanently from the server'.
Travis Reitter [Wed, 23 Jun 2010 22:59:11 +0000 (15:59 -0700)]
Add a comment about the usage of IndividiualAggregator.add_persona_from_details().parent
Travis Reitter [Wed, 23 Jun 2010 22:49:04 +0000 (15:49 -0700)]
Cut out 'stored' contact list support; if a contact is in neither 'publish' nor 'subscribe', we don't want to present them.
Travis Reitter [Wed, 23 Jun 2010 22:47:31 +0000 (15:47 -0700)]
Remove personas for Telepathy contacts removed from both the subscribe and publish contact lists.
Travis Reitter [Wed, 23 Jun 2010 22:40:08 +0000 (15:40 -0700)]
Filter incoming group channel members through the standard contact list channels
Travis Reitter [Wed, 23 Jun 2010 18:45:35 +0000 (11:45 -0700)]
Add support for the 'stored' standard contact list channel.
Travis Reitter [Wed, 23 Jun 2010 17:55:59 +0000 (10:55 -0700)]
Don't be excessively-explicit about the HashMap hash/equal functions, since they're determined by the generic types.
Travis Reitter [Wed, 23 Jun 2010 17:54:21 +0000 (10:54 -0700)]
Avoid another potential group/non-group contact list channel hash collision.
Travis Reitter [Wed, 23 Jun 2010 17:36:54 +0000 (10:36 -0700)]
Handle the standard non-group contact list channels separately from each other and the group channels, as they need to be.
Travis Reitter [Wed, 23 Jun 2010 16:00:29 +0000 (09:00 -0700)]
Change the key for channel_group_personas_map to Tp.Channel to avoid potential collisions between the ContactList and Group channels.
Travis Reitter [Wed, 23 Jun 2010 15:59:31 +0000 (08:59 -0700)]
Change the key for channel_group_incoming_adds to Tp.Channel to avoid potential collisions between the ContactList and Group channels.
Philip Withnall [Wed, 23 Jun 2010 11:18:51 +0000 (12:18 +0100)]
Use a literal GError when proxying errors in the TpfPersonaStore
Philip Withnall [Wed, 23 Jun 2010 10:50:05 +0000 (11:50 +0100)]
Note about a Vala bug when chaining constructors which affects us
Philip Withnall [Wed, 23 Jun 2010 10:04:55 +0000 (11:04 +0100)]
Make BackendStore.load_backends() async
It does I/O, so should be async so that it doesn't block. Consequently, it's
no longer guaranteed that all backends/personas/individuals are loaded by the
time IndividualAggegator's constructor returns.
Philip Withnall [Wed, 23 Jun 2010 09:37:42 +0000 (10:37 +0100)]
Documentation fixes
Remove the redundant documentation of enum members and improve the
documentation of a few classes.
Travis Reitter [Tue, 22 Jun 2010 23:27:31 +0000 (16:27 -0700)]
Clean up the distinction between the standard 'subscribe', 'publish' contact list channels and arbitrary group channels.
Travis Reitter [Thu, 17 Jun 2010 15:06:04 +0000 (08:06 -0700)]
Add the ability to add new personas to a persona store.
Travis Reitter [Tue, 22 Jun 2010 19:05:55 +0000 (12:05 -0700)]
Have each Individual use the presence message for one of its most-online personas rather than the first message found.
Travis Reitter [Tue, 22 Jun 2010 18:54:59 +0000 (11:54 -0700)]
Cut idea for unncessary signal.
Travis Reitter [Tue, 22 Jun 2010 17:37:56 +0000 (10:37 -0700)]
Merge remote branch 'pwith/fixes'
Philip Withnall [Tue, 22 Jun 2010 17:24:33 +0000 (18:24 +0100)]
Add documentation support and stub documentation to Folks
Add valadoc documentation support in the build system, and add stub
documentation to the top level of all the classes in the Folks namespace, but
not the Folks.Backends namespace.
The documentation is generated in HTML format in docs/folks-0.1/ but isn't
distributed in the tarball.
Philip Withnall [Tue, 22 Jun 2010 15:14:05 +0000 (16:14 +0100)]
gcc warning fixes in tp-lowlevel.[ch]
Philip Withnall [Tue, 22 Jun 2010 12:28:48 +0000 (13:28 +0100)]
Ensure the individual is removed if all its persona list property is emptied
This was already the case when existing personas were removed from the
individual due to their source going away. This commit fixes it for when the
persona list property is changed directly.
Philip Withnall [Tue, 22 Jun 2010 11:37:11 +0000 (12:37 +0100)]
Use a persona's UID as an individual's alias if no personas have an alias
Philip Withnall [Tue, 22 Jun 2010 11:28:03 +0000 (12:28 +0100)]
Make Individual.get_presence_message() return an unowned string
This prevents a completely unnecessary string copy.
Philip Withnall [Tue, 22 Jun 2010 10:42:51 +0000 (11:42 +0100)]
Remove system m4 macros from the m4 directory
Add them to a .gitignore file instead.
Philip Withnall [Tue, 22 Jun 2010 10:39:31 +0000 (11:39 +0100)]
Add some comments to the code
Travis Reitter [Thu, 17 Jun 2010 22:21:22 +0000 (15:21 -0700)]
Relocate folks_tp_lowlevel_connection_open_contact_list_channel_finish() next to its _async() function
Travis Reitter [Thu, 17 Jun 2010 00:16:21 +0000 (17:16 -0700)]
Use a hash table for tracking new incoming TpfPersonas and only add them if they're new.
Travis Reitter [Sun, 13 Jun 2010 00:55:21 +0000 (17:55 -0700)]
Clean up Telepathy PersonaStore removal and addition. This fixes a regression where a Telepathy persona store wouldn't emit 'removed' even if its account were disabled
Travis Reitter [Fri, 11 Jun 2010 23:04:23 +0000 (16:04 -0700)]
Use consistent naming and signatures for the Tpf.Persona property-notification-passing helper functions.
Travis Reitter [Fri, 11 Jun 2010 23:00:58 +0000 (16:00 -0700)]
Generalize overly-specific 'using' statement
Travis Reitter [Fri, 11 Jun 2010 22:59:01 +0000 (15:59 -0700)]
Trivial clean-up.
Travis Reitter [Fri, 11 Jun 2010 20:24:00 +0000 (13:24 -0700)]
Support avatars (generally, and for the Telepathy backend)
Travis Reitter [Thu, 10 Jun 2010 14:20:43 +0000 (07:20 -0700)]
Fix the location of libfolks-telepathy in its -uninstalled pkgconfig file.
Travis Reitter [Thu, 3 Jun 2010 19:48:58 +0000 (12:48 -0700)]
Bump the version number for the major changes of the last few commits.
Travis Reitter [Thu, 3 Jun 2010 19:42:19 +0000 (12:42 -0700)]
Add .deps files for the public libraries.
Travis Reitter [Thu, 3 Jun 2010 18:18:16 +0000 (11:18 -0700)]
Rename the folks-telepathy files, since they're in a different namespace than the folks-backend-telepathy files
Travis Reitter [Thu, 3 Jun 2010 18:09:16 +0000 (11:09 -0700)]
Add proper namespaces to the Telepathy backend and support libraries