feat(feeds): add Austrian (AT) outlets to de locale + fix German server parity#3890
feat(feeds): add Austrian (AT) outlets to de locale + fix German server parity#3890zionappp-ui wants to merge 2 commits into
Conversation
…er parity Austrian additions (all probed, ≥20 items): - ORF (rss.orf.at) — public broadcaster, tier 1, RSS 1.0 format - Der Standard (www.derstandard.at) — independent broadsheet, tier 2 - Die Presse (www.diepresse.com) — conservative broadsheet, tier 2 - Kurier (kurier.at) — mainstream daily, tier 2 Also fixes pre-existing German locale gaps uncovered by checker: - Bild, Der Spiegel, Die Zeit were in feeds.ts but missing from server/worldmonitor/news/v1/_feeds.ts (server parity gap) - www.tagesschau.de, www.spiegel.de, newsfeed.zeit.de, www.bild.de were in shared/rss-allowed-domains.json but not in vite.config.ts - Bild was missing from source-tiers.json (added at tier 3) All 4 allowlist mirrors and both source-tiers copies now consistent.
|
@zionappp-ui is attempting to deploy a commit to the World Monitor Team on Vercel. A member of the Team first needs to authorize it. |
Greptile SummaryThis PR adds 4 Austrian news outlets (ORF, Der Standard, Die Presse, Kurier) to the
Confidence Score: 2/5Not safe to merge until the missing comma in api/_rss-allowed-domains.js is fixed — it is a JavaScript syntax error that will crash the Edge Function on load. The JS allowlist file has two adjacent string literals with no comma between them, making the module unparseable. Every RSS proxy request routed through the Vercel Edge Function would fail at import time, taking down the allowlist guard for all domains, not just the newly added Austrian ones. api/_rss-allowed-domains.js needs the missing comma fix before this is safe to ship. All other files (shared/, scripts/shared/, server/, vite.config.ts) look correct. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[RSS Feed Request] --> B{Domain in allowlist?}
B -->|Check| C[api/_rss-allowed-domains.js]
C -->|SyntaxError - module fails to load| D[❌ Edge Function crash]
B -->|Dev proxy check| E[vite.config.ts RSS_PROXY_ALLOWED_DOMAINS]
E --> F{Match?}
F -->|Yes| G[Proxy to upstream RSS]
F -->|No| H[Block request]
subgraph New AT Domains
I[rss.orf.at]
J[www.derstandard.at]
K[www.diepresse.com]
L[kurier.at]
end
subgraph Allowlist Mirrors
C
E
M[shared/rss-allowed-domains.json ✅]
N[scripts/shared/rss-allowed-domains.json ✅]
end
I & J & K & L --> M
I & J & K & L --> N
I & J & K & L --> C
I & J & K & L --> E
Reviews (1): Last reviewed commit: "feat(feeds): add Austrian (AT) outlets t..." | Re-trigger Greptile |
| "idp.nature.com" | ||
| "rss.orf.at", |
There was a problem hiding this comment.
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.
| "idp.nature.com" | |
| "rss.orf.at", | |
| "idp.nature.com", | |
| "rss.orf.at", |
| // 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', |
There was a problem hiding this comment.
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.
- api/_rss-allowed-domains.js: add missing comma after "idp.nature.com" - src/config/feeds.ts: add 'Bild': 'mainstream' to SOURCE_TYPES (was in FULL_FEEDS and source-tiers but missing classification)
Summary
Extends the existing
de(German) locale with 4 Austrian news outlets, and fixes pre-existing server-parity and vite-proxy gaps for the German block.Austrian feeds added (all verified, ≥20 items)
Note: APA (Austrian wire) was probed but returns 0 items on its public RSS endpoint.
Pre-existing German gaps fixed
These were in
src/config/feeds.tsbut not in the server or vite proxy:Bild,Der Spiegel,Die Zeitwere absent from the server digest mirrorwww.tagesschau.de,www.spiegel.de,newsfeed.zeit.de,www.bild.demissing from dev-proxy allowlistBildwas missing entirely (added at tier 3)Files changed
src/config/feeds.ts— SOURCE_TYPES + 4 AT feeds in europe arrayserver/worldmonitor/news/v1/_feeds.ts— 4 AT feeds + 3 missing DE feedsshared/rss-allowed-domains.json+scripts/shared/(byte-identical) — 4 new AT domainsapi/_rss-allowed-domains.js+vite.config.ts— all 4 mirrors updated (AT + missing DE)shared/source-tiers.json+scripts/shared/(byte-identical) — ORF/Standard/Presse/Kurier + BildTest plan
curl -s https://rss.orf.at/news.xml | python3 -c "import sys; print(sys.stdin.read().count('</item>'))"→ ≥20 (RSS 1.0 format)curl -s https://www.derstandard.at/rss | grep -c '<item>'→ ≥20shared/ == scripts/shared/byte-identical🤖 Generated with Claude Code