diff --git a/src/gui/tray/UserModel.cpp b/src/gui/tray/UserModel.cpp index a175d3173b..b048b329b0 100644 --- a/src/gui/tray/UserModel.cpp +++ b/src/gui/tray/UserModel.cpp @@ -413,6 +413,21 @@ void User::slotAddError(const QString &folderAlias, const QString &message, Erro } } +bool User::isValueableActivity(const Folder *folder, const SyncFileItemPtr &item) const +{ + // Ignore activity from a different account + if (folder->accountState() != _account.data()) { + return false; + } + + // We just care about conflict issues that we are able to resolve + if (item->_status == SyncFileItem::Conflict && !Utility::isConflictFile(item->_file)) { + return false; + } + + return true; +} + void User::slotItemCompleted(const QString &folder, const SyncFileItemPtr &item) { auto folderInstance = FolderMan::instance()->folder(folder); @@ -420,8 +435,7 @@ void User::slotItemCompleted(const QString &folder, const SyncFileItemPtr &item) if (!folderInstance) return; - // check if we are adding it to the right account and if it is useful information (protocol errors) - if (folderInstance->accountState() == _account.data()) { + if (isValueableActivity(folderInstance, item)) { qCWarning(lcActivity) << "Item " << item->_file << " retrieved resulted in " << item->_errorString; Activity activity; diff --git a/src/gui/tray/UserModel.h b/src/gui/tray/UserModel.h index d9f99f1de7..535c9ad432 100644 --- a/src/gui/tray/UserModel.h +++ b/src/gui/tray/UserModel.h @@ -80,6 +80,8 @@ private: void connectPushNotifications() const; bool checkPushNotificationsAreReady() const; + bool isValueableActivity(const Folder *folder, const SyncFileItemPtr &item) const; + private: AccountStatePtr _account; bool _isCurrentUser; diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 90ba4ea667..4c35a3956f 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -742,13 +742,12 @@ bool OwncloudPropagator::createConflict(const SyncFileItemPtr &item, conflictItem->_size = item->_previousSize; emit newItem(conflictItem); composite->appendTask(conflictItem); - } else { - // Directories we can't process in one go. The next sync run - // will take care of uploading the conflict dir contents. - _anotherSyncNeeded = true; } } + // Need a new sync to detect the created copy of the conflicting file + _anotherSyncNeeded = true; + return true; }