diff --git a/src/librssguard/database/databasequeries.cpp b/src/librssguard/database/databasequeries.cpp index ee6a7f9ab..e3c2c1f02 100644 --- a/src/librssguard/database/databasequeries.cpp +++ b/src/librssguard/database/databasequeries.cpp @@ -1265,7 +1265,7 @@ QPair DatabaseQueries::updateMessages(QSqlDatabase db, // // Now, we update it if at least one of next conditions is true: // 1) FOR SYNCHRONIZED SERVICES: Message has custom ID AND (its date OR read status OR starred status are changed - // or message was moved from one feed to another - this can particularly happen in Gmail feeds). + // or message was moved from other feed to current feed - this can particularly happen in Gmail feeds). // // 2) FOR NON-SYNCHRONIZED SERVICES (RSS/ATOM/JSON): Message has custom ID/GUID and its title or contents are changed. // @@ -1279,7 +1279,7 @@ QPair DatabaseQueries::updateMessages(QSqlDatabase db, (message.m_created.toMSecsSinceEpoch() != date_existing_message || message.m_isRead != is_read_existing_message || message.m_isImportant != is_important_existing_message || - message.m_feedId != feed_id_existing_message || + (message.m_feedId != feed_id_existing_message && message.m_feedId == feed_custom_id) || message.m_title != title_existing_message || (!ignore_contents_changes && message.m_contents != contents_existing_message)); bool cond_2 = !message.m_customId.isEmpty() && !feed->getParentServiceRoot()->isSyncable() && diff --git a/src/librssguard/services/feedly/feedlynetwork.cpp b/src/librssguard/services/feedly/feedlynetwork.cpp index 36ebd299d..c16735525 100644 --- a/src/librssguard/services/feedly/feedlynetwork.cpp +++ b/src/librssguard/services/feedly/feedlynetwork.cpp @@ -238,6 +238,7 @@ QList FeedlyNetwork::decodeStreamContents(const QByteArray& stream_cont const QJsonObject& entry_obj = entry.toObject(); Message message; + message.m_feedId = entry_obj["origin"].toObject()["streamId"].toString(); message.m_title = entry_obj["title"].toString(); message.m_author = entry_obj["author"].toString(); message.m_contents = entry_obj["content"].toObject()["content"].toString();