RSSNext / RSSNext/Folo

Some feeds have trouble persisting older entries

Open
#4,345 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug platform: mobile
Dominant language
TypeScript
Stars
39k
Forks
2.1k
Avg merge
1d 4h
Merged PRs (30d)
10

Description

Platform

Mobile - Android

Describe the bug

it's been a little bit confusing trying to figure out what's going wrong here, but I think I've eliminated some possibilities of what's happening, at least. basically, there are two feeds that I've been trying to wrangle and nothing I've tried seems to work.

The first thing is that as soon as I follow the feed, most (if not all) on the entries are already marked as read. annoying, but not the end of the world - usually I would be able to fix that by just going through and manually marking them back to unread. I would have to do the reverse anyway, to have it caught up to where I am.

but now, I start noticing that the read/unread state of any of these older entries is always reverted back to read on sync. I've tried refetching right away, leaving it for a while, refetching from a different device and hoping that would trigger the sync properly - nothing.

the last thing that I noticed is about the behavior of a third party app, FeedMe (obviously you're not responsible for that and don't have to provide support for it, but I though it might give a bit of insight into whatever is going on under the hood). and this is that these "ghost entries" just don't show up at all in FeedMe. I figured this means either a) they somehow don't exist at all in the internal database, or b) they exist, but the entries are in some weird invalid state, and the official apps and FeedMe just deal with this differently.

I know some programming - haven't worked with Typescript or Javascript a whole lot or in a little while, but from what I remember, it was pretty approachable. I'm gonna be away from my computer all of next week + weekend so I probably can't write a whole PR unless it's very trivial and could be done this weekend. otherwise I can help and/or try my hand at it when I get back.

Entry ID

128125563002132480 (first entry in list that will not persist state)

Relevant Information

user id: auralluring
affected feed ids: 72896300565685264 (The Magnus Archives), 59377539113144320 (Welcome to Nightvale)

Reproduction Video

edited (poorly) because it was too big and the upload was failing.

https://github.com/user-attachments/assets/f5f82832-d4b8-489c-9ea1-63c7c5ffb2de

Environment

It doesn't have the "copy environment" button on my phone (v0.2.5, from play store), but seeing as it seems to have no change in behavior when on web, I don't think that really matters. I'll put the results from the web version for verbosity, though:

App Version: 0.7.0
OS: Linux x86_64
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0
Env: web
Browser: Firefox
Session Trace Id: a0ybh36B3-mNDhM883h6V
Mode: production
Renderer: 0.7.0

Validations
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
  • This issue is valid
Contributions
  • I am willing to submit a PR to fix this issue
  • I am willing to submit a PR with failing tests (actually just go ahead and do it, thanks!)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by reproducing the behavior with entry 128125563002132480 and the two listed feed IDs, comparing the Android and web environments. Done means older entries retain their read/unread state after sync and are handled consistently by the official apps.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, typescript
Domain
databases, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.