platform/upstream/evolution-data-server.git
10 years agotest-client-cursor-operations.c: Removed bogus test for invalid sexp
Tristan Van Berkom [Sun, 1 Dec 2013 06:43:45 +0000 (15:43 +0900)]
test-client-cursor-operations.c: Removed bogus test for invalid sexp

No search expression is invalid anymore.

10 years agotest-client-custom-summary: Added test for the 'x-evolution-any-field' NULL special...
Tristan Van Berkom [Sun, 1 Dec 2013 05:40:24 +0000 (14:40 +0900)]
test-client-custom-summary: Added test for the 'x-evolution-any-field' NULL special case

x-evolution-any-field with a NULL value (or byte) means 'get all contacts'.

10 years agoEBookSqlite: Improved performance and simplified code
Tristan Van Berkom [Sat, 30 Nov 2013 06:40:11 +0000 (15:40 +0900)]
EBookSqlite: Improved performance and simplified code

After much discussion on sqlite-users mailing list, I found
the real, correct technique for querying our multi attribute
values on the auxiliary tables.

  o Removed the crack query optimizer

  o Added the index to aux_table.uid (this is important
    to optimize contact inserts, as we have to delete
    all aux_table.uid entries in the case of a replace).

  o Drop the LEFT JOIN statements in favor of

    JOIN 'folder_id_email_list' AS 'email_list' ON +email_list.uid = summary.uid

    This does not create exponentially huge data sets because of the ON
    statement, the '+' ensures that email_list.uid is ineligable for
    indexing, since we want to use email_list.value indexes later on.

10 years agoBug #715057 - Weather calendar is using Fahrenheit units as default
Fabiano Fidêncio [Wed, 27 Nov 2013 21:37:35 +0000 (22:37 +0100)]
Bug #715057 - Weather calendar is using Fahrenheit units as default

10 years agoRemove unused camel_session_get_main_context().
Matthew Barnes [Sat, 30 Nov 2013 13:17:42 +0000 (08:17 -0500)]
Remove unused camel_session_get_main_context().

10 years agoRemove unused camel_service_get_session().
Matthew Barnes [Sat, 30 Nov 2013 13:07:58 +0000 (08:07 -0500)]
Remove unused camel_service_get_session().

10 years agoAvoid camel_service_get_session().
Matthew Barnes [Sat, 30 Nov 2013 13:07:35 +0000 (08:07 -0500)]
Avoid camel_service_get_session().

Use camel_service_ref_session() instead.

10 years agotest-server-utils: Fixed to wait for clients to finalize
Tristan Van Berkom [Sat, 30 Nov 2013 06:35:10 +0000 (15:35 +0900)]
test-server-utils: Fixed to wait for clients to finalize

Previously we would get sporadic errors from tests when clients
do not finalize synchronously in response to g_object_unref().

However this syncrhonous finalization is not really mandated by
the API, so instead we give them a grace period to finalize and
error out if they fail to finalize eventually.

10 years agoFix build break in e-data-book-factory.c.
Matthew Barnes [Fri, 29 Nov 2013 20:22:23 +0000 (15:22 -0500)]
Fix build break in e-data-book-factory.c.

Missing #include <locale.h>

10 years agoCamelIMAPXSettings: Remove unused "mobile-mode" property.
Matthew Barnes [Thu, 28 Nov 2013 17:23:13 +0000 (12:23 -0500)]
CamelIMAPXSettings: Remove unused "mobile-mode" property.

Not used by Evolution and not clear what this mode even means.

Removing it makes a bunch of confusing complexity drop out, which is
justication enough for me.

10 years agoCamelPOP3Settings: Remove unused "batch-fetch-count" property.
Matthew Barnes [Thu, 28 Nov 2013 17:08:01 +0000 (12:08 -0500)]
CamelPOP3Settings: Remove unused "batch-fetch-count" property.

Was tied to "mobile mode", no longer used.

10 years agoCamelPOP3Settings: Remove unused "mobile-mode" property.
Matthew Barnes [Thu, 28 Nov 2013 17:05:19 +0000 (12:05 -0500)]
CamelPOP3Settings: Remove unused "mobile-mode" property.

Not used by Evolution and not clear what this mode even means.

Removing it makes a bunch of confusing complexity drop out, which is
justification enough for me.

10 years agoCamelFolder: Remove unused fetch_messages_sync() method.
Matthew Barnes [Thu, 28 Nov 2013 16:10:33 +0000 (11:10 -0500)]
CamelFolder: Remove unused fetch_messages_sync() method.

The method is not used by Evolution and was partially broken anyway.
The boolean return value was overloaded to mean both whether an error
occurred AND whether there were more messages to fetch.  That's more
than two possible states and would have required an additional "out"
parameter to clarify, but I'm not going to bother with it.

10 years agoCamelFolder: Remove all asynchronous class methods.
Matthew Barnes [Thu, 28 Nov 2013 14:31:07 +0000 (09:31 -0500)]
CamelFolder: Remove all asynchronous class methods.

Rationale:

When I originally added Camel's asynchronous API, I thought providers
could choose to override the synchronous or asynchronous class methods.

Years later, turns out the asynchronous methods were never overridden,
and it wouldn't have worked anyway.  The asynchronous methods by default
invoke an associated synchronous function from a worker thread, but many
of Camel's synchronous functions do extra processing around invoking the
synchronous class method.  camel_store_get_folder_sync() is an example.

If a provider tried to implement synchronous methods in terms of the
asynchronous methods, then that extra processing in the synchronous
functions could potentially get skipped.

Removing the asynchronous class methods should help clarify how Camel
providers are intended to be written.

The removal should have no impact on existing Camel providers, all of
which implement only the synchronous class methods.  I've even padded
the CamelFolderClass struct to keep the binary interface intact.

10 years agoCamelSubscribable: Remove all asynchronous class methods.
Matthew Barnes [Thu, 28 Nov 2013 13:49:38 +0000 (08:49 -0500)]
CamelSubscribable: Remove all asynchronous class methods.

Rationale:

When I originally added Camel's asynchronous API, I thought providers
could choose to override the synchronous or asynchronous class methods.

Years later, turns out the asynchronous methods were never overridden,
and it wouldn't have worked anyway.  The asynchronous methods by default
invoke an associated synchronous function from a worker thread, but many
of Camel's synchronous functions do extra processing around invoking the
synchronous class method.  camel_store_get_folder_sync() is an example.

If a provider tried to implement synchronous methods in terms of the
asynchronous methods, then that extra processing in the synchronous
functions could potentially get skipped.

Removing the asynchronous class methods should help clarify how Camel
providers are intended to be written.

The removal should have no impact on existing Camel providers, all of
which implement only the synchronous class methods.  I've even padded
the CamelSubscribableInterface struct to keep the binary interface
intact.

10 years agoCamelTransport: Remove all asynchronous class methods.
Matthew Barnes [Thu, 28 Nov 2013 13:35:00 +0000 (08:35 -0500)]
CamelTransport: Remove all asynchronous class methods.

Rationale:

When I originally added Camel's asynchronous API, I thought providers
could choose to override the synchronous or asynchronous class methods.

Years later, turns out the asynchronous methods were never overridden,
and it wouldn't have worked anyway.  The asynchronous methods by default
invoke an associated synchronous function from a worker thread, but many
of Camel's synchronous functions do extra processing around invoking the
synchronous class method.  camel_store_get_folder_sync() is an example.

If a provider tried to implement synchronous methods in terms of the
asynchronous methods, then that extra processing in the synchronous
functions could potentially get skipped.

Removing the asynchronous class methods should help clarify how Camel
providers are intended to be written.

The removal should have no impact on existing Camel providers, all of
which implement only the synchronous class methods.  I've even padded
the CamelTransportClass struct to keep the binary interface intact.

10 years agoCamelStore: Remove all asynchronous class methods.
Matthew Barnes [Thu, 28 Nov 2013 01:48:47 +0000 (20:48 -0500)]
CamelStore: Remove all asynchronous class methods.

Rationale:

When I originally added Camel's asynchronous API, I thought providers
could choose to override the synchronous or asynchronous class methods.

Years later, turns out the asynchronous methods were never overridden,
and it wouldn't have worked anyway.  The asynchronous methods by default
invoke an associated synchronous function from a worker thread, but many
of Camel's synchronous functions do extra processing around invoking the
synchronous class method.  camel_store_get_folder_sync() is an example.

If a provider tried to implement synchronous methods in terms of the
asynchronous methods, then that extra processing in the synchronous
functions could potentially get skipped.

Removing the asynchronous class methods should help clarify how Camel
providers are intended to be written.

The removal should have no impact on existing Camel providers, all of
which implement only the synchronous class methods.  I've even padded
the CamelStoreClass struct to keep the binary interface intact.

10 years agoCamelService: Remove all asynchronous class methods.
Matthew Barnes [Wed, 27 Nov 2013 21:49:11 +0000 (16:49 -0500)]
CamelService: Remove all asynchronous class methods.

Rationale:

When I originally added Camel's asynchronous API, I thought providers
could choose to override the synchronous or asynchronous class methods.

Years later, turns out the asynchronous methods were never overridden,
and it wouldn't have worked anyway.  The asynchronous methods by default
invoke an associated synchronous function from a worker thread, but many
of Camel's synchronous functions do extra processing around invoking the
synchronous class method.  camel_store_get_folder_sync() is an example.

