From: Kevin Ottens Date: Thu, 9 Jul 2020 10:17:42 +0000 (+0200) Subject: Recover from missing metadata on uploads X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~222^2^2~81 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=26686ecd458b3f04c95ba410a2f1cc7ee707e6fb;p=nextcloud-desktop.git 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 --- 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)