Commit Graph

1239 Commits

Author SHA1 Message Date
Peter Steinberger 7194a89469 test: clear telegram session meta broad matchers 2026-05-10 14:06:11 +01:00
Peter Steinberger 997acd4ef4 test: clear telegram bot broad matchers 2026-05-10 14:03:14 +01:00
Peter Steinberger a4db7000fc test: clear telegram media retry broad matchers 2026-05-10 13:40:35 +01:00
Ayaan Zaidi 4774aeda27 fix(telegram): handle list spacing code blocks 2026-05-10 18:03:05 +05:30
evgyur d2649e0410 fix(telegram): preserve spacing before numbered sections 2026-05-10 18:03:05 +05:30
clawSean c3f817e0e0 fix(telegram): preserve URL inline buttons 2026-05-10 17:37:35 +05:30
Peter Steinberger 4f32a32ed6 refactor: move rare sdk seams into owners 2026-05-10 12:37:10 +01:00
Peter Steinberger 827b0de0ce refactor: reduce plugin sdk surface 2026-05-10 12:37:10 +01:00
Peter Steinberger 37682ebad9 test: clear telegram send broad matchers 2026-05-10 12:27:56 +01:00
Peter Steinberger 11dc5cb94e fix: compact tool progress display 2026-05-10 11:26:23 +01:00
Peter Steinberger c90fd7ebc2 test: clear telegram action runtime broad matchers 2026-05-10 10:54:20 +01:00
Peter Steinberger f7be17a7fe test: clear telegram bot broad matchers 2026-05-10 10:40:43 +01:00
Peter Steinberger 35ceba0e4e test: clear telegram fetch broad matchers 2026-05-10 08:55:28 +01:00
Peter Steinberger d1d97eb8ca test: clear telegram dispatch broad matchers 2026-05-10 07:52:24 +01:00
TinyClaw d580ec474c fix(telegram): show full OpenRouter model labels
Summary:\n- show provider-prefixed fallback labels for nested OpenRouter model ids in Telegram model picker\n- add regression coverage and changelog credit\n\nVerification:\n- pnpm test extensions/telegram/src/model-buttons.test.ts\n- OPENCLAW_TESTBOX=0 pnpm check:changed
2026-05-10 01:49:16 -04:00
Peter Steinberger 2c873af29c test: clear telegram delivery broad matchers 2026-05-10 06:45:40 +01:00
Peter Steinberger eced12d091 test: reduce telegram delivery broad matchers 2026-05-10 06:43:31 +01:00
Peter Steinberger 9243b575ed chore(release): prepare 2026.5.10-beta.1 2026-05-10 06:13:38 +01:00
Ayaan Zaidi 1b38f80088 fix(telegram): cool down unhealthy transports 2026-05-10 10:16:59 +05:30
Brandon Zarnitz 86b53aa2ca fix(telegram): suppress silent-reply rewrite in DM no-response turns (#78188)
When a Telegram turn ends with no visible final response, the dispatcher synthesized a NO_REPLY payload that silent-reply rewrite could turn into visible DM chatter such as "All quiet on my side."

Gate that synthesized fallback on group chats. DMs with no queued final response now stay quiet, while group/forum fallback behavior remains available when policy asks for a visible rewrite.

Tests:
- pnpm test extensions/telegram/src/bot-message-dispatch.test.ts
- pnpm check:changed
2026-05-10 09:56:00 +05:30
Peter Steinberger a0fb7fb045 refactor: centralize channel ingress access 2026-05-10 00:18:36 -04:00
Ayaan Zaidi 175c42eacd fix(telegram): tighten select callback handling 2026-05-10 08:59:39 +05:30
Moeed Ahmed 3c5e68e80f fix: bound subagent completion context 2026-05-10 08:59:39 +05:30
Moeed Ahmed 243618e804 fix: handle telegram select callbacks safely 2026-05-10 08:59:39 +05:30
Ayaan Zaidi 6bf9185d27 fix(telegram): gate media dedup on visible delivery 2026-05-10 08:47:04 +05:30
Roger Deng 22e564da4b fix(telegram): track block media only after successful delivery
Move sentBlockMediaUrls recording from before sends to after successful
delivery completion. If a block send throws, the URL is not recorded,
so final fallback delivery retains the media attachment instead of
incorrectly deduplicating it.

Add regression tests for both success-path dedup and failure-path
media preservation.

Addresses ClawSweeper P2: block-failure → final-media-loss.
2026-05-10 08:47:04 +05:30
Roger Deng bc3fd5bf0f fix(telegram): clear legacy mediaUrl when all mediaUrls deduped 2026-05-10 08:47:04 +05:30
Roger Deng b5af229172 fix(telegram): use generic type in deduplicateBlockSentMedia
Preserve the full ReplyPayload type through deduplication so that
channelData and other properties are not lost.
2026-05-10 08:47:04 +05:30
Roger Deng 8ff38c0988 fix(telegram): deduplicate MEDIA attachments in non-streaming mode
Non-streaming Telegram delivers each MEDIA: attachment twice — once
from the media-only block reply and once from the final reply. Track
media URLs sent via block replies and filter duplicates from final
replies.

Closes #78372
2026-05-10 08:47:04 +05:30
Ayaan Zaidi 1367ec7461 fix(telegram): use partial stream deltas 2026-05-10 08:29:19 +05:30
Andy Ye 512a26c29b fix telegram partial progress coalescing 2026-05-10 08:29:19 +05:30
Andy Ye 0a4ef37f65 fix telegram partial draft fragments 2026-05-10 08:29:19 +05:30
Andrew Cunliffe 048ca8c765 fix(telegram): suppress 'no extra answer' placeholder when reply is in flight (#78929) 2026-05-10 08:28:31 +05:30
Ayaan Zaidi 760160c641 refactor(telegram): simplify chat action coalescing 2026-05-10 07:43:35 +05:30
VACInc f5ad8e5b53 fix telegram topic bottleneck 2026-05-10 07:43:35 +05:30
Peter Steinberger 978334a83a test(telegram): satisfy transport stub contract 2026-05-09 23:25:27 +01:00
Peter Steinberger 195e721211 fix(release): stabilize full validation gates 2026-05-09 23:25:27 +01:00
Alexis Dagues d44aeb6901 fix(telegram): mirror outbound replies to session transcript
Telegram's deliverReplies dispatches via Grammy SDK directly, bypassing
deliverOutboundPayloads where the channel-mirror writer runs. Outbound
assistant replies were never appended to the session transcript, leaving
Telegram .jsonl files empty (the sessions.json sessionFile path was
populated but the file was never created on disk).

Add an optional transcriptMirror callback param to deliverReplies and
populate it from bot-message-dispatch's deliveryBaseOptions. Reuses the
existing appendAssistantMessageToSessionTranscript helper that
deliverOutboundPayloads already calls. Also mirrors preview-finalized
replies so the transcript captures all final assistant output.

Plugin SDK boundary expansion: re-export
appendAssistantMessageToSessionTranscript from
plugin-sdk/agent-harness-runtime so extension code can call it without
reaching into core src/. API baseline regenerated.

Addresses openclaw#75991 for telegram + CLI runtime combinations.
Supersedes openclaw#77484 (incorporates reviewer feedback: preview-
finalized mirror + changelog entry).
2026-05-09 20:20:25 +05:30
Ayaan Zaidi b6265c1504 fix(telegram): harden command menu cache keys 2026-05-09 20:03:47 +05:30
heejae chang 564ab9b89b Reduce Telegram command menu CPU work 2026-05-09 20:03:47 +05:30
Ayaan Zaidi 7d00183d44 fix(telegram): clean chat window prompt context 2026-05-09 18:28:50 +05:30
Ayaan Zaidi b3afcc6eec fix(telegram): prioritize live chat context 2026-05-09 18:28:50 +05:30
Ayaan Zaidi 4cdf19eabe fix(telegram): add local chat context windows 2026-05-09 18:28:50 +05:30
Ayaan Zaidi aec262034b perf(telegram): append reply-chain cache records 2026-05-09 17:57:16 +05:30
TSHOGX 1355701d73 fix(telegram): guard DM bindings from being parsed as topics 2026-05-09 07:18:42 -04:00
Shakker 234ea60c9d test: align telegram fast command callbacks 2026-05-09 12:05:59 +01:00
Peter Steinberger 4883a0e6c4 chore: update workspace dependencies 2026-05-09 10:58:36 +01:00
Peter Steinberger 9385eaaf88 chore(release): prepare 2026.5.8 2026-05-09 08:05:17 +01:00
Shakker 0d93faac54 test: fix telegram proxy send mock 2026-05-09 06:16:25 +01:00
Shakker 0fef42ddcc test: tighten plugin extension array assertions 2026-05-09 05:58:17 +01:00