If a provider tried to implement synchronous methods in terms of the
asynchronous methods, then that extra processing in the synchronous
functions could potentially get skipped.

Removing the asynchronous class methods should help clarify how Camel
providers are intended to be written.

The removal should have no impact on existing Camel providers, all of
which implement only the synchronous class methods.  I've even padded
the CamelServiceClass struct to keep the binary interface intact.

10 years agoEBookSqlite: Fixed a transaction which wanted to read, but asked to write.
Tristan Van Berkom [Fri, 29 Nov 2013 18:33:14 +0000 (03:33 +0900)]
EBookSqlite: Fixed a transaction which wanted to read, but asked to write.

10 years agoEBookClientCursor: Keep a strong reference to the client
Tristan Van Berkom [Fri, 29 Nov 2013 18:12:44 +0000 (03:12 +0900)]
EBookClientCursor: Keep a strong reference to the client

When finalizing a cursor, it is important to have access
to the direct backend available so that it can be asked
to delete the direct access cursor instance.

For this reason EBookClientCursor must keep the EBookClient alive,
EBookClient now exposes a hidden API (not in the header file)
to allow the EBookClientCursor to ask the EBookClient to delete
the cursor on the EBookClientCursor's behalf.

Ugly, but works.

10 years agoEBookBackend: Fixed ref-counting bug in e_book_backend_set_locale()
Tristan Van Berkom [Fri, 29 Nov 2013 18:11:19 +0000 (03:11 +0900)]
EBookBackend: Fixed ref-counting bug in e_book_backend_set_locale()

10 years agoEDataBookFactor / EDataBook: Migrated locale handling to EDataBookFactory
Tristan Van Berkom [Fri, 29 Nov 2013 16:19:04 +0000 (01:19 +0900)]
EDataBookFactor / EDataBook: Migrated locale handling to EDataBookFactory

The EDataBookFactory is the server side singleton, this is the right
place to handle locale changes, now each EDataBook is set into the
correct locale by the factory, when books are created, and when the
locale change notification arrives.

10 years agoRevert "test-server-utils: Disable the cache-reaper in the test environment"
Tristan Van Berkom [Fri, 29 Nov 2013 16:19:30 +0000 (01:19 +0900)]
Revert "test-server-utils: Disable the cache-reaper in the test environment"

This reverts commit fcdad7cc7779692d6a63d194c55ed3ac1bca0f3c.

10 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 29 Nov 2013 17:16:17 +0000 (18:16 +0100)]
Updated Spanish translation

10 years agoFixed test-client-cursor-create
Tristan Van Berkom [Fri, 29 Nov 2013 14:50:13 +0000 (23:50 +0900)]
Fixed test-client-cursor-create

There is no such thing anymore as an invalid query for the cursor.

10 years agoEBookClient: Fixed e_book_client_cursor_get_contact_alphabetic_index()
Tristan Van Berkom [Fri, 29 Nov 2013 13:02:50 +0000 (22:02 +0900)]
EBookClient: Fixed e_book_client_cursor_get_contact_alphabetic_index()

Fixed the above function to not pass NULL to e_collator_get_index()

10 years agotest-client-uid-only-view: Fixed test
Tristan Van Berkom [Fri, 29 Nov 2013 12:48:58 +0000 (21:48 +0900)]
test-client-uid-only-view: Fixed test

Now we aren't filtering by fields of interest for contact changes,
so disabled the part of the test which adds a contact.

This can be reverted if we so decide to filter it manually
in EDataBookView

10 years agotest-client-revision-view: Disabled part of the test.
Tristan Van Berkom [Fri, 29 Nov 2013 12:25:24 +0000 (21:25 +0900)]
test-client-revision-view: Disabled part of the test.

Initial changes are filtered by fields-of-interest, however
change notifications are not filtered, this is because it's actually
faster to just send the vcard as is.

10 years agotest-client-custom-summary: Added various tests
Tristan Van Berkom [Sat, 23 Nov 2013 13:36:18 +0000 (22:36 +0900)]
test-client-custom-summary: Added various tests

  o Added test for the underscore

    Before we used to only escape the '%' character in LIKE statements,
    but SQLite also recognizes the '_' as a single char wildcard and
    needs escaping.

    This test ensures that the underscore is properly handled.

  o Added query test which ORs the same field

    This helps to test the query optimizer in EBookBackendSqlite, which
    will optimize a query which ORs two multi attribute fields (like
    E_CONTACT_EMAIL).

  o Added tests for the NOT queries

  o Added tests for NOT, AND and OR and as well as some nested AND / OR
    tests which trigger the query optimizer in EBookBackendSqlite

  o Fix expectations for phone number matches, now that the phone number
    comparisons are fixed

  o Added --filter option.

    Pass a regular expression to filter which test cases should run

  o Added test which searches by UID (can trigger bugs if normalization
    is mistakenly done on the UIDs).

