Skip to content

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

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

fix(feeds): replace 25 dead/stale RSS URLs and add feed validation script#455
koala73 merged 1 commit intomainfrom
fix/rss-feeds-refresh

Conversation

@koala73
Copy link
Owner

@koala73 koala73 commented Feb 27, 2026

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
Copy link

vercel bot commented Feb 27, 2026

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

Copy link

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

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".

// 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*(?:'([^']+)'+|"([^"]+)")/;

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.
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