feat(feeds): add Czech (cs) locale with mainstream + investigative sources#3882
feat(feeds): add Czech (cs) locale with mainstream + investigative sources#3882zionappp-ui wants to merge 1 commit into
Conversation
|
@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 a Czech (
Confidence Score: 4/5Safe to merge; all allowlists are in parity and feed URLs are verified. The only concern is the source type classification for two investigative outlets. The change is well-structured and follows the exact pattern set by the Hungarian and Greek feed additions. All four allowlist copies and both source-tier files are kept in sync, the server-side mirror uses the correct gnLocale() helper, and the longer when:14d window for Demagog.cz matches existing low-frequency sources. The one flag is that Hlídač Pipsu and Demagog.cz — explicitly described as investigative/fact-checking in the PR — are typed as 'mainstream' rather than 'intel', inconsistent with how equivalent investigative outlets (Bellingcat, Krebs Security) are classified elsewhere in the same file. src/config/feeds.ts — SOURCE_TYPES classification for Hlídač Pipsu and Demagog.cz Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Czech Feed Request\nlang: cs] --> B{Feed Type?}
B -->|Direct RSS| C[RSS Proxy\napi/rss-proxy.js]
B -->|Google News| D[gnLocale URL\nnews.google.com]
C --> E{Domain in\nAllowlist?}
D --> E
E -->|Yes| F[Fetch & Return XML]
E -->|No| G[403 Blocked]
F --> H[Source Tier Lookup\nsource-tiers.json]
H -->|Tier 2| I[High-quality journalism\niRozhlas, CT24, Deník N\nHN, Novinky.cz, Aktuálně\nHlídač Pipsu, Demagog.cz]
I --> J[SourceType Classification\nSOURCE_TYPES in feeds.ts]
J -->|mainstream| K[iRozhlas, CT24, Deník N\nNovinky.cz, Aktuálně\nHlídač Pipsu, Demagog.cz]
J -->|market| L[Hospodářské Noviny]
Reviews (1): Last reviewed commit: "feat(locale): add Czech (CS) news source..." | Re-trigger Greptile |
| // Czech (CS) | ||
| 'iRozhlas': 'mainstream', 'CT24': 'mainstream', 'Deník N': 'mainstream', | ||
| 'Hospodářské Noviny': 'market', 'Novinky.cz': 'mainstream', 'Aktuálně': 'mainstream', | ||
| 'Hlídač Pipsu': 'mainstream', 'Demagog.cz': 'mainstream', |
There was a problem hiding this comment.
The PR description explicitly labels Hlídač Pipsu and Demagog.cz as "investigative/fact-checking outlets," yet both are typed as
'mainstream'. The existing pattern in this file uses 'intel' for investigative and watchdog sources (Bellingcat, Krebs Security, Foreign Policy, CrisisWatch, Atlantic Council). Mistyping them as 'mainstream' means they will be treated like broadcast news in any UI filter or ranking logic that branches on SourceType.
| 'Hlídač Pipsu': 'mainstream', 'Demagog.cz': 'mainstream', | |
| 'Hlídač Pipsu': 'intel', 'Demagog.cz': 'intel', |
Adds 8 Czech news feeds to the Europe section: - Public broadcaster: iRozhlas, CT24 - Independent: Deník N, Novinky.cz, Aktuálně - Market: Hospodářské Noviny - Investigative: Hlídač Pipsu, Demagog.cz (fact-check) Direct RSS where available; Google News fallback for Aktuálně and Demagog.cz. Adds domain allowlist entries to all 4 mirrors and source-tier entries at tier 2. cs locale and offline.html entry already exist in upstream.
26102c4 to
210f911
Compare
|
Fixed: |
Summary
Adds 8 Czech-language news sources covering public broadcasting, quality journalism, business reporting, and investigative/fact-checking outlets.
New feeds
site:aktualne.cz)site:demagog.cz)All feed URLs probed and verified (≥1 item returned).
Files changed
src/config/feeds.ts— SOURCE_TYPES entries + feed array entries (lang: 'cs')server/worldmonitor/news/v1/_feeds.ts— server-side mirror withgnLocale()for Google News feedsshared/rss-allowed-domains.json— 8 new domainsscripts/shared/rss-allowed-domains.json— byte-identical copyapi/_rss-allowed-domains.js— edge-compatible copyvite.config.ts— proxy allowlistshared/source-tiers.json— 8 entries at tier 2scripts/shared/source-tiers.json— byte-identical copyAll 4 allowlist files and both source-tiers files are kept in parity (verified with
diff).🤖 Generated with Claude Code