10 years agotest-client-cursor-operations.c: Test cursor in fallback mode
Tristan Van Berkom [Tue, 26 Nov 2013 11:43:36 +0000 (20:43 +0900)]
test-client-cursor-operations.c: Test cursor in fallback mode

Now test the cursor functionality in cases where the cursor
is using sort fields not in the summary (and search expressions
not in the summary).

Also added --filter option, pass a regular expression to filter
which test cases should run

Also increased TIMEOUT tollerance. This needs fixing, backends are not
shutting down properly, locale changes get backed up and take more and
more time as the test keeps running.

10 years agotest-server-utils: Disable the cache-reaper in the test environment
Tristan Van Berkom [Fri, 29 Nov 2013 12:24:01 +0000 (21:24 +0900)]
test-server-utils: Disable the cache-reaper in the test environment

This causes races, when changing the locale, the previous/complete
test (which is not shut down properly) is getting I/O errors because
the cache-reaper comes to screw up the day.

10 years agoAdded case to the book-migration test for basic cursor operation.
Tristan Van Berkom [Wed, 20 Nov 2013 07:09:00 +0000 (16:09 +0900)]
Added case to the book-migration test for basic cursor operation.

10 years agoPorted the lower level cursor tests to use EBookSqlite.
Tristan Van Berkom [Mon, 18 Nov 2013 10:41:53 +0000 (19:41 +0900)]
Ported the lower level cursor tests to use EBookSqlite.

Refactored the whole test suite so that it's isolated to
libedata-book, use the EBookSqlite directly.

Now for the majority of test cases, we test with and without
fields in the summary (with an empty summary configuration)
and we also test the EBookSqlite with a callback to fetch
vcards and without a callback.

We also now test for e164 number change notifications in locale changes.

10 years agoEBookClientCursor: Changed for EDataBookCursor API change (cancellables)
Tristan Van Berkom [Fri, 29 Nov 2013 12:30:13 +0000 (21:30 +0900)]
EBookClientCursor: Changed for EDataBookCursor API change (cancellables)

10 years agoEBookClient: Changed for EDataBookCursor API change.
Tristan Van Berkom [Fri, 29 Nov 2013 12:29:55 +0000 (21:29 +0900)]
EBookClient: Changed for EDataBookCursor API change.

10 years agoEDataBookCursorSqlite: Ported to EBookSqlite
Tristan Van Berkom [Tue, 19 Nov 2013 14:55:29 +0000 (23:55 +0900)]
EDataBookCursorSqlite: Ported to EBookSqlite

10 years agoEBookBackendFile: Ported to new EBookSqlite API
Tristan Van Berkom [Tue, 19 Nov 2013 14:55:01 +0000 (23:55 +0900)]
EBookBackendFile: Ported to new EBookSqlite API

Make use of the new callback in e_book_sqlite_set_locale()
and notify views if contacts have changed as a result of a locale
change.

Rely on EBookBackend implementation for ->notify_update() now.

10 years agoEBookBackend: e_book_backend_set_locale() now has GCancellable
Tristan Van Berkom [Fri, 29 Nov 2013 12:23:34 +0000 (21:23 +0900)]
EBookBackend: e_book_backend_set_locale() now has GCancellable

10 years agoEDataBookCursor: Changed APIs to permit GCancellable for long running operations.
Tristan Van Berkom [Fri, 29 Nov 2013 12:28:00 +0000 (21:28 +0900)]
EDataBookCursor: Changed APIs to permit GCancellable for long running operations.

10 years agoEDataBook: Changed for EBookBackend set_locale() API change
Tristan Van Berkom [Fri, 29 Nov 2013 12:27:15 +0000 (21:27 +0900)]
EDataBook: Changed for EBookBackend set_locale() API change

10 years agoAdding new EBookSqlite
Tristan Van Berkom [Tue, 19 Nov 2013 12:56:38 +0000 (21:56 +0900)]
Adding new EBookSqlite

