Skip to content

Cherry-pick (blocked): Telegram adapter (1/2) (50 commits) #1920

@alexey-pelykh

Description

@alexey-pelykh

Cherry-pick from upstream — Telegram adapter (depends on prior cherry-picks)

Source: openclaw/openclaw main branch
Scan session: 2026-03-24 (rescan)
Commits: 50 (33 blocked, 17 needs-prereq)

These commits modify files that don't yet exist on the fork. They become pickable after earlier cherry-pick issues in the same domain land.

Commits

# Hash Subject Author Files Tier
1 0567f111ac test(telegram): stabilize inbound media harness Ayaan Zaidi 5 PREREQ
2 06ae5e9d21 refactor(telegram): share native command test menu helpers Peter Steinberger 3 PREREQ
3 1040ae56b5 Telegram: fix reply-runtime test typings Vincent Koc 2 BLOCKED
4 1eb810a5e3 Telegram: fix named-account DM topic session keys (openclaw#48773) Vincent Koc 6 PREREQ
5 1ef7e544e9 test(telegram): pass explicit deps in command tests Ayaan Zaidi 3 BLOCKED
6 23f618d62d test(telegram): rewire bot harnesses to runtime seams Ayaan Zaidi 3 BLOCKED
7 243dabc186 test(telegram): align media harness with runtime seam Ayaan Zaidi 2 BLOCKED
8 4266e260e1 fix: emit message:sent hook on Telegram streaming preview finalization (openclaw#50917) Saurabh Mishra 6 BLOCKED
9 4e265fe7d6 test(telegram): fix native command runtime mocks Ayaan Zaidi 3 BLOCKED
10 4e45a663e7 fix(telegram): prevent silent wrong-bot routing when accountId not in config HCL 2 BLOCKED
11 5ce2ed3bd2 refactor(telegram): share native command test fixtures Peter Steinberger 4 PREREQ
12 5ce3eb3ff3 Telegram: dedupe message action discovery state Gustavo Madeira Santana 1 BLOCKED
13 63d82a6299 refactor(telegram): reuse menu helpers in skill allowlist test Peter Steinberger 1 BLOCKED
14 68bc6effc0 Telegram: stabilize pairing/session/forum routing and reply formatting tests (openclaw#50155) Josh Avant 27 PREREQ
15 6a8f5bc12f feat(telegram): add configurable silent error replies (openclaw#19776) Myeongwon Choi 13 PREREQ
16 6aaf0d0f24 test(telegram): add bot runtime seam Ayaan Zaidi 3 PREREQ
17 6b4c24c2e5 feat(telegram): support custom apiRoot for alternative API endpoints (openclaw#48842) Cypherm 25 PREREQ
18 6e047eb683 refactor: expand setup wizard flow Peter Steinberger 2 BLOCKED
19 6eafa2ec87 fix(telegram): inject media loader through bot deps Vincent Koc 3 BLOCKED
20 79d7fdce93 test(telegram): inject media loader in delivery replies Vincent Koc 2 BLOCKED
21 80110c550f fix(telegram): warn when setup leaves dmPolicy as pairing without allowFrom (openclaw#50710) ernestodeoliveira 3 PREREQ
22 8139f83175 fix(telegram): persist sticky IPv4 fallback across polling restarts (fixes openclaw#48177) (openclaw#48282) Kwest OG 5 BLOCKED
23 85023d6f9c fix(telegram): harden grammy seams across tests Vincent Koc 9 BLOCKED
24 8b438a308b fix(telegram): keep silent error fallback replies quiet ImJarvis by LukeF 2 BLOCKED
25 8b7f40580d perf: split telegram audit runtime seams Peter Steinberger 11 PREREQ
26 95fec668a0 fix: preserve Telegram reply context text (openclaw#50500) (thanks @p3nchan) Penchan 3 BLOCKED
27 988bd782f7 fix: restore Telegram topic announce delivery (openclaw#51688) (thanks @mvanhorn) Matt Van Horn 2 BLOCKED
28 a89cb3e10e refactor(telegram): unify action normalization Ayaan Zaidi 5 PREREQ
29 a8f7c274bc fix(test): split telegram channel-post media coverage Vincent Koc 2 PREREQ
30 a90c5092f2 fix(telegram): default fresh setups to mention-gated groups Vincent Koc 3 BLOCKED
31 ac5e97097e fix(telegram): normalize topic-edit targets Ayaan Zaidi 2 BLOCKED
32 ac66d383e7 test: mock telegram native command reply pipeline Ayaan Zaidi 1 BLOCKED
33 b058077b16 refactor(telegram): share setup wizard base Peter Steinberger 2 BLOCKED
34 b12dc4d04d fix(telegram): update test expectations for allow_sending_without_reply moltbot886 1 BLOCKED
35 b85d97f22c refactor(telegram): inject shared bot deps Ayaan Zaidi 5 PREREQ
36 b9dfb6cc23 test(telegram): inject bot deps in harnesses Ayaan Zaidi 6 BLOCKED
37 bf12835995 fix(telegram): make buttons schema optional in message tool liuyang 1 BLOCKED
38 c11f95eced test(telegram): align webhook grammy mock Vincent Koc 1 BLOCKED
39 c3386d34d2 Telegram: move action runtime into extension Gustavo Madeira Santana 5 PREREQ
40 cac9de5326 perf: trim more vitest thread pins Peter Steinberger 2 BLOCKED
41 cc35627c8f fix: harden telegram and loader contracts Peter Steinberger 2 BLOCKED
42 d264c761cb fix(telegram): add allow_sending_without_reply to prevent lost messages moltbot886 4 BLOCKED
43 d5a7880de2 Telegram: advertise shared interactive support Vincent Koc 1 BLOCKED
44 d9e776eb47 test(telegram): align create-bot assertions Ayaan Zaidi 1 BLOCKED
45 dbc367e50a Telegram: own message tool schema and runtime seam Gustavo Madeira Santana 3 PREREQ
46 dd9fce1686 Tests: restore Telegram native command harness mocks Vincent Koc 1 BLOCKED
47 df79113593 Plugins: internalize telegram SDK imports Vincent Koc 11 PREREQ
48 e184cd97cc refactor(telegram-tests): share native command helpers Peter Steinberger 4 PREREQ
49 e1ca5d9cc4 refactor(telegram-tests): share webhook settlement helper Peter Steinberger 1 BLOCKED
50 e88c6d8486 Tests: cover Telegram plugin auth on real registry Vincent Koc 1 BLOCKED

Execution

  1. Execute the non-blocked cherry-pick issues for this domain first
  2. Then retry: /pick-from-openclaw execute issue #N

Recommended strategy: staging branch

Metadata

Metadata

Assignees

No one assigned

    Labels

    cherry-pickCherry-pick from upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions