openclaw/extensions
thepagent 0ee11d3321
feat: add --force-document to message.send for Telegram (bypass sendPhoto + image optimizer) (#45111)
* feat: add --force-document to message.send for Telegram

Adds --force-document CLI flag to bypass sendPhoto and use sendDocument
instead, avoiding Telegram image compression for PNG/image files.

- TelegramSendOpts: add forceDocument field
- send.ts: skip sendPhoto when forceDocument=true (mediaSender pattern)
- ChannelOutboundContext: add forceDocument field
- telegramOutbound.sendMedia: pass forceDocument to sendMessageTelegram
- ChannelHandlerParams / DeliverOutboundPayloadsCoreParams: add forceDocument
- createChannelOutboundContextBase: propagate forceDocument
- outbound-send-service.ts: add forceDocument to executeSendAction params
- message-action-runner.ts: read forceDocument from params
- message.ts: add forceDocument to MessageSendParams
- register.send.ts: add --force-document CLI option

* fix: pass forceDocument through telegram action dispatch path

The actual send path goes through dispatchChannelMessageAction ->
telegramMessageActions.handleAction -> handleTelegramAction, not
deliverOutboundPayloads. forceDocument was not being read in
readTelegramSendParams or passed to sendMessageTelegram.

* fix: apply forceDocument to GIF branch to avoid sendAnimation

* fix: add disable_content_type_detection=true to sendDocument for --force-document

* fix: add forceDocument to buildSendSchema for agent discoverability

* fix: scope telegram force-document detection

* test: fix heartbeat target helper typing

* fix: skip image optimization when forceDocument is set

* fix: persist forceDocument in WAL queue for crash-recovery replay

* test: tighten heartbeat target test entry typing

---------

Co-authored-by: thepagent <thepagent@users.noreply.github.com>
Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-03-14 19:43:49 +08:00
..
acpx build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
bluebubbles build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
copilot-proxy build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
device-pair refactor: share device pair ipv4 parsing 2026-03-13 23:35:27 +00:00
diagnostics-otel build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
diffs build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
discord refactor: remove channel shim directories, point all imports to extensions (#45967) 2026-03-14 03:43:07 -07:00
feishu build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
google-gemini-cli-auth build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
googlechat build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
imessage refactor: move iMessage channel to extensions/imessage (#45539) 2026-03-14 02:44:23 -07:00
irc build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
line build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
llm-task build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
lobster build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
matrix refactor: make OutboundSendDeps dynamic with channel-ID keys (#45517) 2026-03-14 02:42:21 -07:00
mattermost fix(mattermost): carry thread context to non-inbound reply paths (#44283) 2026-03-14 12:23:23 +05:30
memory-core build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
memory-lancedb build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
minimax-portal-auth build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
msteams refactor: make OutboundSendDeps dynamic with channel-ID keys (#45517) 2026-03-14 02:42:21 -07:00
nextcloud-talk build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
nostr build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
ollama build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
open-prose build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
phone-control test: share plugin api test harness 2026-03-14 02:40:27 +00:00
qwen-portal-auth refactor(extensions): reuse shared helper primitives 2026-03-07 10:41:05 +00:00
sglang build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
shared fix(ci): repair helper typing regressions 2026-03-14 03:22:53 +00:00
signal refactor(signal): move Signal channel code to extensions/signal/src/ (#45531) 2026-03-14 02:42:48 -07:00
slack refactor: remove channel shim directories, point all imports to extensions (#45967) 2026-03-14 03:43:07 -07:00
synology-chat build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
talk-voice fix(discord): avoid native plugin command collisions 2026-03-07 21:59:44 +00:00
telegram feat: add --force-document to message.send for Telegram (bypass sendPhoto + image optimizer) (#45111) 2026-03-14 19:43:49 +08:00
test-utils fix(ci): repair helper typing regressions 2026-03-14 03:22:53 +00:00
thread-ownership test: dedupe thread ownership send checks 2026-03-13 23:35:27 +00:00
tlon build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
twitch build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
vllm build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
voice-call build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
whatsapp refactor: remove channel shim directories, point all imports to extensions (#45967) 2026-03-14 03:43:07 -07:00
zalo build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
zalouser build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
.npmignore fix: harden windows npm runtime path 2026-03-12 23:03:19 +00:00