This is a complete rewrite for the EBookBackendSqliteDB API,
some improvements here include:

  o Support for e_book_query_exists() and e_book_query_not()

  o ESexp parsing only happens once, least possible processing
    while generating a query

  o Query preflighting stage checks for the validity of a query,
    and also optimizes it, so that the generated statement will
    be as fast as possible

  o Implementation of queries are now much more straigh forward,
    we have a single array of constraint generator functions, one
    for each type of EBookQueryTest

  o General interactions with SQLite is improved, functions like
    ebsql_string_append_printf() and book_backend_sqlite_exec_printf()
    reduce the amount of redundant code

  o Inserts are done with prepared SQLite statements, which should
    buy us optimization on batch inserts

  o Phone number queries no longer require the E_BOOK_INDEX_PHONE
    to work, however they are quicker with the index

  o Auxiliary tables are now created for each multi attribute contact
    field in the summary separately, reducing the amount of rows
    needed to traverse for a match (also adding more flexibility to
    how we handle these multi-attribute fields)

  o Special care has been taken to ensure that we begin write transactions
    with BEGIN IMMEDIATE, allowing us to fail gracefully if and when
    SQLITE_BUSY is returned

  o Schema upgrades are more failsafe, Just add columns needed in the
    summary if they are not already declared, even though SQLite does
    not support "ADD COLUMN IF NOT EXISTS".

  o When searching contacts with a search expression that cannot
    be satisfied by the summary columns, use a fallback built into
    the SQLite instead of loading everything into memory

  o Allow usage of the cursor with fields that are not in the summary,
    both for cursor ordering and filtering.

  o While relocalizing the whole database, care is taken to perform
    the operation in batches, this way EBookBackendSqlite does not
    ever try to load the whole database in memory at once.

  o Region code for phone number parsing is now tied into the locale
    setting and will change as a result of locale changes.

  o While relocalizing and reformatting the e164 phone number attributes
    in vcards, we send notifications for vcards which changed as a
    result of relocalization via a EbSqlVCardCallback which can
    be passed to e_book_backend_sqlite_set_locale()

  o Error codes are refined to be more meaningful in general than the
    traditional E_BOOK_SQLITE_ERROR_OTHER

10 years agoAdded E_BOOK_INDEX_SORT_KEY to EBookIndexType
Tristan Van Berkom [Wed, 20 Nov 2013 07:15:55 +0000 (16:15 +0900)]
Added E_BOOK_INDEX_SORT_KEY to EBookIndexType

10 years agoEBookQuery: Added end marker for the EBookQueryTest enum
Tristan Van Berkom [Thu, 21 Nov 2013 11:31:46 +0000 (20:31 +0900)]
EBookQuery: Added end marker for the EBookQueryTest enum

Also declare the first member with "= 0", just because we now
use it to index an array, and I'm paranoid/unsure about the C spec
in this case.

10 years agoEPhoneNumber: Fixed phone number matching semantics.
Tristan Van Berkom [Sat, 23 Nov 2013 13:08:58 +0000 (22:08 +0900)]
EPhoneNumber: Fixed phone number matching semantics.

Only use the default region code for the purpose of parsing
phone numbers, but disregard the default country code in comparisons.

Also, work around a bug in libphonenumber's C++ implementation
and make sure to properly promote SHORT number matches to NATIONAL
number match strength.

Based on a patch by Patrick Ohly

10 years agoECollator: Added e_collator_new_interpret_country()
Tristan Van Berkom [Tue, 26 Nov 2013 16:03:17 +0000 (01:03 +0900)]
ECollator: Added e_collator_new_interpret_country()

ICU is our best source for parsing locale strings, this
is just a convenience for EBookBackendSqlite to get the active
country code for phone number parsing.

10 years agoECollator: fixed e_collator_collate() to allow NULL strings.
Tristan Van Berkom [Tue, 26 Nov 2013 08:12:42 +0000 (17:12 +0900)]
ECollator: fixed e_collator_collate() to allow NULL strings.

NULL strings sort below other strings.

10 years agoAdded e_vcard_construct_full()
Tristan Van Berkom [Tue, 26 Nov 2013 08:11:52 +0000 (17:11 +0900)]
Added e_vcard_construct_full()

This new variant allows construction of a vcard from a string
which is not terminated.

10 years agoUpdated Galician translations
Fran Diéguez [Thu, 28 Nov 2013 23:47:36 +0000 (00:47 +0100)]
Updated Galician translations

10 years agoEDataBookCursor: fixed memory leak.
Tristan Van Berkom [Thu, 28 Nov 2013 12:49:11 +0000 (21:49 +0900)]
EDataBookCursor: fixed memory leak.

This was forgetting to free the result list after transforming it
for the D-Bus return.

10 years agoBug #719382 - Build break, missing NSPR CFLAGS/LIBS in Camel
Milan Crha [Thu, 28 Nov 2013 08:26:53 +0000 (09:26 +0100)]
Bug #719382 - Build break, missing NSPR CFLAGS/LIBS in Camel

10 years agoCamelSession: Add a "user-alert" signal.
Matthew Barnes [Wed, 27 Nov 2013 02:14:44 +0000 (21:14 -0500)]
CamelSession: Add a "user-alert" signal.

This replaces the interactive "alert_user()" method since the
interactive aspect is no longer used and proved difficult for
applications to handle correctly.

