Browse Source

let error during update of metadata of virtual files propagate to users

errors duing update of metadata of virtual files are being ignored and
not propagated to users to be shonw in main dialog

ensure they are real errors from sync engine point of view and let them
be taken into account

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien 4 years ago
parent
commit
b8ff1525f7
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/libsync/syncengine.cpp

+ 4 - 0
src/libsync/syncengine.cpp

@@ -353,8 +353,10 @@ void OCC::SyncEngine::slotItemDiscovered(const OCC::SyncFileItemPtr &item)
             if (item->_type == ItemTypeFile) {
                 const auto result = _syncOptions._vfs->convertToPlaceholder(filePath, *item);
                 if (!result) {
+                    item->_status = SyncFileItem::Status::NormalError;
                     item->_instruction = CSYNC_INSTRUCTION_ERROR;
                     item->_errorString = tr("Could not update file: %1").arg(result.error());
+                    emit itemCompleted(item);
                     return;
                 }
             }
@@ -363,8 +365,10 @@ void OCC::SyncEngine::slotItemDiscovered(const OCC::SyncFileItemPtr &item)
             if (item->_type == ItemTypeVirtualFile) {
                 auto r = _syncOptions._vfs->updateMetadata(filePath, item->_modtime, item->_size, item->_fileId);
                 if (!r) {
+                    item->_status = SyncFileItem::Status::NormalError;
                     item->_instruction = CSYNC_INSTRUCTION_ERROR;
                     item->_errorString = tr("Could not update virtual file metadata: %1").arg(r.error());
+                    emit itemCompleted(item);
                     return;
                 }
             }