openclaw/extensions
mikasa 644645f4f9
fix #95291: message tool fails to deliver files/images on Feishu (400 volc-dcdn / write ECONNRESET) while same Lark SDK upload succeeds standalone (#95514)
* fix(feishu): normalize media upload multipart data

Convert Feishu SDK multipart Buffer upload parts into explicit FormData
before they reach the wrapped HTTP transport. The SDK upload helpers
pass multipart data as a plain object with Buffer media parts; relying on
implicit serialization in the timeout/proxy-aware HTTP wrapper was fragile
and caused file/image delivery failures (400 volc-dcdn / write ECONNRESET)
even though the same credentials succeeded via a standalone SDK upload.

Adds normalizeMultipartUploadData, applied on the request path of the
shared Feishu HTTP instance, plus a regression test covering the
multipart-to-FormData normalization.

Rebased onto current origin/main, which replaced the old synchronous
injectTimeout path with the async proxy-aware injectRequestOptions flow;
the multipart normalization is now applied before that flow.

* fix(feishu): scope multipart media normalization

* test(feishu): mark multipart auth fixture synthetic

* test(feishu): use field-shaped secret fixtures

* fix(feishu): validate multipart upload endpoints

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-20 23:31:03 -07:00
..
acpx fix(acpx): verify native platform packages (#111682) 2026-07-20 12:57:54 -06:00
active-memory feat: bound transcript reads across replacements (#110374) 2026-07-18 11:41:39 -07:00
admin-http-rpc fix(admin-http-rpc): time out incomplete request bodies (#104564) 2026-07-20 20:40:12 -07:00
alibaba
amazon-bedrock refactor(agents): make API registry ownership lifecycle-local (#111137) 2026-07-18 20:55:07 -07:00
amazon-bedrock-mantle fix(amazon-bedrock): ignore blank region env overrides (#110676) 2026-07-18 22:38:51 +01:00
anthropic fix(anthropic): complete transcript reverse-scan windows across short reads (#109431) 2026-07-20 23:17:18 -07:00
anthropic-vertex fix: reject oversized credential files in remaining readers (#109260) 2026-07-16 11:33:18 -07:00
arcee fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
azure-speech refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
baseten refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
bonjour
brave refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
browser test(browser): add cross-operation tab reference parity contract (#111375) 2026-07-20 11:56:57 +08:00
byteplus fix: bound pasted input and provider response bodies (#110627) 2026-07-18 13:54:56 +01:00
canvas fix(canvas): reject malformed snapshot base64 (#108987) 2026-07-20 19:32:25 -07:00
cerebras fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
chutes fix(chutes): report cache-read pricing from live catalog (#111253) 2026-07-19 19:56:42 -07:00
clawrouter fix(clawrouter): reject invalid UTF-8 usage responses (#111183) 2026-07-20 21:31:08 -07:00
clickclack fix(clickclack): redact REST error details (#106635) 2026-07-20 20:17:59 -07:00
cloudflare-ai-gateway
codex fix(codex): stream sandbox file copies (#101511) 2026-07-20 23:03:04 -07:00
cohere
comfy refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
copilot refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
copilot-proxy fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
crabbox
deepgram refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
deepinfra refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
deepseek refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
device-pair
diagnostics-otel fix(diagnostics-otel): classify model calls as client spans (#104211) 2026-07-18 18:21:45 -07:00
diagnostics-prometheus feat: trace Claude Code CLI model calls (#108304) 2026-07-18 06:23:49 +10:00
diffs refactor(diffs): move ephemeral artifacts to SQLite (#109328) 2026-07-16 16:47:19 -07:00
diffs-language-pack
discord refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
document-extract
duckduckgo fix(duckduckgo): preserve words around highlighted matches (#111460) 2026-07-19 19:09:09 -07:00
elevenlabs fix(stt-live-audio): cancel ElevenLabs error response body (#110759) 2026-07-18 21:48:04 +01:00
exa refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
fal
featherless refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
feishu fix #95291: message tool fails to deliver files/images on Feishu (400 volc-dcdn / write ECONNRESET) while same Lark SDK upload succeeds standalone (#95514) 2026-07-20 23:31:03 -07:00
file-transfer fix(file-transfer): denyPaths does not deny listing the denied directory itself (#109233) 2026-07-16 22:22:01 -07:00
firecrawl fix(firecrawl): reject malformed 2xx response envelopes (#111210) 2026-07-19 20:41:48 -07:00
fireworks fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
github-copilot fix(github-copilot): strip encrypted_content from reasoning replay items (#95493) 2026-07-20 22:31:39 -07:00
gmi
google fix(google): keep embedding batch waits within timeout (#111674) 2026-07-20 11:46:06 +03:00
google-meet fix: honor configured default agent in consults (#111749) 2026-07-20 01:43:00 -07:00
googlechat refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
gradium refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
groq fix(groq): keep default Llama agent turns within TPM limit (#104904) 2026-07-18 20:00:12 -04:00
huggingface fix(huggingface): discover models when HTTP proxy is required (#110924) 2026-07-18 21:31:24 +01:00
image-generation-core
imessage feat(channels): batch 3 producers drop media placeholder bodies (#111800) 2026-07-20 04:22:44 -07:00
inworld fix(inworld): reject malformed base64 TTS audio (#111197) 2026-07-19 20:48:46 -04:00
irc refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
kilocode fix(kilocode): cancel failed model discovery bodies (#109950) 2026-07-20 19:09:34 -07:00
kimi-coding fix(providers): refresh zai/kimi/moonshot/xai catalogs against July 2026 vendor docs (#109666) 2026-07-16 22:41:03 -07:00
line refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
linux-canvas
linux-node
litellm fix(litellm): guard loopback hostname auto-allow with isIP to prevent DNS SSRF bypass (#110693) 2026-07-19 00:51:50 +01:00
llama-cpp fix(llama-cpp): preserve runtime asset paths (#110233) 2026-07-17 16:36:05 -07:00
llm-task
lmstudio fix(onboard): verify imported and local inference (#112028) 2026-07-20 21:35:22 -07:00
lobster
logbook fix(logbook): bound snapshot subprocesses (#109042) 2026-07-20 21:39:41 -07:00
longcat
matrix refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
mattermost refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
media-understanding-core
memory-core fix(memory-core): guard invalid timestamps in dreaming rankings (#110537) 2026-07-20 21:59:41 -07:00
memory-lancedb refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
memory-wiki fix(memory-wiki): preserve unavailable source pages (#111034) 2026-07-19 00:39:23 +01:00
meta refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
microsoft fix(microsoft): keep valid voices from malformed catalogs (#110784) 2026-07-20 18:56:52 -07:00
microsoft-foundry fix(microsoft-foundry): keep spawn pipe streams UTF-8 safe across chunk splits (#109499) 2026-07-20 18:51:12 -07:00
migrate-claude fix(migrate): harden importer path resolution and memory copy safety (#109314) 2026-07-16 12:56:43 -07:00
migrate-hermes refactor(config): config-surface reduction tranche 1 — retire dead keys, dedupe channel schemas, add growth ratchet (#111142) 2026-07-19 00:52:37 -07:00
minimax refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
mistral refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
moonshot refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
msteams refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
mxc improve(mxc): document sandbox config options and flag network access as dangerous (#110256) 2026-07-21 08:59:51 +09:00
nextcloud-talk refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
nostr fix(nostr): prefixed targets fail to send (#110881) 2026-07-20 04:21:49 -07:00
novita
nvidia fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
oc-path fix(oc-path): reject oversized multibyte JSONC input (#104140) 2026-07-18 17:47:15 -07:00
ollama fix(onboard): verify imported and local inference (#112028) 2026-07-20 21:35:22 -07:00
onepassword fix(onepassword): disable desktop-app integration on broker op calls (#109157) 2026-07-16 09:15:03 -07:00
open-prose
openai refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
opencode refactor(protocol): pre-publish cheat-window cleanup and vintage tracking (#111041) 2026-07-19 04:07:15 -07:00
opencode-go
openrouter fix(providers): reject malformed UTF-8 usage responses (#112081) 2026-07-20 22:16:25 -07:00
openshell
parallel refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
perplexity refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
phone-control
pixverse refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
policy feat(policy): check authored message routing (#111087) 2026-07-20 17:31:29 -07:00
qa-channel fix(qa): repair WhatsApp live scenario regressions (#110754) 2026-07-19 01:43:38 -03:00
qa-lab fix(qa-lab-web): guard dashboard json responses (#108943) 2026-07-20 23:12:46 -07:00
qianfan
qqbot refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
qwen fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
raft refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
reef fix: make Back work within channel setup (#108007) 2026-07-20 14:34:05 +10:00
runway fix: bound pasted input and provider response bodies (#110627) 2026-07-18 13:54:56 +01:00
searxng
senseaudio refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
sglang
signal fix(signal): report malformed release metadata cleanly (#110824) 2026-07-20 05:19:34 -07:00
slack fix(deps): update axios past proxy advisory (#111984) 2026-07-21 09:21:14 +09:00
sms fix(sms): trim prefixed phone number spacing (#111111) 2026-07-20 02:29:06 -07:00
stepfun
synology-chat fix(synology-chat): ignore blank env fallbacks (#109495) 2026-07-20 19:40:45 -07:00
synthetic fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
talk-voice
tavily refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
teams-meetings fix(teams-meetings): expose listening probe timeout (#111486) 2026-07-20 23:39:27 +08:00
telegram fix(telegram): clear generic callback buttons after click (#90169) 2026-07-20 22:28:21 -07:00
tencent
test-support refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
thread-ownership fix(thread-ownership): cancel unread ownership response bodies (#111231) 2026-07-19 20:48:44 -07:00
tlon fix(tlon): stop monitor tracking state from growing forever (#103658) 2026-07-20 22:00:47 -07:00
together fix: bound pasted input and provider response bodies (#110627) 2026-07-18 13:54:56 +01:00
tokenjuice
tts-local-cli
twitch refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
vault fix(vault): aggregate provider outage diagnostics (#110908) 2026-07-18 22:44:06 +01:00
venice fix(providers): reject malformed UTF-8 usage responses (#112081) 2026-07-20 22:16:25 -07:00
vercel-ai-gateway
video-generation-core
vllm
voice-call fix: honor configured default agent in consults (#111749) 2026-07-20 01:43:00 -07:00
volcengine fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
voyage
vydra refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
web-readability
webhooks fix(webhooks): keep routes cold when SecretRefs are unavailable (#109715) 2026-07-16 23:56:59 -07:00
whatsapp refactor(media): consolidate parallel media-kind unions onto canonical MediaKind (#112063) 2026-07-20 22:27:22 -07:00
workboard feat(dashboard): plugin-declared widget data bindings and action verbs (#112083) 2026-07-20 22:43:04 -07:00
xai refactor: move provider transports into packages/ai behind a typed host port (#111669) 2026-07-20 23:26:00 -07:00
xiaomi refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
zai fix(errors): recover from Z.AI token-limit errors (#111744) 2026-07-20 17:11:40 +03:00
zalo fix(zalo): strip internal tool traces (#103377) 2026-07-20 21:36:35 -07:00
zalouser perf(state): cap the per-agent SQLite handle cache with LRU eviction (#111411) 2026-07-19 13:58:01 -07:00
zoom-meetings fix: honor configured default agent in consults (#111749) 2026-07-20 01:43:00 -07:00
.npmignore
AGENTS.md
CLAUDE.md
music-generation-providers.live.test.ts refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00
tsconfig.package-boundary.base.json
tsconfig.package-boundary.paths.json refactor: move provider transports into packages/ai behind a typed host port (#111669) 2026-07-20 23:26:00 -07:00
video-generation-providers.live.test.ts refactor: reduce plugin SDK test import overhead (#109333) 2026-07-16 13:55:23 -07:00