1
0
Fork 0
mirror of https://codeberg.org/Reuh/feather.git synced 2025-10-27 10:09:32 +00:00

fix: mark-as-read articles that were read on the server when only_sync_unread_articles = true

This commit is contained in:
Étienne Fildadut 2025-10-18 15:39:28 +02:00
parent d77a92cb82
commit 0db9881d09

View file

@ -160,18 +160,24 @@ class FeatherApp:
article.write()
updated_articles += 1
# Remove articles that we didn't get from the server but are in the JSON directory
# Remove or mark-as-read articles that we didn't get from the server but are in the JSON directory
removed_articles = 0
article_cutoff_timestamp = (
datetime.now().timestamp() - config.keep_read_articles_for
)
for article in self.iter_articles():
if (
# we sync all articles: remove all articles that aren't on the server
not config.only_sync_unread_articles
# we only sync unread: only remove articles that are too old
or article.last_write < article_cutoff_timestamp
) and article.id not in grabbed_article_paths:
if article.id not in grabbed_article_paths:
# we only sync unread: articles we didn't get from the server were read or purged
if config.only_sync_unread_articles:
if article.last_write < article_cutoff_timestamp:
article.delete()
removed_articles += 1
elif article.unread:
article.unread = False
article.regenerate()
updated_articles += 1
# we sync all articles: articles we didn't get from the server were purged
else:
article.delete()
removed_articles += 1