From 26686ecd458b3f04c95ba410a2f1cc7ee707e6fb Mon Sep 17 00:00:00 2001 From: Kevin Ottens Date: Thu, 9 Jul 2020 12:17:42 +0200 Subject: [PATCH] Recover from missing metadata on uploads Other clients seem to allow creating empty encrypted folders with no metadata associated to them, so let's get ready to handle it. In case of a 404 to get the metadata, we create an empty metadata payload and pass it further down. Signed-off-by: Kevin Ottens --- src/libsync/propagateuploadencrypted.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libsync/propagateuploadencrypted.cpp b/src/libsync/propagateuploadencrypted.cpp index 3bea68ffe..6fe85c4cb 100644 --- a/src/libsync/propagateuploadencrypted.cpp +++ b/src/libsync/propagateuploadencrypted.cpp @@ -133,8 +133,11 @@ void PropagateUploadEncrypted::slotFolderEncryptedMetadataError(const QByteArray { Q_UNUSED(fileId); Q_UNUSED(httpReturnCode); - qCDebug(lcPropagateUploadEncrypted()) << "Error Getting the encrypted metadata. unlock the folder."; - unlockFolder(); + qCDebug(lcPropagateUploadEncrypted()) << "Error Getting the encrypted metadata. Pretend we got empty metadata."; + FolderMetadata emptyMetadata(_propagator->account()); + emptyMetadata.encryptedMetadata(); + auto json = QJsonDocument::fromJson(emptyMetadata.encryptedMetadata()); + slotFolderEncryptedMetadataReceived(json, httpReturnCode); } void PropagateUploadEncrypted::slotFolderEncryptedMetadataReceived(const QJsonDocument &json, int statusCode) -- 2.30.2