lwindolf / liferea

Liferea (Linux Feed Reader), a news reader for GTK/GNOME
https://lzone.de/liferea
GNU General Public License v2.0
825 stars 128 forks source link

Refreshing old feeds as if they're new #1195

Closed LiamDawe closed 1 year ago

LiamDawe commented 1 year ago

I hope I'm not the only one seeing this: at random it will just refresh a feed, pulling in a bunch of old items as new.

It's happened repeatedly, seemingly at random, with all sorts of feeds.

One that happened today was for https://www.ogre3d.org/feed and I can see no reason why it would list a bunch of clearly old items as suddenly new again.

lifrea

Fedora 37 Liferea 1.13.9

LiamDawe commented 1 year ago

Potentially related https://github.com/lwindolf/liferea/issues/791

lwindolf commented 1 year ago

The RSS feed in question has proper RSS tags that Liferea uses to identify already known items.

In this case the GUID is made from the webpage path. What often causes such effects is websites changing there path structure rewriting those URLs to something else and then also the GUIDs which are supposed to never change do suddenly change.

LiamDawe commented 1 year ago

Hmm, quite a nuisance, is there a way to get around this perhaps matching the titles and publish date as well to prevent duplicates?

lwindolf commented 1 year ago

Not really. Because GUIDs are supposed to be unique. The feed reader needs to trust them per spec. There are possible feed use cases where you want to post the same title+content twice (e.g. monitoring feeds reverting to service normal state) and the will require GUIDs to work.

The publisher is doing the wrong thing when changing GUIDs. We must not workaround this.

mozbugbox commented 1 year ago

Hmm, quite a nuisance, is there a way to get around this perhaps matching the titles and publish date as well to prevent duplicates?

You can create a filter for the feed and drop the guid tag for the items use the filter. Liferea will then use the link as GUID, I believe.

Or just create replace the GUID content by title+date with the filter.