New functions:

  camel_session_user_alert()

Removed functions:

  camel_session_alert_user()

10 years agoBug #712578 - MH folder refresh can cause summary rebuild
Milan Crha [Wed, 27 Nov 2013 14:50:03 +0000 (15:50 +0100)]
Bug #712578 - MH folder refresh can cause summary rebuild

10 years agoUpdated Polish translation
Piotr Drąg [Tue, 26 Nov 2013 19:00:10 +0000 (20:00 +0100)]
Updated Polish translation

10 years agoCamelSession: Remove leftover "check_junk" function declarations.
Matthew Barnes [Mon, 25 Nov 2013 22:57:06 +0000 (17:57 -0500)]
CamelSession: Remove leftover "check_junk" function declarations.

10 years agoBug #680961 - Broken dispatching of EAuthenticationSession
Milan Crha [Mon, 25 Nov 2013 21:29:23 +0000 (22:29 +0100)]
Bug #680961 - Broken dispatching of EAuthenticationSession

There was basically no error reporting from the server to the client
when any such occurred during authentication on the server side, thus
the client was left waiting for a response which never happened. Even
the 'dismiss' signal has a comment that it can be used for such cases,
it's not the right thing to do, because it hides the errors from a user,
thus he/she doesn't know that something went wrong. For that a new
ServerError signal was added and the error is properly propagated to
the client. Note the GOA errors don't strip the GDBus error from
the message, which looks odd in the UI, thus I added a workaround
for that too.

10 years agoUpdated Lithuanian translation
Aurimas Černius [Mon, 25 Nov 2013 21:20:46 +0000 (23:20 +0200)]
Updated Lithuanian translation

10 years agoBug 709838 - CamelDataCache: Empty cache file leads to deadlock
Matthew Barnes [Mon, 25 Nov 2013 16:46:09 +0000 (11:46 -0500)]
Bug 709838 - CamelDataCache: Empty cache file leads to deadlock

camel_data_cache_get() forgot to abort the key reservation from its
object bag when an empty cache file is detected.  This would eventually
lead to a deadlock when attempting to add the same key later.

This bug was mainly affecting HTML mails, when a remote image download
got interrupted and left behind an empty file in the HTTP cache.

10 years agotest-client-custom-summary.c: Report specific error from add_contacts()
Tristan Van Berkom [Tue, 19 Nov 2013 03:41:04 +0000 (12:41 +0900)]
test-client-custom-summary.c: Report specific error from add_contacts()

10 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 25 Nov 2013 11:35:42 +0000 (12:35 +0100)]
Updated Spanish translation

10 years agoCamelSession: Remove "check-junk" property.
Matthew Barnes [Sun, 24 Nov 2013 21:02:07 +0000 (16:02 -0500)]
CamelSession: Remove "check-junk" property.

Evolution uses it but Camel doesn't.  Move it to Evolution.

10 years agoBump libcamel soname.
Matthew Barnes [Sun, 24 Nov 2013 21:03:34 +0000 (16:03 -0500)]
Bump libcamel soname.

Some more API changes to follow.

10 years agoESexp: Check for NULL before freeing a GPtrArray
Tristan Van Berkom [Fri, 22 Nov 2013 13:54:19 +0000 (22:54 +0900)]
ESexp: Check for NULL before freeing a GPtrArray

10 years agoESExp: Fixed memory leak of ESExp->error string
Tristan Van Berkom [Sun, 24 Nov 2013 07:10:54 +0000 (16:10 +0900)]
ESExp: Fixed memory leak of ESExp->error string

10 years agoEDataBook: Fixed memory leak of every EContact succesfully added to the addressbook.
Tristan Van Berkom [Sun, 24 Nov 2013 07:11:33 +0000 (16:11 +0900)]
EDataBook: Fixed memory leak of every EContact succesfully added to the addressbook.

10 years agoUpdated POTFILES.in
Piotr Drąg [Sat, 23 Nov 2013 17:13:59 +0000 (18:13 +0100)]
Updated POTFILES.in

10 years agoUpdated Greek translation
Dimitris Spingos [Sat, 23 Nov 2013 16:57:25 +0000 (18:57 +0200)]
Updated Greek translation

10 years agoECalBackend: Use GThreadPool instead of g_io_scheduler_push_job().
Matthew Barnes [Sat, 23 Nov 2013 16:27:06 +0000 (11:27 -0500)]
ECalBackend: Use GThreadPool instead of g_io_scheduler_push_job().

Once the old-style backend API is gone we can port everything to GTask,
but for now be conservative with the changes.

