omnivore-app / omnivore

Omnivore is a complete, open source read-it-later solution for people who like reading.
https://omnivore.app
GNU Affero General Public License v3.0
12.33k stars 622 forks source link

Github Issues are not rendered correctly via RSS or browser extension #2910

Open lily-mara opened 11 months ago

lily-mara commented 11 months ago

I am subscribed to an RSS feed of a project's Github issues via rsshub (feed). I expect Omnivore to show me the contents of the issue in the app. Instead, I see what looks like an unstyled version of the header & footer.

2023-10-11 15 04 55 omnivore app e5f0610d8c0a

I also tried saving the page to Omnivore via the browser extension, and found different but also incorrect rendering in the app.

2023-10-11 15 05 26 omnivore app e5b7f6975fee

It's notable that the "description" of the items in the RSS feed contain exactly the information that I'm expecting to show up in Omnivore, but that isn't what I'm seeing in the app.

 2023-10-11 at 15 06 22

I also reported this via the in-app "report issues with this page" link, but I'm not sure where those reports are ending up

jacksonh commented 10 months ago

Hey first off regarding the reports we anonymize them and look at them, but because we strip user info we can't reply. We do this just in case someone accidentally reported something private.

Right now with RSS we mostly ignore the descriptions and fetch the pages, but we are going to change that behavior soon. But the big issue is pages like this are just not fetched/parsed properly:

https://github.com/meixger/hackernews-daily/issues/407

I think what we need to do it get the first class="edit-comment-hide" element and treat that as the article (we can probably debate what a GitHub issue should even look like in a reader, but getting the top issue data is the most important bit.

We have a special GitHub handler that is setup for READMEs. Its here: https://github.com/omnivore-app/omnivore/blob/main/packages/content-handler/src/websites/github-handler.ts

Probably we can extend that one to handle issues also. (Also just noticed its an obvious copy and paste from the twitter one).

The current GitHub handler looks for an article element, it looks like the issues data doesn't have one, so we basically need something like if (article) else if (class="edit-comment-hide) {} and then we can pull some of the content out of that comment block.