newsboat: Articles read with open-all-unread-in-browser-and-mark-read not being synced

**Newsboat version: 2.22.1

Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config):

feed-sort-order firsttag
show-keymap-hint no
show-read-feeds no

urls-source "ocnews"
ocnews-url ""
ocnews-login ""
ocnews-passwordeval ""
ocnews-flag-star "s"

unbind-key j
unbind-key k
bind-key j down
bind-key k up
bind-key ^D pagedown
bind-key ^U pageup
bind-key g home
bind-key G end
bind-key o open-in-browser-and-mark-read
bind-key h quit
bind-key l open
bind-key O open-all-unread-in-browser-and-mark-read
bind-key z toggle-show-read-feeds
bind-key m toggle-article-read

Steps to reproduce the issue:

  1. acess the article list of a feed

  2. on some unread items, use the operation open-in-browser-and-mark-read (mapped to o in my case)

  3. on some unread items, use the operation open-all-unread-in-browser-and-mark-read (mapped to O in my case)

  4. Despite all articles that were part of previous actions are marked as read on article list, only the ones read with open-in-browser-and-mark-read are synced as read.

Other info you think is relevant: Maybe this is only an issue with ocnews?

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 24 (24 by maintainers)

Most upvoted comments

@aleprovencio It might be possible to debug the issue by using Wireshark. This might take some effort if HTTPS is used between Newsboat and the Nextcloud server.

Steps to create a Wireshark trace of the relevant traffic:

  1. Run touch /tmp/ssl-secrets.txt
  2. Start wireshark (GUI)
  3. Configure SSL secrets file in Wireshark
    • Edit -> Preferences -> Protocols -> TLS
      • Enter filename in the “Master-Secret log filename” field: /tmp/ssl-secrets.txt
  4. Start recording traffic in Wireshark (select the relevant network interfaces; the “Any” interface might suffice)
  5. Apply Wireshark display filter (http || http2 || http3) && tcp.port == 443 (replace 443 with the port used by the Nextcloud server)
  6. Start Newsboat with the SSLKEYLOGFILE environment variable:
    SSLKEYLOGFILE=/tmp/ssl-secrets.txt newsboat
    
  7. In Newsboat, execute some open-in-browser-and-mark-read and open-all-unread-in-browser-and-mark-read commands
  8. Check the HTTP status code for the different HTTP transactions between Newsboat and the Nextcloud server (normally 200, but might be different in case of an error)

My test setup only supports HTTP, so in my case, I could skip steps 1 and 3 and needed to filter on port 8080 instead. For me, the resulting output shows that all HTTP transactions were successful (HTTP status code 200): wireshark-example

Unfortunately not ATM, @Minoru but I’ll be keeping an eye on it taking your suggestions in consideration. For now, I have tried restarting the server but issue stays, and the only problem i can really spot for now is with open-all-unread-in-browser-and-mark-read.

The fix is now merged. Thanks for the report, @aleprovencio!

I can reproduce, both on current master and on older versions of Newsboat (e.g. reproduced with r2.18).

Maybe this is only an issue with ocnews?

From the code, it looks like this issue exists for all of the Newsboat remote APIs.