ReadYouApp / ReadYouApp/ReadYou
Unread feeds page does not refresh with new items once sync is complete
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 7.5k
- Forks
- 330
- PR merge metrics
- No merged PRs in 30d
Description
1. Environment
- Device: Pixel 4a 5G
- OS: Android 13
- APP: 0.9.8
2. Describe the bug
When a new article comes in to a feed that has all its prior articles read, the unread feeds page UI does not show the feed at all until the user switches away to a different view and then back.
You should be able to reproduce by synchronizing the app, then marking an item as unread in a category without any other read items on a different device, then synchronizing again. The article's feed won't show up in the Unread page. Interestingly enough, it does appear once I switch filters away from Unread and back again. (NOTE: the "marking articles as unread" process to reproduce may require #406.)
It also occurs when the app is set to "sync once on start" and the launch page is set to unread feeds.
This was tested on the Fever API, but from digging it seems like it might be an issue with all providers.
Notes
This is a UI bug, and I have pretty much no experience with UI. I've toyed around with it a bit, but I don't think I have the know-how to create a patch.
It does seem as though invoking feedsViewModel.pullFeeds(filterUiState) within FeedsPage.kt does refresh the UI correctly; it's just a matter of invoking that call once sync finishes, both from a manual sync and when syncing on first open.
Calling the code on sync finish is the challenging bit. Since syncing is invoked as a coroutine/background task (as it should be), invoking code once it finishes involves deeper knowledge of Android's WorkManager and coroutines than I have. I think this would benefit from developer attention.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in FeedsPage.kt and inspect how feedsViewModel.pullFeeds(filterUiState) currently refreshes the unread view. Trace the manual-sync and sync-on-start completion paths through the Android WorkManager and coroutine flow. Done means newly unread feeds appear without switching filters, both after manual synchronization and when syncing on first open.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100