From: allexzander Date: Thu, 4 Aug 2022 14:29:02 +0000 (+0300) Subject: Do not ignore return values for SyncJournalDB in accountsettings folderstatusmodel... X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~11^2~262^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=65cd8d06bc2898ec8600c1aadf9dfe6731063616;p=nextcloud-desktop.git Do not ignore return values for SyncJournalDB in accountsettings folderstatusmodel activitylistmodel abstractpropagateremotedeleteyncrypted lockgilejobs and propagator jobs Signed-off-by: allexzander --- diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 0223c5c90..c928c365f 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -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; diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 6969fa29c..fe981726e 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -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()) { diff --git a/src/gui/tray/activitylistmodel.cpp b/src/gui/tray/activitylistmodel.cpp index 556715ade..b94d5bfd8 100644 --- a/src/gui/tray/activitylistmodel.cpp +++ b/src/gui/tray/activitylistmodel.cpp @@ -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(); } diff --git a/src/libsync/abstractpropagateremotedeleteencrypted.cpp b/src/libsync/abstractpropagateremotedeleteencrypted.cpp index 4d8bca505..5dd817244 100644 --- a/src/libsync/abstractpropagateremotedeleteencrypted.cpp +++ b/src/libsync/abstractpropagateremotedeleteencrypted.cpp @@ -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(); diff --git a/src/libsync/lockfilejobs.cpp b/src/libsync/lockfilejobs.cpp index 4a398c2b0..b5bccd9df 100644 --- a/src/libsync/lockfilejobs.cpp +++ b/src/libsync/lockfilejobs.cpp @@ -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"); } diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 90564deac..1474d3f88 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -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; } diff --git a/src/libsync/propagateremotedelete.cpp b/src/libsync/propagateremotedelete.cpp index 5006ff432..ddf3f11f7 100644 --- a/src/libsync/propagateremotedelete.cpp +++ b/src/libsync/propagateremotedelete.cpp @@ -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); diff --git a/src/libsync/propagateremotedeleteencryptedrootfolder.cpp b/src/libsync/propagateremotedeleteencryptedrootfolder.cpp index add0c00da..3985f5308 100644 --- a/src/libsync/propagateremotedeleteencryptedrootfolder.cpp +++ b/src/libsync/propagateremotedeleteencryptedrootfolder.cpp @@ -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"); } } diff --git a/src/libsync/propagateremotemove.cpp b/src/libsync/propagateremotemove.cpp index dd90c966f..882d7e077 100644 --- a/src/libsync/propagateremotemove.cpp +++ b/src/libsync/propagateremotemove.cpp @@ -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)) { diff --git a/src/libsync/propagatorjobs.cpp b/src/libsync/propagatorjobs.cpp index 69f74160c..8f57eb18d 100644 --- a/src/libsync/propagatorjobs.cpp +++ b/src/libsync/propagatorjobs.cpp @@ -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; }