ReadYou icon indicating copy to clipboard operation
ReadYou copied to clipboard

Starred articles not syncing correctly

Open shollyethan opened this issue 4 months ago • 3 comments

Checklist

  • [x] I've already searched in existing issues and haven't found a similar problem reported.
  • [x] I'm using the latest version of the app
  • [ ] This error caused the app to crash
  • [x] This error is reproducible

Which category best fits this error?

Feed Sync

App version

0.15.0

Reproduction steps

I apologize if this isn't the correct place to submit an issue given I'm using a custom plugin for Tiny Tiny RSS to use Read You ([FreshAPI](https://github.com/eric-pierce/freshapi)).

In summary, when I star articles in the app, they sync to my server and I'm able to see the starred articles from the web app. However, when I un-star the articles from the web app, Read You doesn't seem to recognize this and upon the next open, re-stars the articles that had previously been starred.

To reproduce:

1. Star articles in Read You
2. Open TTRSS in the browser
3. Un-star the articles
4. (Optional) Star new articles
5. Exit the web app
6. Re-open and sync Read You
7. Note the previously starred articles (along with new ones from step 4) are starred again
8. Navigate back to the web app to confirm this

shollyethan avatar Aug 21 '25 14:08 shollyethan

https://github.com/ReadYouApp/ReadYou/issues/615#issuecomment-3150681338 by @bartlibert

currently, the app doesn't have a robust retry mechanism for marking articles as read/starred, and many users (not sure of this part) use the app with an unstable internet connection when performing these actions.

assuming:

  1. the article's status is only updated by a single client, the app
  2. status updates might fail to be sent to the server, and local changes could be overwritten by remote during synces

To mitigate this, the app attempts to commit the local changes to remote before syncing with it, so you might see some of the remote changes overwriten by the app there's not a simple way to maintain a good (multi-)client/server synchronization. maybe a remote-first/local-first option for status change syncing could help, but it requires extra effort

JunkFood02 avatar Aug 27 '25 16:08 JunkFood02

This is a major issue in certain situations. I had around 400 articles favorited in FreshRSS by mistake. This propagated to my RSS Guard on desktop and ReadYou. Using filters, I isolated them in RSS Guard and synced with FreshRSS OK. Then, I synced with ReadYou and to my surprise those 400 articles were favorited again in FreshRSS and RSS Guard. If I must keep ReadYou, the only way to resolve this Catch 22 is to isolate and unfavorite those articles in ReadYou first, which will then propagate across my server and other systems. But the whole point of self-hosting was to keep everything in sync in both directions.

So, I reluctantly switched to Readrops on Android which handles syncing properly. I hope I can return to ReadYou one day because (at the moment) it has certain features I like (eg pulling and displaying the full article inline).

glocalglocal avatar Nov 11 '25 16:11 glocalglocal

I agree that this is a very significant bug as it makes the app essentially unusable in multi-device situations.

there's not a simple way to maintain a good (multi-)client/server synchronization

This seems unlikely as other apps exist which are able to sync smoothly across devices. What if the client were to write down whether or not the latest sync was successful and check that when deciding how to reconcile with the server on startup? If the last sync was successful the client should respect changes on the server and pull those down locally instead of pushing the same changes twice. That would avoid overwriting changes that were in all likelihood made by another client.

dsaxton avatar Dec 09 '25 03:12 dsaxton