Skip to content

fix(feeds): replace 25 dead/stale RSS URLs and add feed validation script - #455

Merged
koala73 merged 1 commit into
mainfrom
fix/rss-feeds-refresh
Feb 27, 2026
Merged

koala73 merged 1 commit into
mainfrom
fix/rss-feeds-refresh

Conversation

@koala73

@koala73 koala73 commented Feb 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replaced 25 dead or stale RSS feed URLs with working alternatives
  • Added scripts/validate-rss-feeds.mjs validation script to detect broken feeds

Test plan

  • npm run dev — verify news panels load without RSS errors
  • node scripts/validate-rss-feeds.mjs — all feeds return 200

@vercel

vercel Bot commented Feb 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Feb 27, 2026 0:11am
worldmonitor-finance Ready Ready Preview, Comment Feb 27, 2026 0:11am
worldmonitor-happy Ready Ready Preview, Comment Feb 27, 2026 0:11am
worldmonitor-startup Ready Ready Preview, Comment Feb 27, 2026 0:11am

Request Review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 990b279447

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/validate-rss-feeds.mjs Outdated
// Match rss('url') or railwayRss('url') — capture raw URL
const rssUrlRe = /(?:rss|railwayRss)\(\s*'([^']+)'\s*\)/g;
// Match name: 'X' or name: "X" (Tom's Hardware uses double quotes)
const nameRe = /name:\s*(?:'([^']+)'+|"([^"]+)")/;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Handle escaped apostrophes when parsing feed names

The nameRe regex (/name:\s*(?:'([^']+)'+|"([^"]+)")/) treats escaped apostrophes as string terminators, so names like L\'Orient-Le Jour and Lenny\'s Newsletter are parsed as L\ and Lenny\ instead of full names. In this script the parsed name feeds into both reporting and the dedupe key (${label}|${rawUrl}), so malformed names can produce misleading validation output and inaccurate deduplication.

Useful? React with 👍 / 👎.

nameRe used [^']+ which stopped at \' in source text, truncating
names like L'Orient-Le Jour to "L\" and Lenny's Newsletter to
"Lenny\". Use (?:[^'\\]|\\.)* to skip escape sequences. Also
removed stray + quantifier after closing quote.
@koala73
koala73 force-pushed the fix/rss-feeds-refresh branch from a68dcdd to 032b2f4 Compare February 27, 2026 12:10
@koala73
koala73 merged commit b17b746 into main Feb 27, 2026
1 of 5 checks passed
koala73 added a commit that referenced this pull request Feb 27, 2026
nameRe used [^']+ which stopped at \' in source text, truncating
names like L'Orient-Le Jour to "L\" and Lenny's Newsletter to
"Lenny\". Use (?:[^'\\]|\\.)* to skip escape sequences. Also
removed stray + quantifier after closing quote.

This branch was successfully deployed

4 active deployments
Preview – worldmonitor-finance — 032b2f4b Deployed Feb 27, 2026 by vercel[bot]
Preview – worldmonitor-startup — 032b2f4b Deployed Feb 27, 2026 by vercel[bot]
Preview – worldmonitor — 032b2f4b Deployed Feb 27, 2026 by vercel[bot]
Preview – worldmonitor-happy — 032b2f4b Deployed Feb 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant