ProxyFeed now understands Atom
There aren’t as many tests on ProxyFeed yet as I’d like. I decided to run my YouTube feed through it — just to make sure everything was working as expected. But I discovered three things:
- The feed-adding steps still need improvement.
- I was wrong when I said that YouTube channels have an RSS feed — they don’t, they use Atom.
- ProxyFeed only supported RSS, not Atom, as I had assumed.
The root of the problem was the rss-parser library I had chosen for ProxyFeed. My AI buddy suggested trying fast-xml-parser instead. After a quick comparison, it was obvious that fast-xml-parser works faster, more predictably, and supports namespaces properly. For now, I’ve rewritten only the feed verification part using it — the rest of the system will be migrated gradually.
ProxyFeed requires the user to insert a verification code into the latest entry of their feed, and it checks only that entry. How do we determine what the latest entry actually is? In two steps:
- First, we sort by dates.
- If there are no valid dates (or they’re broken), we fall back to the first
itemorentryin the feed.
To make this transparent, the verification page shows a direct link to the exact entry where the code should be inserted.
The bug is now fixed. Everything works (v 1.1.13). But it raised a new, architectural question: "What should ProxyFeed return as the final result?" Until now, the rule was simple — what comes in, goes out. That made sense when ProxyFeed only processed RSS. But now that it can read Atom, the output should be unified.
The final answer is clear: ProxyFeed will always output valid RSS 2.0 — no matter what format it receives. That change will be part of the next updates.
Published on October 8, 2025