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