10 years agoEBookBackend: Use GThreadPool instead of g_io_scheduler_push_job().
Matthew Barnes [Sat, 23 Nov 2013 15:55:59 +0000 (10:55 -0500)]
EBookBackend: Use GThreadPool instead of g_io_scheduler_push_job().

Once the old-style backend API is gone we can port everything to GTask,
but for now be conservative with the changes.

10 years agoBug 712323 - Substantially expand EVCard documentation
Philip Withnall [Sat, 23 Nov 2013 13:41:59 +0000 (08:41 -0500)]
Bug 712323 - Substantially expand EVCard documentation

10 years agoe-vcard: Fix case sensitivity of string comparisions
Philip Withnall [Sat, 23 Nov 2013 13:39:01 +0000 (08:39 -0500)]
e-vcard: Fix case sensitivity of string comparisions

The rest of the code (and the specification) uniformly users
case-insensitive comparisons of attribute names and parameter values.

10 years agoe-vcard: Fix a minor memory leak for multi-valued parameters
Philip Withnall [Sat, 23 Nov 2013 13:37:48 +0000 (08:37 -0500)]
e-vcard: Fix a minor memory leak for multi-valued parameters

10 years agoCamelFolder: Update "host-reachable" before connecting.
Matthew Barnes [Fri, 22 Nov 2013 22:13:05 +0000 (17:13 -0500)]
CamelFolder: Update "host-reachable" before connecting.

10 years agoCamelStore: Update "host-reachable" before connecting.
Matthew Barnes [Fri, 22 Nov 2013 22:08:45 +0000 (17:08 -0500)]
CamelStore: Update "host-reachable" before connecting.

10 years agoAdd camel_network_service_can_reach_sync().
Matthew Barnes [Fri, 22 Nov 2013 21:16:32 +0000 (16:16 -0500)]
Add camel_network_service_can_reach_sync().

Just wrappers g_network_monitor_can_reach() using the service's own
GSocketConnectable, but also updates the "host-reachable" property.
External callers can use this to synchronously update the property,
in case they need an up-to-date result to make a decision.

Also adds equivalent asynchronous functions:

  camel_network_service_can_reach()
  camel_network_service_can_reach_finish()

10 years agoservices: Demote g_print() -> g_debug() for bus names
Colin Walters [Thu, 21 Nov 2013 19:49:36 +0000 (14:49 -0500)]
services: Demote g_print() -> g_debug() for bus names

This happens in normal operation, we don't need to announce it.

Developers wanting to trace things relating to DBus names can use
tools like gdbus monitor or d-feet.

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

10 years agoWeather calendar: Be able to change temperature unit
Milan Crha [Fri, 22 Nov 2013 18:15:18 +0000 (19:15 +0100)]
Weather calendar: Be able to change temperature unit

The ESourceExtension had a 'unit' property, but it was not used
anywhere, thus I changed it to reflect possible values of current
libgweather and made it used in the background.

10 years agoCamelNetworkService: Don't block first "host-reachable" notification.
Matthew Barnes [Fri, 22 Nov 2013 17:46:25 +0000 (12:46 -0500)]
CamelNetworkService: Don't block first "host-reachable" notification.

Evolution had a similar problem recently, where an arbitrary choice of
default for a status property we don't yet know the real initial value
for could block the property's first "notify" signal after the initial
value is determined.

10 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 22 Nov 2013 16:24:50 +0000 (17:24 +0100)]
Updated Spanish translation

10 years agoUOA: Add support for IMAP access to Windows Live accounts.
Matthew Barnes [Thu, 21 Nov 2013 15:34:24 +0000 (10:34 -0500)]
UOA: Add support for IMAP access to Windows Live accounts.

10 years agoUOA: Return IMAP/SMTP user names when collecting user info.
Matthew Barnes [Fri, 22 Nov 2013 15:10:51 +0000 (10:10 -0500)]
UOA: Return IMAP/SMTP user names when collecting user info.

Can't assume the user names are the same as the collection identity.

Would be better to specify this in the .service files.

   e.g. <imapuser>EMAILADDRESS / USERIDENTITY</imapuser>

But that can wait.  Hard-coding by provider is ugly but works for now.

10 years agoUOA: Miscellaneous cleanups.
Matthew Barnes [Fri, 22 Nov 2013 14:38:26 +0000 (09:38 -0500)]
UOA: Miscellaneous cleanups.

10 years agoESourceRegistry: Ignore hidden files from .source folder monitoring
Milan Crha [Fri, 22 Nov 2013 15:53:44 +0000 (16:53 +0100)]
ESourceRegistry: Ignore hidden files from .source folder monitoring

There used to be a critical warning on the source registry console:
   ** Failed to load key file at
   'file:///home/user/.config/evolution/sources/.goutputstream-1P9V6W':
   File must have a '.source' extension

