RSS News turns any RCWeb display into a digital signage news board fed by RSS or Atom feeds. It uses the same full-screen presentation style as news, but its sources are ordinary feed URLs instead of thenewsapi.com categories.

The viewer cycles to the next screen every 14 seconds. Tap the display, press space, or use the phone control to pause and resume. The arrow keys move between screens.
The viewer starts with these RSS sources:
https://feeds.skynews.com/feeds/rss/home.xml
https://www.theguardian.com/world/rss
https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml
https://www.pbs.org/newshour/feeds/rss/headlines
https://feeds.npr.org/1001/rss.xml
https://www.cbc.ca/webfeed/rss/rss-topstories
https://feeds.bbci.co.uk/news/rss.xml
https://feeds.bbci.co.uk/news/world/rss.xml
https://www.aljazeera.com/xml/rss/all.xml
https://www.cbsnews.com/latest/rss/main
https://www.france24.com/en/rss
The active source list is stored in the viewer browser's localStorage under rcweb.rss-news.sources, so refreshing or reopening the viewer keeps the same configuration.
The viewer is authoritative. It owns the loaded headlines, active screen index, play state and RSS source list, then exposes a small public API on window.rssNewsViewer:
rssNewsViewer.next()
rssNewsViewer.prev()
rssNewsViewer.goto(index)
rssNewsViewer.play()
rssNewsViewer.pause()
rssNewsViewer.toggle()
rssNewsViewer.requestState(clientId)
rssNewsViewer.setSources(["https://feeds.bbci.co.uk/news/rss.xml"])
rssNewsViewer.refresh()
Whenever the screen changes, play state toggles, or the sources are reconfigured, the viewer pushes a snapshot to every rss-news-c client in the room with:
rc.sendFunctionCall("rss-news-c", "rssNewsControl.receiveState", snapshot);
RSS XML and article images are loaded through the existing same-origin /api/basic-proxy/ route. This keeps the app browser-only and avoids common RSS CORS failures without adding backend code.
/rss-news/?r=<room>