2008-03-13 Joergen Scheibengruber * configure.ac: * debian/changelog: Version 3.20080313 2008-03-13 Joergen Scheibengruber * src/avatars.c: (init_cache), (update_cache), (avatar_have_for_token), (avatar_save), (avatar_remove): * src/eds-sync.c: (eds_sync_init), (eds_sync_new), (eds_sync_handle_channel): * src/eds.c: (on_local_contacts_added), (eds_populate_handles): * src/sync.c: (add_remote_address_to_local_contact), (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed): * src/telepathy.c: (inform_avatar_change), (get_known_avatar_tokens_cb), (get_known_members_cb), (get_subscribe_members_cb), (subscribe_members_changed_cb), (get_blocked_members_cb), (handle_publish_pending_members), (eds_sync_telepathy_new): * src/util.c: (print_handle), (expire_avatar_cache), (avatar_cache_expire): * src/util.h: Check GErrors before using them. That's a) good happit and b) necessary, to avoid crashers when calling methods on dead GProxies. We should handle this correctly, by connecting to "destroy", but that requires a bit of re-design first. Fixes: NB#78597, NB#82480 2007-12-07 Joergen Scheibengruber * configure.ac: * debian/changelog: Version 2.20071207 2007-12-07 Joergen Scheibengruber * src/sync.c: (handle_local_contact_changed): * src/telepathy.c: (subscribe_members_changed_cb), (on_notify_context_reply), (handle_publish_pending_members), (eds_sync_telepathy_new): Don't abort if there is no publish-group; instead give warnings whenever a publish-group would be required 2007-12-07 Joergen Scheibengruber * src/telepathy.c: (on_subscribe_channel_close_cb), (get_mission_control_and_credentials), (eds_sync_telepathy_new): Don't crash if mission_control_get_account_for_connection returns NULL, but does not set GError; Fixes: NB#75369 2007-12-07 Joergen Scheibengruber * src/util.c: (avatar_cache_expire), (queue_avatar_cache_expire): Fix unsigned int comparison bug, that would result in just downloaded avatars being expired. Also use atime instead of mtime to determine whether an avatar is no longer in use; Fixes: NB#75048 2007-09-13 Joergen Scheibengruber * configure.ac: * debian/changelog: Version 2.20070913 2007-09-13 Joergen Scheibengruber * src/telepathy.c: (avatar_retrieved_cb), (get_avatars): Emmanuele's patch did the right thing, mine was wrong (clearing cache again). Correcting this. 2007-09-11 Emmanuele Bassi * configure.ac: Bump up to 2.20070911 and depend on libtelepathy >= 0.0.57. 2007-09-11 Emmanuele Bassi * src/telepathy.c: Use the newly added GetKnownAvatarTokens method of the telepathy Avatar interface. Fixes: NB#61341 (get_known_avatar_tokens_cb), (get_avatars): Retrieve the known avatar tokens for the handles, so that we can safely evict an avatar from the cache in case an handle doesn't have a known avatar token anymore. 2007-08-31 Joergen Scheibengruber * src/eds.c: (on_local_contacts_added): Don't remove manual contacts that have been blocked * src/sync.c: (handle_local_contact_changed): Add a bit more debugging 2007-07-11 Joergen Scheibengruber * configure.ac: * debian/changelog: Version 2.20070711 2007-07-11 Joergen Scheibengruber * src/telepathy.c: (avatar_updated_cb), (get_avatar_tokens_cb): Treat empty tokens as "unknown whether there is an avatar", not as "we know there is no avatar"; this will break clearing of avatars but unbreak caching; Fixes: NB#55556, NB#59600, NB#60972, NB#52014, NB#62836 2007-07-11 Joergen Scheibengruber * src/sync.c: (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed): * src/telepathy.c: (get_avatar_tokens_cb), (get_vcard_for_connection), (handle_cache_entry_new), (handle_cache_entry_free), (handle_cache_entry_add), (eds_sync_telepathy_add_uid), (remove_uid), (eds_sync_telepathy_remove_uid), (eds_sync_telepathy_lookup_uids): * src/telepathy.h: Correctly handle the case where a telepathy handle is refered to by multiple eds contacts; Fixes: NB#49582, NB#49600, NB#49614, NB#58406 2007-07-06 Ross Burton * configure.ac: Version 2.20070706. 2007-07-06 Ross Burton * src/Makefile.am: * src/avatars.[ch]: Rewrite core avatar handling into a seperate file. * src/telepathy.[ch]: Clean up. Always request tokens, then filter missing ones, then request avatars. Smaller code which should be faster. 2007-07-06 Joergen Scheibengruber * configure.ac: * debian/changelog: * debian/control: Version 2.20070706. 2007-07-05 Joergen Scheibengruber * src/telepathy.c: (avatar_retrieved_cb), (get_avatar_tokens_cb): Fix small typo that prevented the whole thing from working (appending token to handles instead of the handle); remove avatar if we get an empty token instead of firing RequestAvatars 2007-07-05 Ross Burton * configure.ac: Version 2.20070705. 2007-07-05 Ross Burton * src/eds-sync.h: * src/main.c: Add "avatars" debug level. * src/telepathy.c: Rejiggle avatars to be kinder to the servers. 2007-07-05 Ross Burton * src/main.c: * src/eds-sync.[ch]: * src/telepathy.c: * src/sync.c: Change "all" to "verbose", and clean up debugging a bit. 2007-07-02 Ross Burton * src/telepathy.c: Remove frees in a signal handler, which later crashed libtelepathy when requesting avatars. Also remove some useless debugging. 2007-06-27 Emmanuele Bassi * src/eds-sync.c: Do not leak the account-to-contact map key when adding a UID. 2007-06-06 Emmanuele Bassi * src/telepathy.c: Do not request the avatars if we didn't get a proxy for the telepathy avatars interface. 2007-06-06 Emmanuele Bassi * src/telepathy.c: Resync the avatars of the newly added known members, when the known members list changes. Should fix NB#56585. 2007-06-05 Emmanuele Bassi * configure.ac: Require telepathy-glib >= 0.55. * src/telepathy.c: If implemented, use the new RequestAvatars call for getting the batch of avatars when connecting. Fall back to the old code using GetAvatarTokens, if RequestAvatars fails. 2007-06-04 Joergen Scheibengruber * configure.ac: * debian/changelog: Version 2.20070604. 2007-05-31 Emmanuele Bassi * src/telepathy.c: Store the avatars on disk using the VCard field for the service instead of the bound account. 2007-05-31 Ross Burton * src/sync.c: Don't try committing an empty list of contacts. 2007-05-31 Joergen Scheibengruber * src/sync.c: Make sanity check sane 2007-05-31 Joergen Scheibengruber * src/sync.c: (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed): * src/telepathy.c: (eds_sync_telepathy_new): * src/telepathy.h: Replace bound-account username with normalized version in syncroniced vcards if necessary 2007-05-31 Ross Burton * Makefile.am: Fix distcheck by forcing the dummy notification system. 2007-05-31 Ross Burton * configure.ac: * NEWS: Version 2.20070531. 2007-05-31 Emmanuele Bassi * src/sync.c: Don't commit an alias unless we really have it. 2007-05-31 Emmanuele Bassi * src/sync.c: Set the alias of the newly added contact using his full name or his nickname. * src/telepathy.[ch]: Keep a pointer for the aliasing interface proxy around. 2007-05-31 Ross Burton * configure.ac: * src/util.c: Provide a really horrible implementation for e_vcard_attribute_remove_param if the system EDS doesn't have it. 2007-05-31 Emmanuele Bassi * src/telepathy.c: Really fix the multiple registration of the same (bound,address) tuple, using a refcounted entry inside the handle-to-contact-uid map. 2007-05-31 Ross Burton * src/notification.c: * src/notification-dummy.c: * src/notification-notify.c: * src/notification-rtcom.c: Move eds_sync_get_notify_context from notification to the implementations. 2007-05-31 Ross Burton * src/util.h: Define the state field defines if they are not already defined, fixing the build when not using Maemo EDS. 2007-05-31 Emmanuele Bassi * src/eds.c: Don't leak the contact UID when adding it to the handle map; retrieve the UID at the start of the loop instead of calling e_contact_get_const() multiple times. 2007-05-31 Ross Burton * configure.ac: * src/sync.c: Check for e_book_async_commit_contacts, and fall back if it isn't present. 2007-05-30 Emmanuele Bassi * src/telepathy.[ch]: Store multiple UIDs for the same handle. This should fix the case when multiple contacts with the same address and bound to the same address are added and then changed. * src/eds.c: * src/sync.c: Don't access the internal handle-to-contact map from outside. Ever again. 2007-05-30 Ross Burton * src/telepathy.[ch]: * src/eds.c: * src/sync.c: Use a hash table as a list which removes duplicates, and batch up contact commits. 2007-05-30 Ross Burton * src/util.h: Add prototype for remove_handle_cache. 2007-05-30 Emmanuele Bassi * src/util.c: Use g_time_val_from_iso8601() instead of our homegrown version to translate from a ISO 8601 time stamp to a unix one. 2007-05-30 Ross Burton * src/telepathy.c: * src/util.c: Add a function to remove the cache entry for a handle, and remove cached handles when handles are removed. 2007-05-29 Emmanuele Bassi * src/telepathy.c: Get the avatars when then list of blocked members changes. This should fix NB#53955. 2007-05-25 Ross Burton * src/Makefile.am: Add missing line continuations. 2007-05-21 Emmanuele Bassi * src/telepathy.c: Remove our own copy of strdupv(), since GLib kindly provides us one already. 2007-05-21 Emmanuele Bassi * src/telepathy.c: Use the asynchronous version of the GetAvatarTokens telepathy call. 2007-05-18 Ross Burton * configure.ac: Version 2.20070518. 2007-05-18 Emmanuele Bassi * src/telepathy.c: Do not abort the avatar check if the index file is not found or is not accessible: just pretend it's the first time we are gone online and download everything from scratch. 2007-05-14 Emmanuele Bassi * src/telepathy.h: * src/telepathy.c: Keep around a pointer to the GKeyFile used to store the avatar index. 2007-05-07 Joergen Scheibengruber * configure.ac: * debian/changelog: * debian/control: Version 2.20070503 2007-05-07 Joergen Scheibengruber * src/telepathy.c: (get_token_from_avatar_cache), (request_avatar_cb), (persist_avatar): Do not try to download avatars we already have in the cache on every run; use the async-version to download avatars, because this call will not return before the avatar is downloaded from the server 2007-05-04 Joergen Scheibengruber * src/eds-sync.c: (eds_sync_handle_channel), (eds_sync_register_account): Use tp_conn_new_without_connect instead of tp_conn_new; don't free string inserted into hash_table * src/telepathy.c: (get_token_from_avatar_cache), (persist_avatar), (context_free): unref TpConn when context is freed; dont pass NULL into g_propagate_error (); don't try to print NULL error 2007-05-03 Ross Burton * configure.ac: Version 2.20070503. 2007-05-03 Emmanuele Bassi * src/eds-sync-private.h: * src/eds-sync.c: s/account_to_contact_hash/address_to_contact_hash/g 2007-05-02 Emmanuele Bassi * src/eds-sync-marshal.list: * src/notification.[ch]: Add generic notification interface, to be implemented by the notification library backend we choose at compile time. * src/notification-dummy.[ch]: Add "dummy" notification backend, which prints to the console the messages. * src/notification-rtcom.[ch]: Add "rtcom" notification backend, using osso-contact-plugin. * src/notification-notify.[ch]: Add stub for the "notify" notification backend using libnotify. It's just a copy of the "dummy" backend at the moment. * configure.ac: * src/Makefile.am: Update the build environment; add a --with-notification configure switch to choose the notification backend. * src/telepathy.[ch]: Use the new generic notification interface instead of calling rtcom API directly. 2007-04-30 Emmanuele Bassi * configure.ac: Bump version. * src/eds-sync-private.h: * src/eds-sync.h: * src/eds-sync.c: Move the account_to_contact_hash into the private data structure of EdsSync; store inside the map every (unique) contact UID that registers an IM account thru eds-sync, and remove just that UID when removing the contact; this should allow us to keep the account in the hash table until there's at least one contact referencing it. Add more error checking to the public functions and relay the error message from the telepathy handle inspection call. * src/main.c: Use the proper exit code when quitting. * src/telepathy.[ch]: Fix compiler warnings; move the op_hash declaration and usage behind the osso-contact-plugin ifdefs guards. * src/eds.h: Add header and C++ compiler guards. 2007-04-30 Emmanuele Bassi * src/eds-sync-private.h: * src/eds-sync.h: * src/eds-sync.c: Rename the account-to-contact hash table, and make it accessible only through appropriate (private) functions. * src/eds.c: * src/sync.c: Update code to use the new private functions. 2007-04-30 Emmanuele Bassi * src/eds-sync.h: * src/eds-sync.c: * src/eds.c: * src/sync.c: Use VCARD:ADDRESS as key for the address-to-uuid hash table. When adding a new local contact, do not insert its UID into the address-to-contact hash table, if there already is a contact bound to that address. 2007-04-24 Ross Burton * src/sync.c: maybe_remove_local_contact can edit the handle sets, so update all_remote_handles after calling it. This should stop eds-sync creating a new contact briefly when it deletes contacts (Fixes: NB#47057). 2007-04-19 Onne Gorter * src/telepathy.c: (get_token_from_avatar_cache), (persist_avatar): fixed some awful free's and such on error conditions 2007-04-03 Emmanuele Bassi * configure.ac: Version 2.20070403. 2007-04-03 Emmanuele Bassi * src/telepathy.c: Rework the avatar cache removal to actually make it work; add a group to the avatar index file to do a reverse lookup from the token/filename to the username. * src/util.c: Don't barf up on non-directories when walking the avatar cache directory; expire the tokens inside the avatar index file too. 2007-03-26 Ross Burton * configure.ac: Verson 2.20070326. 2007-03-26 Ross Burton * src/util.c: Don't use EContact to read the last-used field, its broken by design. This fixes the eds-sync part of broken manual contacts. 2007-03-15 Emmanuele Bassi * debian/copyright * src/*.[ch] * COPYING: Add GPL notices and license. * AUTHORS: Update. * README: Add a description of eds-sync. 2007-03-15 Emmanuele Bassi * configure.ac: * src/Makefile.am: Optionally depend on osso-contact-plugin * src/telepathy.h: * src/telepathy.c: Mask every call to the osso-contact-plugin API behind a #ifdef HAVE_OSSO_CONTACT_PLUGIN check. 2007-03-05 Ross Burton * configure.ac: Version 2.20070305. 2007-03-05 Ross Burton * src/util.[ch]: Add get_last_used(). * src/eds.c: Delete any manual contacts that are over 30 days old. 2007-03-02 Ross Burton * src/util.[ch]: Add MANUAL contact state. * src/eds.c: Ignore all contacts that have the MANUAL state. 2007-02-13 Ross Burton * configure.ac: Version 2.20070213. 2007-02-13 Emmanuele Bassi * src/telepathy.c: Use the right function to free the local_contacts_todo list contents. 2007-02-09 Emmanuele Bassi * src/telepathy.c: Force a rewrite of the avatar index file in case it could not be parsed: either the file is empty or is corrupted, so we don't want to throw an error anyway. * src/util.c: Hush warning message in case we could not open the avatars main cache directory. 2007-02-09 Ross Burton * src/telepathy.[ch]: Move more fields into the context and fetch the self avatar on startup. Also if the self avatar changes, poke Mission Control. 2007-02-08 Emmanuele Bassi * src/telepathy.c: Move the check for avatar index file existence before the actual file loading+parsing; should not be racy as we are the only ones actually writing that file. 2007-02-05 Ross Burton * configure.ac: Version 2.20070205. 2007-02-05 Emmanuele Bassi * src/telepathy.c: Save the avatar cache image using the token; store the username/token relation into a GKeyFile inside the avatars cache directory. 2007-02-02 Iain Holmes * src/eds-sync.[ch]: * src/telepathy.c: * src/Makefile.am: * src/eds-sync.xml: * src/eds-sync-marshal.list: * configure.ac: Make EdsSync emit a signal over DBus whenever the avatar changes. 2007-01-30 Emmanuele Bassi * src/eds-sync.c: * src/util.[ch]: Add the avatar cache expiration policy: upon start of eds-sync run an idle loop checking whether the cached avatar images have been modified in the last 30 days, and if not unlink them. 2007-01-19 Ross Burton * configure.ac: Version 2.20070119. 2007-01-19 Ross Burton * src/util.[ch]: Add a caching inspect handle function that stores inspected handles in a hash associated with the connection. * src/telepathy.c: * src/sync.c: Use the caching method. 2007-01-19 Ross Burton * src/telepathy.c: Delete avatars from disk is they have unset. 2007-01-18 Ross Burton * configure.ac: Version 2.20070118. 2007-01-18 Ross Burton * configure.ac: Remove dependency on libosso-rtcom. 2007-01-18 Iain Holmes * src/telepathy.c: Update for new MC api. 2007-01-09 Ross Burton * configure.ac: Version 2.20070109. 2007-01-09 Ross Burton * configure.ac: Depend on libmissioncontrol 4.1 * src/telepathy.c Update for new API in libmissioncontrol 4.1 2007-01-08 Ross Burton * configure.ac: Depend on libtelepathy 0.0.40. * src/telepathy.[ch]: Sync avatars to ~/.osso-abook/avatars. 2007-01-05 Ross Burton * src/telepathy.c: * src/eds.c: * src/sync.c: * src/util.[ch]: * src/eds-sync.c: Move the single handle request handle and inspect handle wrappers to util.c. 2006-11-30 Ross Burton * configure.ac: Version 1.20061130. 2006-11-30 Ross Burton * src/eds-sync.c: Actually make it build... 2006-11-30 Ross Burton * src/eds-sync.c: Check that the channel and handle types are what we expect to avoid breaking when groups are added. 2006-11-24 Onne Gorter * debian/changelog: * src/eds.c: (on_local_contacts_added): revert potentially dangerous blocking code, and add BLOCKED as a state for local contact todo list 2006-11-24 Onne Gorter * src/sync.c: (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed): * src/telepathy.c: (eds_sync_telepathy_new): * src/util.c: (field_state_name): * src/util.h: add BLOCKED state to addresses, so unblocking using other client while 770 is offline works, should really fix NB#46633 be more carefull when to delete a non automatic contact, fixes NB#46570 2006-11-21 Ross Burton * src/eds.c: Keep track of blocked accounts, so they can be unblocked if the server has them unblocked, should fix NB#46633 2006-11-21 Joergen Scheibengruber * configure.ac: new release * debian/changelog: * src/telepathy.c: (eds_sync_telepathy_new): Use mission control-API to figure out account name instead of telepathy-inspect as suggested by Lassi; should fix IVC-bugs (NB#43635, NB#47576, NB#47569 and NB#47584) 2006-11-16 Ross Burton * src/sync.c: Remove TOBLOCK and TOUNBLOCK states from accounts even when there is no deny list on the server, as the blocks will be handled client-side (#46499). 2006-11-07 Onne Gorter * configure.ac: * src/sync.c: (unblock_local_contact), (handle_local_contact_changed), (do_sync): * src/telepathy.c: (get_known_members_cb), (get_subscribe_members_cb), (subscribe_members_changed_cb), (get_blocked_members_cb), (context_free), (on_subscribe_channel_close_cb), (eds_sync_telepathy_new): * src/telepathy.h: added first_run to context, so TOBLOCK, TOADD and TOUNBLOCK contacts are known local_handles. Fixes NB#42953, NB#46537 check gerror existence in async callback, and handle it accordingly, especially on fast connect/reconnect will help 2006-10-27 Onne Gorter * configure.ac: bumped version number * src/eds-sync.c: (eds_sync_new): * src/eds.c: (on_local_contacts_added), (on_sequence_complete): * src/main.c: * src/sync.c: (commit_cb), (add_remote_address_to_local_contact), (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed), (do_sync): * src/telepathy.c: (subscribe_members_changed_cb), (on_rtcom_operation_reply), (handle_publish_pending_members), (context_free), (eds_sync_telepathy_new): removed capitals in debugging, added a few more fixed a potential crasher of eds-sync on incoming rtcom operations after closing a previous context removed all signal handling backtraces, making eds-sync debuggable again 2006-10-24 Ross Burton * src/telepathy.c: Sanity check arguments in eds_sync_telepathy_new. 2006-10-03 Onne Gorter * src/eds.c: (eds_populate_handles): fix situation that eds-sync is the one to create addressbook, reverting a silly mistake 2006-09-28 Onne Gorter * src/telepathy.c: (eds_sync_telepathy_new): fix deny list, and fix channel connection which can fail 2006-09-22 Onne Gorter * src/eds.c: (on_local_contacts_added): only add to handle->uid hash, if the address is actually bound to context, fixes NB#40439 2006-09-22 Onne Gorter * src/sync.c: (add_remote_address_to_local_contact), (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed): fixed minor logic error in blocking, protect against not having a block list, always handle TOUNBLOCK flag, regardless of telepathy error the new debugging: `EDS_SYNC_DEBUG=all` will keep eds-sync around in full verbosity. Options are `all:events:handles`. 2006-09-21 Onne Gorter * src/eds.c: (on_local_contacts_added): * src/sync.c: (commit_cb), (add_remote_address_to_local_contact), (maybe_remove_local_contact), (unblock_local_contact), (block_local_contact), (handle_local_contact_changed), (do_sync): * src/telepathy.c: (subscribe_members_changed_cb), (handle_publish_pending_members), (get_publish_members_cb), (publish_members_changed_cb), (context_free), (get_vcard_for_connection), (eds_sync_telepathy_new): * src/telepathy.h: * src/util.c: (print_handle): blocked list support, better debugging 2006-09-21 Onne Gorter * configure.ac: * src/Makefile.am: * src/eds-sync-subscribe.c: * src/eds-sync-subscribe.h: * src/eds-sync.c: (eds_sync_handle_channel), (eds_sync_channel_closed): * src/eds-sync.h: * src/eds.c: (on_local_contacts_added): * src/eds.h: * src/main.c: (main): * src/sync.c: (add_remote_address_to_local_contact), (maybe_remove_local_contact), (handle_local_contact_changed): * src/sync.h: * src/telepathy.c: (subscribe_members_changed_cb), (clear_rtcom_operations), (on_rtcom_operation_reply), (handle_publish_pending_members), (eds_sync_telepathy_new): * src/telepathy.h: * src/util.c: (contact_state_is), (contact_state_remove): refactored debugging, renamed eds-sync-subscribe into telepathy 2006-08-31 Onne Gorter * src/eds-sync-private.h: * src/eds-sync-subscribe.c: (get_subscribe_members_cb), (known_members_changed_cb), (handle_publish_pending_members), (eds_sync_subscribe_new): * src/eds-sync-subscribe.h: * src/eds-sync.c: (eds_sync_new): * src/eds.c: * src/sync.c: (do_sync): * src/util.c: added libtelepathy convenient functions, fixed up for latest telapthy spec, moved to get_all_members. Fixed potentential bug on known channel, plugged a leak 2006-08-23 Onne Gorter Changed license header to proprietary 2006-08-23 Onne Gorter make packaging depend on libmissioncontrol-dev 2006-08-16 Onne Gorter * src/eds-sync-subscribe.c: (context_free), (subscribe_members_changed_cb), (handle_publish_pending_members), (get_vcard_for_connection), (eds_sync_subscribe_new): * src/eds-sync-subscribe.h: * src/sync.c: (maybe_remove_local_contact): * src/eds.c: (on_local_contacts_added): removed merge_bound, which is unnecesairy in current set and was causing a bug.Fixes: NB#37436 Connect to "Closed" signal on channel, not destroy Fixes: NB#35157, NB#33424, NB#37638 Automatically try to give contacts our presence, if they authorize us doesn't work though. And vice versa, if contacts already give us presence, give them ours when they request it, without a dialog. Fixes: NB#37020 2006-08-16 Ross Burton * src/eds-sync-subscribe.c: Don't do anything if we can't get the vCard for the channel, instead of assuming it's Jabber. 2006-08-14 Ross Burton * configure.ac: Look for libmission-control. * src/eds-sync-subscribe.c: Use mission-control to get the vCard field for the channel, to avoid hard-coding Jabber (part of #31703). 2006-08-10 Ross Burton * src/gintset.c: Fix a bug in g_intset_clear() that would result in very odd behaviour. 2006-07-17 Onne Gorter * src/eds-sync-subscribe.c: (subscribe_members_changed_cb), (context_free), (eds_sync_subscribe_new): * src/eds-sync-subscribe.h: * src/eds.c: (on_local_contacts_added): * src/sync.c: (add_remote_address_to_local_contact), (maybe_remove_local_contact), (merge_bound), (handle_local_contact_changed), (do_sync): * src/util.c: (print_handle): merged delete and add handling, fixed some GError setting to NULL, fixed other minor issues added known list intset fixed some duplication of old when adding/removing to same contact fixed authorization messages on google talk in certain conditions fixed deleted contacts or addresses from reappearing 2006-07-11 Onne Gorter * src/eds-sync-subscribe.c: (on_rtcom_operation_reply), (get_publish_local_pending_members_cb), (eds_sync_subscribe_new): * src/sync.c: (merge_bound), (handle_local_contact_maybe_deleted), (handle_local_contact_maybe_added), (do_sync): always delete if marked as deleted, prevents unkown handles from not getting deleted and eds-sync going round and round cleaned up some TODOs 2006-07-10 Onne Gorter * configure.ac: * src/Makefile.am: * src/eds-sync-publish.c: * src/eds-sync-publish.h: * src/eds-sync-subscribe.c: (context_free), (get_subscribe_remote_pending_members_cb), (publish_subscribe_handles), (add_to_array), (clear_rtcom_operations), (on_operation_reply), (handle_publish_pending_members), (get_publish_local_pending_members_cb), (publish_members_changed_cb), (on_subscribe_channel_close_cb), (eds_sync_subscribe_new): * src/eds-sync-subscribe.h: * src/eds-sync.c: (eds_sync_handle_channel): * src/main.c: (main): merged publish and subscribe handlers into one, now its all about making them work together a bit more 2006-06-20 Ross Burton * configure.ac: Version 1.20060620. 2006-06-15 Onne Gorter * use known channel in eds-sync-publish.c too, so deleting contacts actually removes them * only use current address when removing someone who is no longer a remote_handle * add and delete all changed contacts, only permanently delete once marked as TODELETE * Reusing GErrors, set them to null after free ... 2006-06-07 Onne Gorter * removed 'return' on unexpected things while iterating vcards, instead, unexpected is now handled more and we 'continue' * while deleting, handle empty and unboud addresses * debugging handles, includes what evolution will give us, and warns and logs more on what it does when * allow NULL bound check, and check all address types fully, allows permanently deleting contacts without bounds and such * you can now keep an useless name in addressbook, it will stay as TOADD so will never be deleted, but will not be put on roster either 2006-06-07 Onne Gorter * remove authorizations from tn on channel closing * moderate down all debugging behind EDS_SYNC_DEBUG 2006-06-06 Onne Gorter * don't unref GDBusProxy's that are intefraces from libtelepathy 2006-06-06 Onne Gorter * don't unref GDBusProxy's that are intefraces from libtelepathy * don't remove addresses, instead, unbind them 2006-06-05 Ross Burton * src/eds.c: * src/sync.c: * src/eds-sync-publish.c: * src/eds-sync-subscribe.c: Small style changes, wrapping debug calls, and so on. 2006-06-01 Onne Gorter * Refactored eds-sync-subscribe.c * Added remote list done loading booleans, otherwise it was sheer luck eds was slower then telepathy * added known list support if it is there * fix too many 'authorization denied' dialogs incase known list is available * remove handles form *all* lists when removing them from known or subscribe remote list 2006-06-01 Onne Gorter * fixing crash due to remaining %s which needed to be %d * added backtracing capabilities * when remote removed contact, make it unkown in remote_handles on delete * when removing local contact, make sure only to permanently remove it if all bound addresses are remotely removed properly * when removing local contact, remove local handle when removing remote handle 2006-06-01 Onne Gorter * major refactor by naming all variables and functions more precise * only delete when address is bound to current sync 2006-05-31 Onne Gorter * use subscribe list to check for authorization accepted/rejected, not published list * fix minor logic mistake in when to mark a contact as deleted * don't blindly add new contacts to server, but only if bound is correct * rejecting authorizations actually removes contact from local pending in published list * deleting local contact no longer launches user denied authorization dialog issues: * use known list, instead of subscribed, incase this list exists, will fix bugs where there is no subscription, but there is the address on the roster 2006-05-30 Onne Gorter * src/eds.c: * src/sync.c: really delete contacts from remote server and local don't create (unnamed) contacts empty out hash tables on eds contacts-removed signal fixes bugs: 30930 remove contact is in address book as "unnamed" 30863 The contacts are not imported from buddy list if previous... moving to new version scheme 2006-05-30 Jorn Baayen * src/eds-sync-publish.c: (handle_pending_members): * src/sync.c: (add_new_contact): libtelepathy's aliasing interface was changed, not removed. Put code back & update for new API. 2006-05-26 Onne Gorter * src/sync.c: * src/eds-sync-publish.c: don't use aliasing interface of libtelepathy 2006-05-26 Ross Burton * src/eds-sync-publish.c: Send authorisation rejected messages (#30409). 2006-05-26 Ross Burton * src/eds-sync-publish.c: Add newly authorised handles to the subscribe group (#30092). 2006-05-25 Ross Burton * configure.ac: Version 0.18. 2006-05-25 Ross Burton * src/util.c: Remove contact state attribute if its empty, and use the new eds API for param value removing. 2006-05-25 Ross Burton * src/eds.c: Mark a sync required if we get a contact with the contact state set, and use the per-context vcard field rather than hard-coding Jabber when searching. 2006-05-25 Ross Burton * src/eds.c: * src/sync.c: Don't hard-code X-JABBER but use context->vcard. 2006-05-25 Ross Burton * src/eds.c: Don't store EContact pointers in the ->todo list, just the UID. Otherwise we end up working with out of date contacts when there are multiple accounts. * src/sync.c: Fetch the contact when working through the todo list. 2006-05-25 Ross Burton * src/eds-sync-subscribe.[ch]: Add a vcard field to the context, although it's hard-coded at the moment. 2006-05-24 Ross Burton * src/main.c: * src/eds-sync.c: * src/eds-sync.h: Don't make the main loop public, simply put g_main_loop_quit in a weak reference handler on the sync object and unref it when dying. 2006-05-24 Ross Burton * src/main.c: Make the main loop public. * src/eds-sync.h: * src/eds-sync.c: * src/eds-sync-private.h: Keep a count of started channels, add a method to reduce the count, and if it hits zero start a timer to quit. * src/eds-sync-subscribe.c: * src/eds-sync-publish.c: Call eds_sync_channel_closed when freeing the context. This fixes #30646. 2006-05-24 Ross Burton * src/eds-sync-publish.c: Unref the rtcom object when the context is freed, and log operation IDs as we persist them. 2006-05-24 Ross Burton * src/sync.c: Remove unused function. 2006-05-22 Ross Burton * configure.ac: Version 0.17. 2006-05-22 Ross Burton * src/eds-sync[ch]: Add a hash table for storing a cross-channel IM account to EContact hash. * src/eds.c: Add an entry into the new hash for each IM account found. * src/sync.c: Remove add_missing_accounts() and incorporate adding new IM fields to existing accounts into add_new_contact() (#30238). 2006-05-19 Ross Burton * configure.ac: Version 0.16. 2006-05-19 Ross Burton * src/eds.[ch]: Remove the actual syncing code as this should only interact with EDS and put it into... * src/Makefile.am: * src/sync.[ch]: This file now contains the syncing logic. * src/eds-sync-subscribe.c: Include sync.h. 2006-05-19 Ross Burton * src/eds.c: Only keep track of bound IM fields in EDS, to avoid multiple accounts racing to delete and create contacts (#29164) 2006-05-18 Ross Burton * configure.ac: Version 0.15. 2006-05-18 Ross Burton * src/eds.c: Untested change to delete contacts that are removed remotely and are not marked to add (#26861) 2006-05-18 Ross Burton * src/eds.c: Untested patch to add new IM accounts to existing contacts if the existing contact has the same ID (#27843) 2006-05-17 Ross Burton * src/eds.[ch]: * src/util.[ch]: Move the contact and field state helpers to util. 2006-05-17 Ross Burton * src/eds-sync-subscribe.c: * src/eds.[ch]c: Refactor, keep a hash of all handles to EContact UIDs, and set a set of unbound handles. 2006-05-12 Ross Burton * src/eds.c: * src/eds-sync-publish.c: Reorganise the error handling to reflect specified DBus behaviour in error cases. 2006-05-12 Onne Gorter * src/eds.c: * src/eds-publish.c: check error returning from alias and free returns accordingly also find friendlyname and warn on NULL message 2006-05-11 Ross Burton * src/eds-sync-publish.c: Don't add contacts if the authorisation was refused (#29091) 2006-05-10 Ross Burton * configure.ac: Version 0.14.1. 2006-05-10 Ross Burton * src/eds-sync-subscribe.c: Fix syncing, so both approved and pending contacts are synced. 2006-05-09 Ross Burton * src/eds.c: Pass an error to e_book_get_contact(). 2006-05-09 Ross Burton * configure.ac: Version 0.14. 2006-05-09 Ross Burton * src/eds-sync-publish.[ch]: * src/eds-sync-subscribe.[ch]: * src/eds.c: Fix destroy logic, and don't leak the book view. 2006-05-05 Ross Burton * src/eds.c: Use EVC_X_OSSO_FIELD_STATE rather than magic string. 2006-05-05 Ross Burton * src/eds-sync-subscribe.c: Also add new contacts for remote pending contact (#27845) 2006-05-04 Ross Burton * configure.ac: Version 0.13. 2006-05-04 Ross Burton * src/eds-sync-publish.c: Fix auth signal group handling. 2006-05-04 Ross Burton * src/gintset.c: Merge newer GIntSet with faster clear. 2006-05-04 Ross Burton * src/eds-sync-publish.c: Emit authorisation signals when a contact is authorised whilst we're online. 2006-05-04 Ross Burton * src/eds.c: Re-order operations so that binding occurs last. 2006-05-04 Ross Burton * src/gintset.[ch]: Merge new GIntSet with the clear method. 2006-05-04 Ross Burton * src/eds-sync-publish.c: Free the context fields. * src/eds.c: Display error messages. 2006-05-02 Ross Burton * configure.ac: Version 0.12. 2006-05-02 Ross Burton * src/eds-sync-subscribe.h: * src/eds-sync-subscribe.c: * src/eds.c: Try and bind unbound accounts. Not 100% perfect yet, but it's a start. 2006-05-02 Ross Burton * src/eds-sync-publish.c: Fix typo leading to crash on members changed signal. 2006-04-28 Ross Burton * configure.ac: Version 0.11. 2006-04-28 Ross Burton * src/eds-sync-subscribe.c: * src/eds-sync-publish.c: Merge debugging counts with existing debugging statements 2006-04-28 Onne Gorter * src/eds-sync-*.c: Added counts of the lists as default debugging output on any change * src/eds.c: Checking if name != uid before using name as 'friendly' name 2006-04-27 Ross Burton * src/eds.c: Add to the roster contacts marked TOADD. 2006-04-25 Ross Burton * src/eds.c: Don't set the contact name if we don't know it. Set the AUTOMATIC attribute for new contacts. Unref the alias proxy if we got it. 2006-04-21 Ross Burton * configure.ac: Version 0.10. 2006-04-21 Ross Burton * src/eds-sync-subscribe.c: Default eds_changed to TRUE so that we sync when there are no contacts. 2006-04-21 Ross Burton * src/eds.c: * src/eds-sync-subscribe.c: * src/eds-sync-subscribe.h: Add the eds_changed flag, and use it to avoid doing a useless (no-op) sync when we get informed about contacts we've just merged. 2006-04-21 Ross Burton * src/main.c: If no debugging flags are set, enable DEBUG_EVENTS for now. 2006-04-21 Ross Burton * src/eds-sync-publish.c: * src/eds-sync-subscribe.c: Print group counts when DEBUG_EVENTS is enabled. 2006-04-21 Ross Burton * src/eds-sync-publish.c: * src/eds-sync-subscribe.c: * src/eds.c: * src/util.c: Use g_debug rather than g_printerr. 2006-04-21 Ross Burton * src/Makefile.am: * src/main.c: * src/eds-sync.h: * src/eds-sync.c: * src/eds-sync-publish.c: * src/eds-sync-subscribe.c: * src/eds.c: Don't use the d() macro, but use the GLib debug flags. Now if you want full debugging from eds-sync, start it with EDS_SYNC_DEBUG=handles:events exported. 2006-04-20 Ross Burton * configure.ac: Version 0.9. 2006-04-20 Ross Burton * src/eds-sync-subscribe.c: Disconnect from the proxy when we close it to avoid spurious method calls in the future. 2006-04-20 Ross Burton * src/eds.c: Don't abort if the addressbook cannot be opened. 2006-04-18 Ross Burton * configure.ac: Version 0.8. 2006-04-18 Ross Burton * src/eds.c: Remove dead code. 2006-04-13 Ross Burton * src/*.c: * src/*.h: * src/Makefile.am: Refactor. 2006-04-12 Ross Burton * src/context.c: Change SyncContext to SubscribeContext and PublishContext. * src/context.c: * src/eds.h: * src/eds.c: Update for context name change. * src/eds-sync.c: Watch the publish channel, and try to authorise requests. 2006-04-06 Ross Burton * src/eds-sync.xml: Commit into svn. 2006-04-05 Ross Burton * src/main.c: Print a message when we start. 2006-04-05 Ross Burton * configure.ac: Version 0.7. 2006-04-05 Ross Burton * src/Makefile.am: Fix build sources and clean target. * src/eds.c: * src/eds-sync.c: Fix thinko with debug output and timing. Should remove lots of weird messages. 2006-04-05 Ross Burton * configure.ac: Version 0.6. 2006-04-05 Ross Burton * src/eds-sync.c: Use posh GLib wrappers around DBus calls. 2006-04-05 Ross Burton * src/dbus-standalone.c: Remove. * src/Makefile.am: * src/dbus.[ch]: * src/eds-sync.[ch]: * src/main.c: Rename dbus.* to eds-sync.*. 2006-04-05 Ross Burton * src/Makefile.am: Move the d(x) define here. * src/shared.h: Remove this. * src/dbus.c: * src/eds.c: Remove include of shared.h. 2006-04-05 Ross Burton * src/Makefile.am: * src/main.c: * src/dbus.[ch]: * src/shared.h: Refactor to use GObject/DBus binding. 2006-03-28 Ross Burton * configure.ac: Version 0.5. 2006-03-28 Ross Burton * src/Makefile.am: Install eds-sync to libexecdir. * Makefile.am: * eds-sync.service.in: Add and install a DBus service file. 2006-03-24 Ross Burton * configure.ac: Version 0.4. 2006-03-24 Ross Burton * src/dbus.c: Finish Mission Control hooks so we get auto-started. * src/Makefile.am: Use dbus.c instead of dbus-standalone.c. * Makefile.am: * eds-sync.chandler: Add Mission Control channel handler file. 2006-03-24 Ross Burton * src/main.c: * src/dbus-standalone.c: Remove listen_to_existing(). 2006-03-24 Ross Burton * src/eds.c: Use strings for vCard fields until Maemo's EDS is synced. 2006-03-24 Ross Burton * src/eds.h: Add required include. 2006-03-20 Ross Burton * src/eds.c: Add contacts async to avoid locks. 2006-03-20 Ross Burton * configure.ac: Version 0.3. 2006-03-20 Ross Burton * src/context.[ch]: * src/dbus-standalone.c: Add a Group proxy and list of pending contacts. * src/eds.c: Handle contacts marked as To Delete. 2006-03-13 Ross Burton * src/context.h: * src/context.c: * src/dbus-standalone.c: * src/eds.h: * src/eds.c: Use EBookView, clean up DBus code a little. 2006-03-07 Ross Burton * configure.ac: Version 0.2. 2006-03-07 Ross Burton * src/Makefile.am: * src/context.h: * src/context.c: * src/shared.h: * src/dbus-standalone.c: * src/eds.c: Add context.[ch], wrap debugging statements. 2006-03-07 Ross Burton * src/shared.h: * src/dbus-standalone.c: Set X-OSSO-BOUND. 2006-03-06 Ross Burton * src/Makefile.am: * src/shared.h: * src/main.c: * src/eds.h: * src/eds.c: * src/dbus.c: * src/dbus-standalone.c: * src/gintset.h: * src/gintset.c: It does something. It's not pretty, but it works. 2006-03-06 Ross Burton * src/main.c: Remove Galago include. 2006-02-28 Ross Burton * [all files] Initial commit.