Do not ignore return values for SyncJournalDB in accountsettings folderstatusmodel...
authorallexzander <blackslayer4@gmail.com>
Thu, 4 Aug 2022 14:29:02 +0000 (17:29 +0300)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Sat, 17 Sep 2022 07:47:15 +0000 (09:47 +0200)
Signed-off-by: allexzander <blackslayer4@gmail.com>
src/gui/accountsettings.cpp
src/gui/folderstatusmodel.cpp
src/gui/tray/activitylistmodel.cpp
src/libsync/abstractpropagateremotedeleteencrypted.cpp
src/libsync/lockfilejobs.cpp
src/libsync/propagatedownload.cpp
src/libsync/propagateremotedelete.cpp
src/libsync/propagateremotedeleteencryptedrootfolder.cpp
src/libsync/propagateremotemove.cpp
src/libsync/propagatorjobs.cpp

index 0223c5c90f0ff9faed7f67bfd66e8d260ac9f94b..c928c365fb6130d1f09a1bc5eaa549c0dca6b081 100644 (file)
@@ -507,7 +507,9 @@ void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index
         // It might be an E2EE mangled path, so let's try to demangle it
         const auto journal = folder->journalDb();
         SyncJournalFileRecord rec;
-        journal->getFileRecordByE2eMangledName(remotePath, &rec);
+        if (!journal->getFileRecordByE2eMangledName(remotePath, &rec)) {
+            qCWarning(lcFolderStatus) << "Could not get file record by E2E Mangled Name from local DB" << remotePath;
+        }
 
         const auto path = rec.isValid() ? rec._path : remotePath;
 
index 6969fa29c3b371dc559f10782022af053ccf360f..fe981726e1b3a3d0a032f09126cc08bc5bb81c8f 100644 (file)
@@ -743,7 +743,9 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
         newInfo._path = relativePath;
 
         SyncJournalFileRecord rec;
-        parentInfo->_folder->journalDb()->getFileRecordByE2eMangledName(removeTrailingSlash(relativePath), &rec);
+        if (!parentInfo->_folder->journalDb()->getFileRecordByE2eMangledName(removeTrailingSlash(relativePath), &rec)) {
+            qCWarning(lcFolderStatus) << "Could not get file record by E2E Mangled Name from local DB" << removeTrailingSlash(relativePath);
+        }
         if (rec.isValid()) {
             newInfo._name = removeTrailingSlash(rec._path).split('/').last();
             if (rec._isE2eEncrypted && !rec._e2eMangledName.isEmpty()) {
index 556715ade65eb685c1de039223b7162a6e946a22..b94d5bfd80b6f3a614d69be98a7cab879d436f0d 100644 (file)
@@ -156,7 +156,9 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const
             // If this is an E2EE file or folder, pretend we got no path, hiding the share button which is what we want
             if (folder) {
                 SyncJournalFileRecord rec;
-                folder->journalDb()->getFileRecord(fileName.mid(1), &rec);
+                if (!folder->journalDb()->getFileRecord(fileName.mid(1), &rec)) {
+                    qCWarning(lcActivity) << "could not get file from local DB" << fileName.mid(1);
+                }
                 if (rec.isValid() && (rec._isE2eEncrypted || !rec._e2eMangledName.isEmpty())) {
                     return QString();
                 }
index 4d8bca50543bc3053e35e887c06b48e5a49f606b..5dd817244ec96b3a5d216a7ca656ce1c8b82e11a 100644 (file)
@@ -144,7 +144,9 @@ void AbstractPropagateRemoteDeleteEncrypted::slotDeleteRemoteItemFinished()
         return;
     }
 
-    _propagator->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory());
+    if (!_propagator->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory())) {
+        qCWarning(ABSTRACT_PROPAGATE_REMOVE_ENCRYPTED) << "Failed to delete file record from local DB" << _item->_originalFile;
+    }
     _propagator->_journal->commit("Remote Remove");
 
     unlockFolder();
index 4a398c2b02ce8053258e6462a56503043c6664d5..b5bccd9dfa2bb8601fa57985079650571329f272 100644 (file)
@@ -171,7 +171,10 @@ SyncJournalFileRecord LockFileJob::handleReply()
                 _userId != account()->davUser()) {
             FileSystem::setFileReadOnly(relativePath, true);
         }
-        _journal->setFileRecord(record);
+        const auto result = _journal->setFileRecord(record);
+        if (!result) {
+            qCWarning(lcLockFileJob) << "Error when setting the file record to the database" << record._path << result.error();
+        }
         _journal->commit("lock file job");
     }
 
index 90564deac1d1226ee3fc310757d8b7dee60ecc05..1474d3f884df3af7e0611d20080a2366afebffc2 100644 (file)
@@ -509,7 +509,7 @@ void PropagateDownloadFile::startAfterIsEncryptedIsChecked()
 
         if (!propagator()->_journal->deleteFileRecord(_item->_originalFile)) {
             qCWarning(lcPropagateDownload) << "could not delete file from local DB" << _item->_originalFile;
-            done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile));
+            done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(_item->_originalFile));
             return;
         }
 
@@ -1249,7 +1249,7 @@ void PropagateDownloadFile::downloadFinished()
 
             if (!propagator()->_journal->deleteFileRecord(virtualFile)) {
                 qCWarning(lcPropagateDownload) << "could not delete file from local DB" << virtualFile;
-                done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(virtualFile));
+                done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(virtualFile));
                 return;
             }
 
index 5006ff4329f8533180a24fe849badeab7cffa646..ddf3f11f79c3c42b945084ebfde1f8cc8b475261 100644 (file)
@@ -113,7 +113,12 @@ void PropagateRemoteDelete::slotDeleteJobFinished()
         return;
     }
 
-    propagator()->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory());
+    if (!propagator()->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory())) {
+        qCWarning(lcPropagateRemoteDelete) << "could not delete file from local DB" << _item->_originalFile;
+        done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(_item->_originalFile));
+        return;
+    }
+
     propagator()->_journal->commit("Remote Remove");
 
     done(SyncFileItem::Success);
index add0c00dad76825ce6407dc462134eb5ea586cf5..3985f530831e1eadb631033bb118550d09c03f9d 100644 (file)
@@ -116,7 +116,9 @@ void PropagateRemoteDeleteEncryptedRootFolder::slotDeleteNestedRemoteItemFinishe
         const auto nestedItem = _nestedItems.take(encryptedFileName);
 
         if (nestedItem.isValid()) {
-            _propagator->_journal->deleteFileRecord(nestedItem._path, nestedItem._type == ItemTypeDirectory);
+            if (!_propagator->_journal->deleteFileRecord(nestedItem._path, nestedItem._type == ItemTypeDirectory)) {
+                qCWarning(PROPAGATE_REMOVE_ENCRYPTED_ROOTFOLDER) << "Failed to delete file record from local DB" << nestedItem._path;
+            }
             _propagator->_journal->commit("Remote Remove");
         }
     }
index dd90c966f38ae40bca2594341b58acf357f3e8cb..882d7e077bd8bdbbb6563bbbf9e4d23a63afaf8e 100644 (file)
@@ -259,7 +259,7 @@ void PropagateRemoteMove::finalize()
         // Delete old db data.
         if (!propagator()->_journal->deleteFileRecord(_item->_originalFile)) {
             qCWarning(lcPropagateRemoteMove) << "could not delete file from local DB" << _item->_originalFile;
-            done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile));
+            done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(_item->_originalFile));
             return;
         }
         if (!vfs->setPinState(_item->_originalFile, PinState::Inherited)) {
index 69f74160c3bcd8349f7f99c07490cb039256a52d..8f57eb18d30716cd2e9caeafa187fdeadf728c02 100644 (file)
@@ -130,7 +130,7 @@ void PropagateLocalRemove::start()
     propagator()->reportProgress(*_item, 0);
     if (!propagator()->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory())) {
         qCWarning(lcPropagateLocalRename) << "could not delete file from local DB" << _item->_originalFile;
-        done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile));
+        done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(_item->_originalFile));
         return;
     }
     propagator()->_journal->commit("Local remove");
@@ -256,7 +256,7 @@ void PropagateLocalRename::start()
     }
     if (!propagator()->_journal->deleteFileRecord(_item->_originalFile)) {
         qCWarning(lcPropagateLocalRename) << "could not delete file from local DB" << _item->_originalFile;
-        done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile));
+        done(SyncFileItem::NormalError, tr("Could not delete file record %1 from local DB").arg(_item->_originalFile));
         return;
     }