Implement RSS parsing and normalization through the standalone format contract.
Scope
Move the RSS handler, transformer, validator, and required utilities. Preserve characterized feed and item behavior, including title fallbacks, content:encoded markup, authors, dates, language, canonical URLs, identifiers, categories, and supported extensions.
Acceptance Criteria
RSS implements FeedReader.Format.
Feed and item output matches characterization tests.
Malformed input and shared resource limits are covered.
RSS parsing has no Ecto, Phoenix, Feedex, or application-config dependency.
Parser dispatch does not require RSS-specific branching.
## Objective
Implement RSS parsing and normalization through the standalone format contract.
## Scope
Move the RSS handler, transformer, validator, and required utilities. Preserve characterized feed and item behavior, including title fallbacks, content:encoded markup, authors, dates, language, canonical URLs, identifiers, categories, and supported extensions.
## Acceptance Criteria
- RSS implements `FeedReader.Format`.
- Feed and item output matches characterization tests.
- Malformed input and shared resource limits are covered.
- RSS parsing has no Ecto, Phoenix, Feedex, or application-config dependency.
- Parser dispatch does not require RSS-specific branching.
mmacia
self-assigned this 2026-10-16 10:12:25 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement RSS parsing and normalization through the standalone format contract.
Scope
Move the RSS handler, transformer, validator, and required utilities. Preserve characterized feed and item behavior, including title fallbacks, content:encoded markup, authors, dates, language, canonical URLs, identifiers, categories, and supported extensions.
Acceptance Criteria
FeedReader.Format.