A feed's corrections never reach an item already stored: a scan skips every item it has seen #141

Closed
opened 2026-10-05 13:11:49 -07:00 by rays · 1 comment
Owner

Found on 2026-10-05 from a report that "APPOFENIACS - A Technology Movie about Human Behavior" in Ain't It Cool News renders poorly. In production its text is 66,170 characters: the feed's own HTTP headers (Last-Modified: Sun, 04 Oct 2026 15:45:00 GMT, Content-Type) and then the whole feed with its tags stripped. Every other item of that feed carries the text of the item before it. All 30 were first stored at once, 2026-10-04 23:15.

The publisher's feed served it that way for a while: the rss parser takes each item's description from its own , so a shift and an item holding the feed's own headers can only have come from the XML. Today's feed is right, every item's text its own, and ipx has read it since (its ETag and Last-Modified are stored), but kept the broken text.

Since 57ab419 (#96, 2026-09-29) scan_one calls record_entry only for a guid it has not stored (src/main.rs, known_items), so record_entry's UPDATE of title, description, image and duration is never reached: a publisher's correction, a retitled episode or a fixed duration never arrives. docs/architecture.md still says a changed title or description is picked up.

Found on 2026-10-05 from a report that "APPOFENIACS - A Technology Movie about Human Behavior" in Ain't It Cool News renders poorly. In production its text is 66,170 characters: the feed's own HTTP headers (Last-Modified: Sun, 04 Oct 2026 15:45:00 GMT, Content-Type) and then the whole feed with its tags stripped. Every other item of that feed carries the text of the item before it. All 30 were first stored at once, 2026-10-04 23:15. The publisher's feed served it that way for a while: the rss parser takes each item's description from its own <item>, so a shift and an item holding the feed's own headers can only have come from the XML. Today's feed is right, every item's text its own, and ipx has read it since (its ETag and Last-Modified are stored), but kept the broken text. Since 57ab419 (#96, 2026-09-29) scan_one calls record_entry only for a guid it has not stored (src/main.rs, known_items), so record_entry's UPDATE of title, description, image and duration is never reached: a publisher's correction, a retitled episode or a fixed duration never arrives. docs/architecture.md still says a changed title or description is picked up.
rays added the bug label 2026-10-05 13:11:49 -07:00
Author
Owner

Fixed in 5684a02: a scan writes again the stored items whose title, text, artwork, length or number the feed now gives differently, compared for the items it lists; a corrected item keeps its read state. Released in 0.10.2, deployed 2026-10-05. Ain't It Cool News's items are corrected the next time its feed is read whole: when it next changes, or once its stored validators are cleared.

Fixed in 5684a02: a scan writes again the stored items whose title, text, artwork, length or number the feed now gives differently, compared for the items it lists; a corrected item keeps its read state. Released in 0.10.2, deployed 2026-10-05. Ain't It Cool News's items are corrected the next time its feed is read whole: when it next changes, or once its stored validators are cleared.
rays closed this issue 2026-10-05 16:58:20 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#141