Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions api/_rss-allowed-domains.js
Original file line number Diff line number Diff line change
Expand Up @@ -324,4 +324,8 @@ export default [
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"rss.orf.at",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P0 Missing comma after "idp.nature.com" causes a JavaScript SyntaxError when this module is imported. Since api/_rss-allowed-domains.js is the allowlist used by Vercel Edge Functions to validate RSS proxy requests, a parse failure means the module will fail to load — breaking the entire RSS allowlist guard at runtime.

Suggested change
"idp.nature.com"
"rss.orf.at",
"idp.nature.com",
"rss.orf.at",

"www.derstandard.at",
"www.diepresse.com",
"kurier.at",
];
6 changes: 5 additions & 1 deletion scripts/shared/rss-allowed-domains.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,9 @@
"rss.libsyn.com",
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"idp.nature.com",
"rss.orf.at",
"www.derstandard.at",
"www.diepresse.com",
"kurier.at"
]
7 changes: 6 additions & 1 deletion scripts/shared/source-tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,10 @@
"ArXiv AI": 4,
"AI News": 4,
"Layoffs News": 4,
"GloNewswire (Taiwan)": 4
"GloNewswire (Taiwan)": 4,
"ORF": 1,
"Der Standard": 2,
"Die Presse": 2,
"Kurier": 2,
"Bild": 3
}
8 changes: 8 additions & 0 deletions server/worldmonitor/news/v1/_feeds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ export const VARIANT_FEEDS: Record<string, Record<string, ServerFeed[]>> = {
{ name: 'Le Monde', url: 'https://www.lemonde.fr/en/rss/une.xml' },
{ name: 'DW News', url: 'https://rss.dw.com/xml/rss-en-all' },
{ name: 'Tagesschau', url: 'https://www.tagesschau.de/xml/rss2/', lang: 'de' },
{ name: 'Bild', url: 'https://www.bild.de/feed/alles.xml', lang: 'de' },
{ name: 'Der Spiegel', url: 'https://www.spiegel.de/schlagzeilen/tops/index.rss', lang: 'de' },
{ name: 'Die Zeit', url: 'https://newsfeed.zeit.de/index', lang: 'de' },
// Austrian (AT) — de locale extension
{ name: 'ORF', url: 'https://rss.orf.at/news.xml', lang: 'de' },
{ name: 'Der Standard', url: 'https://www.derstandard.at/rss', lang: 'de' },
{ name: 'Die Presse', url: 'https://www.diepresse.com/rss', lang: 'de' },
{ name: 'Kurier', url: 'https://kurier.at/xml/rss', lang: 'de' },
{ name: 'ANSA', url: 'https://www.ansa.it/sito/ansait_rss.xml', lang: 'it' },
{ name: 'NOS Nieuws', url: 'https://feeds.nos.nl/nosnieuwsalgemeen', lang: 'nl' },
{ name: 'SVT Nyheter', url: 'https://www.svt.se/nyheter/rss.xml', lang: 'sv' },
Expand Down
6 changes: 5 additions & 1 deletion shared/rss-allowed-domains.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,9 @@
"rss.libsyn.com",
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"idp.nature.com",
"rss.orf.at",
"www.derstandard.at",
"www.diepresse.com",
"kurier.at"
]
7 changes: 6 additions & 1 deletion shared/source-tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,10 @@
"ArXiv AI": 4,
"AI News": 4,
"Layoffs News": 4,
"GloNewswire (Taiwan)": 4
"GloNewswire (Taiwan)": 4,
"ORF": 1,
"Der Standard": 2,
"Die Presse": 2,
"Kurier": 2,
"Bild": 3
}
6 changes: 6 additions & 0 deletions src/config/feeds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export const SOURCE_TYPES: Record<string, SourceType> = {
// European Addition
'El País': 'mainstream', 'El Mundo': 'mainstream', 'BBC Mundo': 'mainstream',
'Tagesschau': 'mainstream', 'Der Spiegel': 'mainstream', 'Die Zeit': 'mainstream', 'DW News': 'mainstream',
'ORF': 'mainstream', 'Der Standard': 'mainstream', 'Die Presse': 'mainstream', 'Kurier': 'mainstream',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Bild is present in FULL_FEEDS (and is now also in server/_feeds.ts and source-tiers.json after this PR), but it has no entry in SOURCE_TYPES. Every other outlet added or adjusted in this PR (ORF, Der Standard, Die Presse, Kurier) gets an explicit 'mainstream' classification here, so the gap in Bild's classification appears to have been overlooked when this PR completed its parity work.

'ANSA': 'wire', 'Corriere della Sera': 'mainstream', 'Repubblica': 'mainstream',
'NOS Nieuws': 'mainstream', 'NRC': 'mainstream', 'De Telegraaf': 'mainstream',
// Hungarian (HU)
Expand Down Expand Up @@ -241,6 +242,11 @@ const FULL_FEEDS: Record<string, Feed[]> = {
{ name: 'Bild', url: rss('https://www.bild.de/feed/alles.xml'), lang: 'de' },
{ name: 'Der Spiegel', url: rss('https://www.spiegel.de/schlagzeilen/tops/index.rss'), lang: 'de' },
{ name: 'Die Zeit', url: rss('https://newsfeed.zeit.de/index'), lang: 'de' },
// Austrian (AT) — de locale extension
{ name: 'ORF', url: rss('https://rss.orf.at/news.xml'), lang: 'de' },
{ name: 'Der Standard', url: rss('https://www.derstandard.at/rss'), lang: 'de' },
{ name: 'Die Presse', url: rss('https://www.diepresse.com/rss'), lang: 'de' },
{ name: 'Kurier', url: rss('https://kurier.at/xml/rss'), lang: 'de' },
// Italian (IT)
{ name: 'ANSA', url: rss('https://www.ansa.it/sito/notizie/topnews/topnews_rss.xml'), lang: 'it' },
{ name: 'Corriere della Sera', url: rss('https://www.corriere.it/rss/homepage.xml'), lang: 'it' },
Expand Down
4 changes: 4 additions & 0 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,10 @@ const RSS_PROXY_ALLOWED_DOMAINS = new Set([
'news.ycombinator.com',
// Hungarian / Central European feeds
'telex.hu', 'index.hu', 'hvg.hu', '444.hu', '24.hu', 'hirado.hu', 'portfolio.hu', 'www.portfolio.hu', 'www.atv.hu',
// German (DE) feeds — previously missing from vite proxy
'www.tagesschau.de', 'www.spiegel.de', 'newsfeed.zeit.de', 'www.bild.de',
// Austrian (AT) feeds
'rss.orf.at', 'www.derstandard.at', 'www.diepresse.com', 'kurier.at',
// Finance variant
'www.coindesk.com', 'cointelegraph.com',
// Happy variant — positive news sources
Expand Down
Loading