summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2023-03-27 17:36:16 +0200
committerMilan Crha <mcrha@redhat.com>2023-03-27 17:36:16 +0200
commit27ce1d1ffdd35fda512f9d12351a90ae6e1ad989 (patch)
treeaa308768392db228f2454c962f277fbc55b740fe
parent43d3e2fb06b1e74d6a6d028ee8d9d60424f86a77 (diff)
downloadevolution-data-server-27ce1d1ffdd35fda512f9d12351a90ae6e1ad989.tar.gz
WebDAV backends: Specify cache file in an error message
This should make it easier to locate the corresponding cache file.
-rw-r--r--src/addressbook/backends/carddav/e-book-backend-carddav.c11
-rw-r--r--src/calendar/backends/caldav/e-cal-backend-caldav.c10
-rw-r--r--src/calendar/backends/webdav-notes/e-cal-backend-webdav-notes.c10
3 files changed, 27 insertions, 4 deletions
diff --git a/src/addressbook/backends/carddav/e-book-backend-carddav.c b/src/addressbook/backends/carddav/e-book-backend-carddav.c
index 1030543f8..f395808b5 100644
--- a/src/addressbook/backends/carddav/e-book-backend-carddav.c
+++ b/src/addressbook/backends/carddav/e-book-backend-carddav.c
@@ -1277,9 +1277,16 @@ ebb_carddav_save_contact_sync (EBookMetaBackend *meta_backend,
g_free (new_etag);
} else if (uid && vcard_string) {
+ EBookCache *cache;
+
+ cache = e_book_meta_backend_ref_cache (meta_backend);
success = FALSE;
- g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR,
- _("Missing information about vCard URL, local cache is possibly incomplete or broken. Remove it, please.")));
+
+ g_propagate_error (error, e_client_error_create_fmt (E_CLIENT_ERROR_OTHER_ERROR,
+ _("Missing information about component URL, local cache is possibly incomplete or broken. You can try to remove it and restart background evolution-data-server processes. Cache file: %s"),
+ e_cache_get_filename (E_CACHE (cache))));
+
+ g_clear_object (&cache);
} else {
success = FALSE;
g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Object to save is not a valid vCard")));
diff --git a/src/calendar/backends/caldav/e-cal-backend-caldav.c b/src/calendar/backends/caldav/e-cal-backend-caldav.c
index b3ab76257..d2dc889fc 100644
--- a/src/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/src/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -1507,8 +1507,16 @@ ecb_caldav_save_component_sync (ECalMetaBackend *meta_backend,
g_free (new_etag);
} else if (uid && ical_string) {
+ ECalCache *cache;
+
+ cache = e_cal_meta_backend_ref_cache (meta_backend);
success = FALSE;
- g_propagate_error (error, ECC_ERROR_EX (E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Missing information about component URL, local cache is possibly incomplete or broken. Remove it, please.")));
+
+ g_propagate_error (error, e_cal_client_error_create_fmt (E_CAL_CLIENT_ERROR_INVALID_OBJECT,
+ _("Missing information about component URL, local cache is possibly incomplete or broken. You can try to remove it and restart background evolution-data-server processes. Cache file: %s"),
+ e_cache_get_filename (E_CACHE (cache))));
+
+ g_clear_object (&cache);
} else {
success = FALSE;
g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
diff --git a/src/calendar/backends/webdav-notes/e-cal-backend-webdav-notes.c b/src/calendar/backends/webdav-notes/e-cal-backend-webdav-notes.c
index 581422d10..fe839d5b0 100644
--- a/src/calendar/backends/webdav-notes/e-cal-backend-webdav-notes.c
+++ b/src/calendar/backends/webdav-notes/e-cal-backend-webdav-notes.c
@@ -1243,8 +1243,16 @@ ecb_webdav_notes_save_component_sync (ECalMetaBackend *meta_backend,
g_free (expected_filename);
g_free (new_etag);
} else if (uid) {
+ ECalCache *cache;
+
+ cache = e_cal_meta_backend_ref_cache (meta_backend);
success = FALSE;
- g_propagate_error (error, ECC_ERROR_EX (E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Missing information about component URL, local cache is possibly incomplete or broken. Remove it, please.")));
+
+ g_propagate_error (error, e_cal_client_error_create_fmt (E_CAL_CLIENT_ERROR_INVALID_OBJECT,
+ _("Missing information about component URL, local cache is possibly incomplete or broken. You can try to remove it and restart background evolution-data-server processes. Cache file: %s"),
+ e_cache_get_filename (E_CACHE (cache))));
+
+ g_clear_object (&cache);
} else {
success = FALSE;
g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));