fasheng / elfeed-protocol

Provide extra protocols to make like Fever, NewsBlur, Nextcloud/ownCloud News and Tiny Tiny RSS work with elfeed
GNU General Public License v3.0
97 stars 18 forks source link

fetch owncloud read articles #67

Closed ArtemSmaznov closed 11 months ago

ArtemSmaznov commented 11 months ago

I am not sure if this is a bug or a feature request.

I have noticed that if I read a new article on nextcloud (via android app) before I get the feeds on emacs, and then I open elfeeds on emacs I will only get the unread articles and the read ones are never pulled in. neither elfeed-search-fetch, elfeed-search-update--force or elfeed-update pulls read articles that were not in the elfeed db yet. The only way I found of getting the articles to emacs is to mark them as unread on nextcloud, and after it appears in elfeed then mark it as read again (on either side as read status for existing articles syncs well).

I have went through the available elfeed-protocol variables to see if any could update this behavior and only found 2 that could be related (I don't quite get them tbh)


   elfeed-protocol-lazy-sync```

I have tried changing both of them to see how it would behave but didn't see any difference. Is it the expected behavior to only pull unread articles from the server or can this be changes via the vars somehow?

Repro steps:
1. get few new articles on the server - A B C
2. do not open elfeed on emacs
3. mark article B as read on the server
4. open elfeed on emacs
5. remove the +unread tag from the filter
6. update/fetch/sync
7. only articles A and C appear
fasheng commented 11 months ago

Is it the expected behavior to only pull unread articles from the server or can this be changes via the vars somehow?

The variable elfeed-protocol-owncloud-update-with-modified-time was t by default, which means elfeed-protocol will sync all article state modification even the article was fetched before, it's not only fetch unread articles. Logically speaking, your situation should not occur. However The last time I used it was two years ago, I'm afraid the owncloud-news changed the behavior.

A workaround is change elfeed-protocol-owncloud-update-with-modified-time to nil, then elfeed-protocol will fetch all articles one by one with the id, however if your phone client change article state, for example from unread to read, elfeed-protocol will not sync the new state if the article was fetched before.

ArtemSmaznov commented 11 months ago

Honestly neither sound good but let me play with this var for the next few days and see how it works for me. Thanks for the info

ArtemSmaznov commented 11 months ago

I don't know what it's doing anymore ;) I've added elfeed-protocol-owncloud-update-with-modified-time t to my config (even though I think t was it's value before hand) and I am getting the read articles from the server with gR binding. Think only unread ones come on initial sync when opening elfeeds in emacs though. Either way I am happy to have this closed as a non issue.