There is nothing the source registry can do with these files (because
they are created by GIO), but ignore them during the folder monitoring,
instead of spreading useless runtime warning.

10 years agoUpdated POTFILES.in
Piotr Drąg [Fri, 22 Nov 2013 15:09:37 +0000 (16:09 +0100)]
Updated POTFILES.in

10 years agoBug 712728 - Add --disable-migration option to evolution-source-registry
Tristan Van Berkom [Wed, 20 Nov 2013 06:08:54 +0000 (15:08 +0900)]
Bug 712728 - Add --disable-migration option to evolution-source-registry

This allows one to run the EDS processes in relocated XDG user data
directories, without the registry stealing your user data from ~/.evolution
or previous versions.

10 years agoBug 712829 - Silence unnecessary migration chatter on stdout
Colin Walters [Thu, 21 Nov 2013 21:54:03 +0000 (16:54 -0500)]
Bug 712829 - Silence unnecessary migration chatter on stdout

Currently we log a message every time the migrater starts, even
if we have nothing to migrate.  This clutters the systemd journal.

To fix this cleanly, rework this code so that error handling is
cleaner and more unified, which preserves the migration context.

10 years agoregistry-server: Demote g_print() to g_debug()
Colin Walters [Thu, 21 Nov 2013 14:13:37 +0000 (09:13 -0500)]
registry-server: Demote g_print() to g_debug()

Avoid doing this sort of thing during normal startup.

10 years agoUOA: Update google-calendar service to use OAuth-based CalDAV.
Matthew Barnes [Thu, 21 Nov 2013 14:45:15 +0000 (09:45 -0500)]
UOA: Update google-calendar service to use OAuth-based CalDAV.

10 years agolibebackend: Use g_debug() for normal operation message instead of g_print()
Colin Walters [Thu, 21 Nov 2013 13:59:56 +0000 (08:59 -0500)]
libebackend: Use g_debug() for normal operation message instead of g_print()

I'm trying to reduce log spew from simply booting.  Now that dbus
connects bus-activated services to the journal, this g_print() is now
visible.  Demote it to g_debug().

10 years agoBump minimum libgweather requirement.
Matthew Barnes [Wed, 20 Nov 2013 13:13:56 +0000 (08:13 -0500)]
Bump minimum libgweather requirement.

Recent changes began using symbols introduced in libgweather 3.8 while
the minimum build requirement remained at 3.5.  Update the requirement.

10 years agoTamil Translations Updated
Shantha kumar [Wed, 20 Nov 2013 08:58:15 +0000 (14:28 +0530)]
Tamil Translations Updated

10 years agoMake the Weather calendar work after changes for bug #712388
Milan Crha [Mon, 18 Nov 2013 20:16:47 +0000 (21:16 +0100)]
Make the Weather calendar work after changes for bug #712388

10 years agoBump AddressBook service name for new cursor API.
Matthew Barnes [Sun, 17 Nov 2013 16:42:18 +0000 (11:42 -0500)]
Bump AddressBook service name for new cursor API.

10 years agoUpdate API documentation.
Matthew Barnes [Sun, 17 Nov 2013 16:40:50 +0000 (11:40 -0500)]
Update API documentation.

10 years agoRemove undefined $(GNOME_INCLUDEDIR) / $(GTK_INCLUDEDIR).
Matthew Barnes [Sun, 17 Nov 2013 16:17:00 +0000 (11:17 -0500)]
Remove undefined $(GNOME_INCLUDEDIR) / $(GTK_INCLUDEDIR).

10 years agoRemove --enable-nntp configure option.
Matthew Barnes [Sun, 17 Nov 2013 16:14:20 +0000 (11:14 -0500)]
Remove --enable-nntp configure option.

NNTP adds no extra dependencies; there's no need for it to be optional.

10 years agoMakefile.am cleanups.
Matthew Barnes [Sun, 17 Nov 2013 15:53:53 +0000 (10:53 -0500)]
Makefile.am cleanups.

- Remove trailing tabs.
- Add terminators to multi-line lists.

10 years agoPost-release version bump.
Matthew Barnes [Sun, 17 Nov 2013 14:41:31 +0000 (09:41 -0500)]
Post-release version bump.

10 years agoNEWS update for 3.11.2 release.
Matthew Barnes [Sun, 17 Nov 2013 14:03:27 +0000 (09:03 -0500)]
NEWS update for 3.11.2 release.

10 years agoFix distcheck error.
Matthew Barnes [Sun, 17 Nov 2013 14:21:11 +0000 (09:21 -0500)]
Fix distcheck error.

10 years agoUpdated Spanish translation
Daniel Mustieles [Sat, 16 Nov 2013 17:17:41 +0000 (18:17 +0100)]
Updated Spanish translation