Browse Source

update_rss_feed: mark_unread_on_update should take into account catchup filter action and entry_force_catchup

Andrew Dolgov 2 months ago
parent
commit
13e7e775a3
1 changed files with 6 additions and 1 deletions
  1. 6 1
      classes/rssutils.php

+ 6 - 1
classes/rssutils.php

@@ -1017,12 +1017,17 @@ class RSSUtils {
 							SET score = ? WHERE ref_id = ?");
 					$sth->execute([$score, $ref_id]);
 
-					if ($mark_unread_on_update) {
+					if ($mark_unread_on_update &&
+						!$entry_force_catchup &&
+						!RSSUtils::find_article_filter($article_filters, 'catchup')) {
+
 						Debug::log("article updated, marking unread as requested.", Debug::$LOG_VERBOSE);
 
 						$sth = $pdo->prepare("UPDATE ttrss_user_entries
 							SET last_read = null, unread = true WHERE ref_id = ?");
 						$sth->execute([$ref_id]);
+					} else {
+						Debug::log("article updated, but we're forbidden to mark it unread.", Debug::$LOG_VERBOSE);
 					}
 				}