Skip to content

Specification Alignment & Element Placement for source Namespace #9

Description

@dalecarst-ship-it

note: this issue description was generated by gemini.google.com

Context
This issue addresses feed validation, spec compliance, and subscriber parsing logic in the feeds currently generated by rss.chat (and downstream formatting via daverss). To ensure maximum interoperability with standard feed readers and future decentralized clients, we suggest two structural updates to the feed payload.

  1. Element Placement of source:account
    The Current Output: Under the current feed implementation, the item-level loop outputs the source:account element within individual blocks:

XML

<item>
  ...
  <source:account service="demo.rss.chat">dave</source:account>
</item>

The Conflict: According to the official Source Namespace Specification, source:account is explicitly defined and documented as a channel-level element meant to declare feed ownership.

The Solution:

If the goal is to attribute the author of an individual item in a mixed feed (such as the everyone feed or a multi-author thread comments feed), standard practice is to use the core RSS 2.0 element with its URL attribute pointing to the user's home feed:

XML

<source url="https://users.rss.network/dave/rss.xml">Dave Winer</source>

Keep source:account strictly at the level to specify the host-account of that particular feed.

  1. Micro-post Permalinks and Generation
    The Current Output: In the current rss.chat micro-post payload, items containing only untitled short text are outputting with a tag, but without a dedicated tag:

XML

<guid isPermaLink="false">https://demo.rss.chat/?id=1</guid>

The Conflict: Many desktop and mobile feed aggregators rely strictly on the tag to execute actions like "View Original Article" or "Open in Browser." When is omitted, these readers default to directing the user to the root homepage. For micro-posts, this forces the reader to manually scroll and hunt for a post on a reverse-chronological timeline.

The Solution: Ensure every micro-post has an active, targetable tag pointing to its specific permalink or a localized anchor. If the GUID itself is the permalink, ensure is explicitly set, or duplicate the URL into a proper element.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions