diff options
author | Milan Crha <mcrha@redhat.com> | 2023-03-27 17:36:16 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2023-03-27 17:36:16 +0200 |
commit | 27ce1d1ffdd35fda512f9d12351a90ae6e1ad989 (patch) | |
tree | aa308768392db228f2454c962f277fbc55b740fe | |
parent | 43d3e2fb06b1e74d6a6d028ee8d9d60424f86a77 (diff) | |
download | evolution-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.
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)); |