-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Mark as read" broken since recent updates #1344
Comments
I can confirm that. |
Same here, no errors in logs.
|
I have at least confirmed on my instance that items are getting marked read in the database, but neither the API nor the web UI honor them.
I wonder if it is related to this change, as my database is still showing a tinyint(1) instead of a bool. However I have not touched php+mysql/mariadb in something like ten years. |
When I click on "Mark as read", the status seems to be updated on the interface, but this is not reflected in the table (I checked live). Then, when the interface is updated (waiting a few sec or clicking somewhere else), the articles reappear. If I update manually the status in the table, all seem to be correct (the interface is updated accordingly). In my case, the column is a boolean.
|
Hello, Not sure if this helps any, have just tested marking a folder read with Chrome dev tools open. Had the disable cache option ticked and the list of read items gets updated, it could that the refresh doesnt load new data from the DB and is jus what was already pulled |
Can anyone check what query is actually being executed for them? I haven't been able to figure out anything that could realistically have changed this so currently I suspect Doctrine might be hiding some magic. |
Hello @SMillerDev,
and a response similar to:
From what I get, the ids are the ones of the different feeds of the category which I tried to mark as read. The same behavior is triggered if I open an article, but the POST response data (which are more or less empty). |
Just chiming in that I have the same issue (News 15.4.3 on NextCloud 21.0.1). It does seem to work correctly via the CloudNews app on my iPhone. |
I can also confirm that marking articles read in the Nextcloud News Android App (de.luhmer.owncloudnewsreader) works |
This comment has been minimized.
This comment has been minimized.
Without logs any reproduction attempts are useless for debugging. |
I fully agree and this issue is quite puzzling as I can't see any trace (error logs, console logs) giving a clue where to look. |
Well, the screenshot above mentions an internal server error. I'm pretty sure that would log something. |
The client mentioned above is quite old and wasn't updated since 2018 .. maybe something in the API changed in the meantime (e.g. with #939). What clients do you (the people with this issue) use? Some older client, the official Android client, the webinterface itself, ..? |
Ah, ok. I thought you were giving a more general comment. My bad... |
Personally, the web interface mainly. For this specific issue, I also tried the News Android app which seems to have a complete different behavior, not being affected by the issue. However, even if I didn't tested it extensively, it seems that if you use both of them at the same time, there's a discrepancy of the unread statuses between the two. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
That one is trying to mark an item as read that doesn't exist for the calling user. Somehow the feed contains items that are not allowed. |
This comment has been minimized.
This comment has been minimized.
Hey everyone that is still affected by this please copy below form and fill it for your case. News app version: Also please check on the DB if the schema of the $prefix_news_items matches either: MySQL/MariaDB mysql> desc oc_news_items;
+-------------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-----------------+------+-----+---------+----------------+
| id | bigint unsigned | NO | PRI | NULL | auto_increment |
| guid_hash | varchar(32) | NO | MUL | NULL | |
| fingerprint | varchar(32) | YES | MUL | NULL | |
| content_hash | varchar(32) | YES | | NULL | |
| rtl | tinyint(1) | NO | | 0 | |
| search_index | longtext | YES | | NULL | |
| guid | longtext | NO | | NULL | |
| url | longtext | YES | | NULL | |
| title | longtext | YES | | NULL | |
| author | longtext | YES | | NULL | |
| pub_date | bigint | YES | | NULL | |
| body | longtext | YES | | NULL | |
| enclosure_mime | longtext | YES | | NULL | |
| enclosure_link | longtext | YES | | NULL | |
| feed_id | bigint unsigned | NO | MUL | NULL | |
| last_modified | bigint | YES | MUL | 0 | |
| unread | tinyint(1) | NO | MUL | 0 | |
| starred | tinyint(1) | NO | MUL | 0 | |
| media_thumbnail | longtext | YES | | NULL | |
| media_description | longtext | YES | | NULL | |
| categories_json | json | YES | | NULL | |
+-------------------+-----------------+------+-----+---------+----------------+
21 rows in set (0.01 sec) Or nextclouddb=# \d oc_news_items
Table "public.oc_news_items"
Column | Type | Collation | Nullable | Default
-------------------+-----------------------+-----------+----------+-------------------------------------------
id | bigint | | not null | nextval('oc_news_items_id_seq'::regclass)
guid_hash | character varying(32) | | not null |
fingerprint | character varying(32) | | | NULL::character varying
content_hash | character varying(32) | | | NULL::character varying
rtl | boolean | | not null | false
search_index | text | | |
guid | text | | not null |
url | text | | |
title | text | | |
author | text | | |
pub_date | bigint | | |
body | text | | |
enclosure_mime | text | | |
enclosure_link | text | | |
feed_id | bigint | | not null |
unread | boolean | | not null | false
starred | boolean | | not null | false
last_modified | bigint | | | 0
media_thumbnail | text | | |
media_description | text | | |
categories_json | json | | | If your schema does not match either of these please say so, else no need to post your schema. If your issue only happens when you use client X but not with the news web-interface, please get in touch with the maintainer of the app, we can't help with that. |
News app version: 15.4.4 mysql> desc oc_news_items;
Output:
| Field | Type | Null | Key | Default | Extra |
|-------------------|---------------------|------|-----|---------|----------------|
| id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| guid_hash | varchar(32) | NO | MUL | NULL | |
| fingerprint | varchar(32) | YES | MUL | NULL | |
| content_hash | varchar(32) | YES | | NULL | |
| rtl | tinyint(1) | NO | | 0 | |
| search_index | longtext | YES | | NULL | |
| guid | longtext | NO | | NULL | |
| url | longtext | YES | | NULL | |
| title | longtext | YES | | NULL | |
| author | longtext | YES | | NULL | |
| pub_date | bigint(20) | YES | | NULL | |
| body | longtext | YES | | NULL | |
| enclosure_mime | longtext | YES | | NULL | |
| enclosure_link | longtext | YES | | NULL | |
| media_thumbnail | longtext | YES | | NULL | |
| media_description | longtext | YES | | NULL | |
| feed_id | bigint(20) unsigned | NO | MUL | NULL | |
| unread | tinyint(1) | NO | MUL | 0 | |
| starred | tinyint(1) | NO | MUL | 0 | |
| last_modified | bigint(20) | YES | MUL | 0 | |
| categories_json | longtext | YES | | NULL | | |
News app version: 15.4.3 Schema matches. |
News app version: 15.4.4 Also please check on the DB if the schema of the $prefix_news_items matches either: MySQL/MariaDB
|
News app version: 15.4.4 Only difference in db-schema is that the field |
I'm also experiencing this problem and for me it seems to be related to a wrong sql query My setup: I just ran a test with the general sql log enabled:
listed the ids
So it seems somewhere some old id is picked to mark all even older articles as read and with the next check to see if there are any unread items the database returns the same articles again as they were never marked read. |
Can you check if #1339 changes that? |
that seems to have done the trick, at least for me. Let's see if it works for everyone else as well |
have made the changes to |
can report that this not only fixes the web, but also the news app from f-droid |
Hello @SMillerDev, all,
As already reported, applying this on my NC instance seems to do the trick for me: "Mark as read" is working again and I can't see any weird discrepancies on the unread counts between the web interface and the News Android app anymore. Thanks for the hard work! |
15.4.5 solves the problem for me. Thank you! |
After updating to 15.4.5 marking entries as read in android news app works with my server now, but the issue is still present when using newsboat as client. |
IMPORTANT
Read and tick the following checkbox after you have created the issue or place an x inside the brackets ;)
Explain the Problem
Since the update to 15.4.0, I'm facing issue with the "Mark as read" action, which stops working properly. If I try to "mark as read" a feed or a category, the entries seems to be marked as read and the unread counter is updated. However, after a few seconds, the articles are turned back to unread. Most of the times, the whole set of unread articles pops back, but sometimes it's just a subset.
If I do the same on the "Unread articles", I get the same behavior.
Steps to Reproduce
Explain what you did to encounter the issue
System Information
Contents of nextcloud/data/nextcloud.log
No error seems related to that; I see only intermittent connection error to retrieve particular feeds.
Contents of Browser Error Console
The text was updated successfully, but these errors were encountered: