summaryrefslogtreecommitdiff
path: root/app/views/rss/updates.xml.builder
AgeCommit message (Collapse)Author
2026-08-09Escape feed content with Builder rather than by handerdgeist
Builder escapes by default; the three feed templates no longer call CGI.escapeHTML. This fixes two sites that never escaped at all: the tag feed's externally supplied :tag segment, interpolated into its title, self link and id, and dc:creator in the RDF template. Subscribers see one difference: quotes and apostrophes arrive raw, which is valid in element text. config/initializers/xmlparser.rb, which redefined Builder::XmlBase#_escape as the identity function, is gone. XML::Node#replace_with went with it, no callers.
2026-08-01Derive the Atom feed timestamp from its entrieserdgeist
2026-07-31Bind aggregates over scoped tags to their subtreeerdgeist
CccConventions::TAG_SCOPES maps "update" and "pressemitteilung" to /updates and "disclosure" to /disclosure. Page.aggregate applies the mapping, so an aggregate over one of those tags is bounded by its subtree regardless of what the shortcode says. Tags stay unrestricted; positions are publish-gated. Both RSS actions call Page.aggregate rather than repeating its tag join. Empty feeds no longer crash: Atom falls back to the current time for the required <updated>, and the optional dc:date is omitted.
2026-07-09Fix malformed-HTML fallout across RSS, link rewriting, and flash messagingerdgeist
Editors' TinyMCE output can contain unclosed void elements like <br>, which is valid HTML5 but invalid XML -- three different places assumed the stricter rule and broke or silently misbehaved on the looser one. The Atom feed's <content type="xhtml"> block required real, well-formed XML structure but was handed a raw, unescaped body string; switched to type="html" with CGI.escapeHTML, matching how title/summary already handle the same content. rewrite_links_in_body used libxml's strict XML parser to rewrite internal links to be locale-prefixed, which raised on exactly this class of malformed markup -- silently, since the whole method was wrapped in rescue; nil, meaning the link rewrite (not the save) quietly failed with no error anywhere. Replaced with Nokogiri's lenient HTML parser, which repairs malformed void elements rather than rejecting them; also drops the bare rescue now that the actual failure mode it was guarding against shouldn't occur, and fixes two adjacent bugs found while in this method: a typo'd /sytem/uploads/ regex that could never match, and a missing https:// exclusion alongside the existing http:// one. Also addresses stale flash messaging surfaced while testing the above: update's save confirmation was being clobbered by edit's own "locked and ready" notice on the very next request, since nothing distinguished a fresh lock acquisition from a redirect back after saving. The save confirmation now names the next step (publish from Status) and flags a stale translation if one exists, using Page#outdated_translations?, already present but previously unused by any controller.
2026-06-27rss: fix self link to include .xml suffixerdgeist
/rss/updates without format suffix returns HTTP 406 when the client does not send an appropriate Accept header. The self link in the Atom feed was pointing to the format-less URL, causing feed readers that follow the self link to hit the 406. Fixed to /rss/updates.xml.
2026-06-27Stop forcing escaped HTML into the database just because XML Builder was used wrongerdgeist
2025-01-28Big overhaul patch and style changesCharlie Root
2010-01-31hmm this should've been there all along.hukl
2009-11-14Resolved issue of changing rss feed ids when changing the slugs of nodeshukl
Closes #35
2009-11-08id must be an url of coursehukl
2009-11-08changes for atom feed - hope that helpshukl
2009-10-31now setting correct date for sorting the rss feedhukl
2009-10-31fixed problem for failing rss feedhukl
2009-10-31temporary xml feed fixhukl
2009-09-10and one more tiny modification on the atom feedhukl
2009-09-10more rss feed enhancementshukl
2009-09-10modifications for a valid atom feedhukl
2009-09-10added public rss controller plus template to render the latest 20 updates into a neat little atom feedhukl