Skip to content

feat(telegram): expand channel coverage with 11 new OSINT sources#2497

Merged
koala73 merged 2 commits intomainfrom
worktree-vast-jumping-sphinx
Mar 29, 2026
Merged

feat(telegram): expand channel coverage with 11 new OSINT sources#2497
koala73 merged 2 commits intomainfrom
worktree-vast-jumping-sphinx

Conversation

@koala73
Copy link
Copy Markdown
Owner

@koala73 koala73 commented Mar 29, 2026

Summary

  • Adds 9 channels to the full set: ReportingFromUkraine, middleeastobserver, MiddleEastEye, IranIntl_En, syriahr, dragonwatch, indopacificnews, sahelwatch, sudanwarmonitor
  • Adds 2 channels to the tech set: vxunderground, falconfeeds
  • Replaces iranintltv with the correct English-language handle IranIntl_En
  • Expands coverage to two previously absent regions: Asia-Pacific and Africa
Region New channels
Ukraine ReportingFromUkraine
Middle East middleeastobserver, MiddleEastEye, IranIntl_En, syriahr
Asia-Pacific dragonwatch, indopacificnews
Africa sahelwatch, sudanwarmonitor
Cyber (tech) vxunderground, falconfeeds

Test plan

  • Verify all new handles resolve on Telegram before relay deploys
  • Confirm IranIntl_En is the English channel (vs Persian IranIntl)
  • Check relay picks up new channels from data/telegram-channels.json on next poll cycle
  • Validate Asia/Africa regions display correctly in the Telegram Intel panel topic filter

Adds Asia-Pacific, Africa, Ukraine, and cyber intel channels that were
previously absent, plus additional Middle East coverage.
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 29, 2026

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

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Mar 29, 2026 8:38am

Request Review

@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Mar 29, 2026

Greptile Summary

This PR expands the curated Telegram channel list by adding 10 net-new channels (8 to full, 2 to tech) and replacing the stale iranintltv handle with the correct English-language handle IranIntl_En. It also introduces two new region values — asia and africa — which the relay passes through as string tags and does not validate against an enum, so they work at runtime without any code changes.

Key observations:

  • All new entries are structurally consistent with the existing schema (required fields present, tier/maxMessages values aligned with comparable channels).
  • The updatedAt timestamp is correctly bumped to 2026-03-29T00:00:00Z.
  • Four new full-set channels (middleeastobserver, MiddleEastEye, dragonwatch, indopacificnews) use \"topic\": \"geopolitics\", which has no corresponding entry in TELEGRAM_TOPICS (src/services/telegram-intel.ts). Items from these channels will only appear under the "All" tab — not under any specific topic filter — consistent with a pre-existing pattern but amplified by this PR.
  • The PR title states "11 new OSINT sources", but one of the 11 entries (IranIntl_En) is a replacement for iranintltv, not a net-new source; the accurate new-channel count is 10.

Confidence Score: 5/5

Safe to merge — all changes are purely additive data edits with no logic changes; the single finding is a pre-existing design pattern.

All findings are P2. The geopolitics topic tab gap pre-dates this PR and doesn't break any existing functionality — channels without a matching tab remain accessible under "All". No runtime errors, data loss, or breaking changes are introduced. The JSON structure is valid and consistent.

No files require special attention; src/services/telegram-intel.ts is worth a follow-up to add a geopolitics filter tab if content discoverability matters.

Important Files Changed

Filename Overview
data/telegram-channels.json Adds 8 new channels to full set and 2 to tech set, replaces iranintltv with IranIntl_En, and bumps updatedAt. All entries are structurally valid; four new channels use topic: "geopolitics" which has no tab in TELEGRAM_TOPICS, making them only visible in the "All" filter (pre-existing pattern but amplified).

Sequence Diagram

sequenceDiagram
    participant JSON as data/telegram-channels.json
    participant Relay as ais-relay.cjs
    participant Redis as Upstash Redis
    participant API as /api/telegram-feed
    participant Panel as TelegramIntelPanel

    Relay->>JSON: loadTelegramChannels()<br/>(reads TELEGRAM_CHANNEL_SET env = "full" | "tech")
    JSON-->>Relay: channel list (handle, topic, region, tier, enabled, maxMessages)
    Relay->>Relay: filter enabled channels, apply maxMessages
    Relay->>Relay: subscribe via MTProto / poll
    Relay->>Redis: write items {topic, tags:[region], earlySignal}
    API->>Redis: read cached items
    API-->>Panel: TelegramFeedResponse {items[]}
    Panel->>Panel: filter by activeTopic<br/>(TELEGRAM_TOPICS: all/breaking/conflict/alerts/osint/politics/middleeast)
    Note over Panel: "geopolitics" & "cyber" topics<br/>only visible under "All" tab
Loading

Reviews (1): Last reviewed commit: "feat(telegram): expand channel coverage ..." | Re-trigger Greptile

…alerts/politics

Adds missing geopolitics (12 ch) and cyber (9 ch) filter tabs.
Merges the thin alerts tab into breaking, and politics into geopolitics.
Adds filterGeopolitics + filterCyber i18n keys across all 21 locales.
@koala73 koala73 merged commit 0c23f35 into main Mar 29, 2026
7 checks passed
@koala73 koala73 deleted the worktree-vast-jumping-sphinx branch March 29, 2026 08:43
buluma pushed a commit to buluma/worldmonitor_og that referenced this pull request Mar 29, 2026
…ala73#2497)

* feat(telegram): expand channel coverage with 11 new OSINT sources

Adds Asia-Pacific, Africa, Ukraine, and cyber intel channels that were
previously absent, plus additional Middle East coverage.

* feat(telegram): clean up topic tabs — add geopolitics + cyber, merge alerts/politics

Adds missing geopolitics (12 ch) and cyber (9 ch) filter tabs.
Merges the thin alerts tab into breaking, and politics into geopolitics.
Adds filterGeopolitics + filterCyber i18n keys across all 21 locales.
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