Commit Graph

1247 Commits

Author SHA1 Message Date
Peter Steinberger
ae27fb2508 test: tighten telegram status assertions 2026-05-10 22:18:40 +01:00
Peter Steinberger
c154578f60 test: tighten telegram outbound assertions 2026-05-10 21:24:35 +01:00
Peter Steinberger
a2d0053e23 test: clear telegram polling broad matchers 2026-05-10 18:56:56 +01:00
Peter Steinberger
bd1b5b3331 test: clear telegram native command broad matchers 2026-05-10 18:30:25 +01:00
Peter Steinberger
f9c0dc2d2b fix(feishu): fall back from missing thread replies (#80306)
Summary:
- The branch adds an opt-in Feishu top-level group-send fallback for withdrawn or missing normal quoted thread replies, plus regression coverage, a changelog entry, and CI/lint typing and baseline refreshes.
- Reproducibility: yes. at source level. Current main hard-errors withdrawn/not-found Feishu reply targets when `replyInThread` is true, and the existing regression test asserts that no top-level create fallback occurs.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): fall back from missing thread replies
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8030…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-80306 with ma…
- PR branch already contained follow-up commit before automerge: fix(ci): satisfy stricter lint and test types
- PR branch already contained follow-up commit before automerge: fix(ci): align Node 24 test typing

Validation:
- ClawSweeper review passed for head 93146f9d13.
- Required merge gates passed before the squash merge.

Prepared head SHA: 93146f9d13
Review: https://github.com/openclaw/openclaw/pull/80306#issuecomment-4415604729

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-10 16:41:51 +00:00
Ayaan Zaidi
345d459143 fix(telegram): unify stale reply context 2026-05-10 21:38:18 +05:30
Peter Steinberger
f3ee9e26f9 test: clear broad mock helper lint 2026-05-10 17:06:15 +01:00
Peter Steinberger
7a0d801bab test: clear telegram webhook broad matchers 2026-05-10 15:59:59 +01:00
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