Open lemon24 opened 2 years ago
Some conclusions from playing with the Atom feed below:
Also, when the loose parser is used, the feed should be considered stale; that is, we should always prefer entries from the non-broken feed.
I'm thinking of something like this:
existing | parsed | desired behavior | current behavior |
---|---|---|---|
none | any | use new (any) | yes |
any | strict | use new (strict) | yes (hash takes care of it) |
strict | loose | keep old (strict) | no (different hash => update) |
loose | loose | use new (loose) | yes (hash takes care of it) |
This would favor feeds that are temporarily broken, and eventually get fixed. For feeds that become permanently broken, it results in old strict entries not receiving updates.
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<entry>
<id>one</id>
<title>1</title>
<summary>i</summary>
</entry>
<entry>
<id>two</id>
<title>Atom-Powered Robots Run Amok
<summary>Summary.&veryundefinedentity;
<content>Content.</content>
</entry>
<entry>
<id>three</id>
<title>3</title>
<summary>iii</summary>
</entry>
</feed>
reader treats all bozo feeds as errors, even if the loose parser managed to parse them:
We still need a heuristic to tell that apart from complete garbage (version, and the presence of entries?):