do not consider articles with wrongly changed label as updated as the info about "changed" labels is broken atm
This commit is contained in:
parent
57cc08762a
commit
18544abc54
1 changed files with 12 additions and 4 deletions
|
@ -1840,25 +1840,32 @@ UpdatedArticles DatabaseQueries::updateMessages(const QSqlDatabase& db,
|
||||||
for (Message& message : messages) {
|
for (Message& message : messages) {
|
||||||
if (!message.m_customId.isEmpty() || message.m_id > 0) {
|
if (!message.m_customId.isEmpty() || message.m_id > 0) {
|
||||||
QMutexLocker lck(db_mutex);
|
QMutexLocker lck(db_mutex);
|
||||||
bool lbls_changed = false;
|
// bool lbls_changed = false;
|
||||||
|
|
||||||
if (uses_online_labels) {
|
if (uses_online_labels) {
|
||||||
// Store all labels obtained from server.
|
// Store all labels obtained from server.
|
||||||
setLabelsForMessage(db, message.m_assignedLabels, message);
|
setLabelsForMessage(db, message.m_assignedLabels, message);
|
||||||
lbls_changed = true;
|
// lbls_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adjust labels tweaked by filters.
|
// Adjust labels tweaked by filters.
|
||||||
for (Label* assigned_by_filter : message.m_assignedLabelsByFilter) {
|
for (Label* assigned_by_filter : message.m_assignedLabelsByFilter) {
|
||||||
assigned_by_filter->assignToMessage(message, false);
|
assigned_by_filter->assignToMessage(message, false);
|
||||||
lbls_changed = true;
|
// lbls_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Label* removed_by_filter : message.m_deassignedLabelsByFilter) {
|
for (Label* removed_by_filter : message.m_deassignedLabelsByFilter) {
|
||||||
removed_by_filter->deassignFromMessage(message, false);
|
removed_by_filter->deassignFromMessage(message, false);
|
||||||
lbls_changed = true;
|
// lbls_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NOTE: This is likely not needed at all
|
||||||
|
// as this feature was semi-broken anyway, it was trigerred
|
||||||
|
// even when labels were added (via article filtering or on service server)
|
||||||
|
// and the same labels were already assigned in local DB.
|
||||||
|
// In other words, label assignment differences were not correctly
|
||||||
|
// taken into account.
|
||||||
|
/*
|
||||||
if (lbls_changed && !message.m_insertedUpdated) {
|
if (lbls_changed && !message.m_insertedUpdated) {
|
||||||
// This article was not inserted/updated in DB because its contents did not change
|
// This article was not inserted/updated in DB because its contents did not change
|
||||||
// but its assigned labels were changed. Therefore we must count article
|
// but its assigned labels were changed. Therefore we must count article
|
||||||
|
@ -1869,6 +1876,7 @@ UpdatedArticles DatabaseQueries::updateMessages(const QSqlDatabase& db,
|
||||||
|
|
||||||
updated_messages.m_all.append(message);
|
updated_messages.m_all.append(message);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
qCriticalNN << LOGSEC_DB << "Cannot set labels for message" << QUOTE_W_SPACE(message.m_title)
|
qCriticalNN << LOGSEC_DB << "Cannot set labels for message" << QUOTE_W_SPACE(message.m_title)
|
||||||
|
|
Loading…
Add table
Reference in a new issue