Преглед на файлове

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 години
родител
ревизия
b8ff1525f7
променени са 1 файла, в които са добавени 4 реда и са изтрити 0 реда
  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;
                 }
             }