Digest "Mark sent articles as read" does not mark articles as read

Describe the problem you’re having:

  • I have the daily digest feature enabled for my account, including “Mark sent articles as read.” However, articles that are sent in the digest still appear as unread after the digest is sent.

If possible include steps to reproduce the problem:

  • In preferences, enable Enable digest and Mark sent articles as read features
  • Wait for digest to be sent; note articles sent
  • Check TT-RSS web client and see that sent articles are still unread

tt-rss version (including git commit id):

  • commit 6ae0a3dd3e1d7ec19d8488ef376d9f192bcc5b08

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:

  • CentOS 7
  • PHP 7.2.13
  • MariaDB 5.5.60

Please provide any additional information below:

TT-RSS update daemon logs for sending the digest:

Mar 20 09:52:08 some .server.net update_daemon2.php[21542]: [13:52:08/16127] Sending digests, batch of max 15 users, headline limit = 1000
Mar 20 09:52:08 some .server.net update_daemon2.php[21542]: [13:52:08/16127] Sending digest for UID:X - XXX @XXX.net
Mar 20 09:52:08 some .server.net update_daemon2.php[21542]: [13:52:08/16127] RC=
Mar 20 09:52:08 some .server.net update_daemon2.php[21542]: [13:52:08/16127] All done.

i’ll try take a look at this tomorrow

i dunno, it seems that this works properly. i’ve added a possible fix for articles being toggled (instead of always set) read and a command line parameter to update.php to send digests manually for debugging

try testing on latest trunk like this, first reset last_digest_send:

update ttrss_users set last_digest_sent = '1970-01-01' where login = 'you'

then

./update.php --log-level 3 --send-digests

you should see “Marking affected articles as read…” in the log output

Here is the log output:

-bash-4.2$ ./update.php --log-level 3 --send-digests
[18:41:38/139099] Lock: update.lock
[18:41:38/139099] Sending digests, batch of max 15 users, headline limit = 1000
[18:41:38/139099] All done.

Yet I don’t receive my digest, which is strange. I definitely ran the database command correctly because the last_digest_sent is still 1970-01-01.

digests are sent around specific timeframe which is set in preferences

Ahh, right, that’s my fault. When I set the timeframe to the present and ran it again, I get this:

[19:03:01/139283] Lock: update.lock
[19:03:01/139283] Sending digests, batch of max 15 users, headline limit = 1000
[19:03:01/139283] Sending digest for UID:3 - [email protected]
[19:03:01/139283] RC=1
[19:03:01/139283] Marking affected articles as read…
[19:03:01/139283] All done.

And the digest articles are marked as read. Looks like that did it!