openclaw/extensions
Yuval Dinodia 89881b6611
fix(irc): long non-ASCII messages are silently truncated at the 512-byte line limit (#99138)
* fix(irc): chunk PRIVMSG by UTF-8 byte budget so long non-ASCII messages are not truncated

IRC caps a full protocol line at 512 bytes, but sendPrivmsg split outbound
text by UTF-16 code units against the 350 char default. Multi-byte text such
as CJK or emoji produced lines far beyond 512 bytes and servers silently
dropped the tail of every oversized chunk. The chunker now also enforces a
UTF-8 byte budget derived from the line framing overhead, splitting on code
point boundaries and preferring spaces, while ASCII chunking is unchanged.

* test(irc): move loopback IRC server helper to shared test helpers

The colocated node:net import tripped the network-runtime-boundary PR diff
scan for extensions/irc/src. The loopback server now lives in test/helpers,
outside the scanned network runtime paths, and the CJK, emoji, and ASCII
chunking cases keep driving the real client over a real TCP socket.

* fix(irc): decouple byte budget from character cap and move loopback helper to irc test-support

The byte budget is now derived only from the 512-byte line limit and framing
overhead, independent of messageChunkMaxChars, so low character caps with
multibyte text keep advancing instead of dropping the message. The loopback
IRC server helper moves from test/helpers to the extension-local package-root
test-support surface so extension tests stay off repo helper bridges and raw
socket use stays outside extensions/irc/src.

* fix(irc): enforce UTF-8 wire limits

* test(irc): satisfy loopback harness lint

* test(irc): avoid implicit Promise return

* test(irc): handle loopback close errors

* fix(irc): preserve boundary word splitting

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-05 22:10:59 +01:00
..
acpx chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
active-memory fix(core): keep backend truncation UTF-16 safe (#100244) 2026-07-05 05:48:35 -07:00
admin-http-rpc chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
alibaba chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
amazon-bedrock chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
amazon-bedrock-mantle refactor(types): remove redundant local aliases (#100061) 2026-07-04 16:34:47 -07:00
anthropic fix: land nine small correctness fixes (#100204) 2026-07-05 01:44:56 -07:00
anthropic-vertex chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
arcee chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
azure-speech chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
bonjour refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
brave refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
browser fix(browser): resolve act targetId aliases before mismatch check (#96178) 2026-07-05 21:12:13 +01:00
byteplus refactor(providers): table-drive paired catalogs (#99777) 2026-07-04 11:35:55 -07:00
canvas chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
cerebras chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
chutes chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
clawrouter fix: harden small runtime and installer edge cases (#100258) 2026-07-05 05:33:11 -07:00
clickclack fix(clickclack): gate provenance stamping behind agentActivity opt-in 2026-07-05 09:32:37 -07:00
cloudflare-ai-gateway chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
codex improve: keep isolated tests under one second (#100019) 2026-07-05 10:57:19 -07:00
codex-supervisor chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
cohere chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
comfy chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
copilot test: speed up and stabilize full suite 2026-07-05 08:00:23 -04:00
copilot-proxy chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
deepgram chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
deepinfra chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
deepseek chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
device-pair fix(pairing): advertise reachable Tailnet routes (#100317) 2026-07-05 07:43:43 -07:00
diagnostics-otel chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
diagnostics-prometheus chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
diffs chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
diffs-language-pack chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
discord [codex] fix discord missing voice state handling (#90969) 2026-07-05 22:10:46 +01:00
document-extract chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
duckduckgo refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
elevenlabs chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
exa refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
fal fix(fal): route grok-imagine and nano-banana-2-lite edits to correct endpoints (#98688) 2026-07-01 20:42:25 -07:00
feishu fix(channels): expose inbound media download failures [AI-assisted] (#100119) 2026-07-04 20:28:52 -04:00
file-transfer chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
firecrawl improve(web-fetch): speed up provider fallback loading (#98559) 2026-07-04 12:47:10 -07:00
fireworks chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
github-copilot chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
gmi chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
google feat(ui): simplify Talk settings (#100453) 2026-07-05 21:31:52 +01:00
google-meet fix(google-meet): bound JSON response body reads to prevent OOM (#98850) 2026-07-05 02:34:08 -04:00
googlechat chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
gradium chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
groq chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
huggingface chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
image-generation-core chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
imessage improve: keep isolated tests under one second (#100019) 2026-07-05 10:57:19 -07:00
inworld fix(inworld): guard voices JSON.parse against malformed API response bodies (#98660) 2026-07-01 08:55:41 -07:00
irc fix(irc): long non-ASCII messages are silently truncated at the 512-byte line limit (#99138) 2026-07-05 22:10:59 +01:00
kilocode chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
kimi-coding chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
line fix(channels): expose inbound media download failures [AI-assisted] (#100119) 2026-07-04 20:28:52 -04:00
litellm chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
llama-cpp chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
llm-task chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
lmstudio chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
lobster refactor(plugin-sdk): consolidate tool result helpers (#99740) 2026-07-04 16:50:44 -07:00
logbook feat(logbook): automatic work journal plugin with Control UI timeline tab (#99930) 2026-07-05 11:50:44 -07:00
matrix test: stabilize load-sensitive test families that break gates under parallel load (#100420) 2026-07-05 12:53:06 -07:00
mattermost test: speed up and stabilize full suite 2026-07-05 08:00:23 -04:00
media-understanding-core chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
memory-core fix: land ten small reliability fixes (#100399) 2026-07-05 11:12:55 -07:00
memory-lancedb chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
memory-wiki fix: land nine small correctness fixes (#100204) 2026-07-05 01:44:56 -07:00
microsoft chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
microsoft-foundry chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
migrate-claude refactor: consolidate core stream cleanup, watchdog locality, and approval text duplication (#99901) 2026-07-04 02:08:35 -07:00
migrate-hermes refactor: consolidate core stream cleanup, watchdog locality, and approval text duplication (#99901) 2026-07-04 02:08:35 -07:00
minimax Preserve provider settings during onboarding updates (#100107) 2026-07-05 21:49:58 +01:00
mistral chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
moonshot refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
msteams fix(channels): expose inbound media download failures [AI-assisted] (#100119) 2026-07-04 20:28:52 -04:00
nextcloud-talk fix(release): use workspace host deps in release lockfile 2026-06-30 15:54:12 -07:00
nostr refactor: consolidate exact keyed async queues (#99691) 2026-07-04 16:45:07 -07:00
novita chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
nvidia refactor(plugins): consolidate record guards (#99361) 2026-07-02 22:12:53 -07:00
oc-path chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
ollama chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
open-prose chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
openai fix(voice-call): avoid OpenAI realtime double greeting (#86285) 2026-07-05 21:13:20 +01:00
opencode chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
opencode-go fix(agents): time out local streams without first event (#98525) 2026-07-01 23:01:46 +08:00
openrouter refactor: consolidate image data URL formatting (#99715) 2026-07-03 17:09:30 -07:00
openshell chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
parallel refactor(plugins): consolidate record guards (#99361) 2026-07-02 22:12:53 -07:00
perplexity refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
phone-control refactor: consolidate duplicated plugin state and doctor migration plumbing onto SDK seams (#99850) 2026-07-04 01:51:03 -07:00
pixverse fix(release): use workspace host deps in release lockfile 2026-06-30 15:54:12 -07:00
policy policy: repair automatic narrowing findings (#99690) 2026-07-05 08:11:38 -07:00
qa-channel fix(build): restore package artifact declarations (#100249) 2026-07-05 02:22:11 -07:00
qa-lab improve: keep isolated tests under one second (#100019) 2026-07-05 10:57:19 -07:00
qa-matrix test(qa): record Matrix route state inventory (#100039) 2026-07-04 11:48:18 -07:00
qianfan chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
qqbot test: speed up and stabilize full suite 2026-07-05 08:00:23 -04:00
qwen chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
raft fix(release): use workspace host deps in release lockfile 2026-06-30 15:54:12 -07:00
runway chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
searxng refactor(shared): consolidate provider and utility lazy loaders (#98749) 2026-07-02 21:16:26 -07:00
senseaudio chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
sglang chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
signal fix(channels): expose inbound media download failures [AI-assisted] (#100119) 2026-07-04 20:28:52 -04:00
slack fix(slack): reconcile ambiguous sends before replay (#97480) 2026-07-05 01:48:57 -07:00
sms fix(sms): strip internal tool traces from replies 2026-07-01 04:12:55 -07:00
stepfun chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
synology-chat chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
synthetic chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
talk-voice fix(voice): require admin for voice set (#97874) 2026-06-29 15:41:26 -07:00
tavily chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
telegram improve: keep isolated tests under one second (#100019) 2026-07-05 10:57:19 -07:00
tencent chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
test-support Bound successful provider response reads 2026-06-24 19:08:22 -05:00
thread-ownership
tlon chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
together refactor: consolidate image data URL formatting (#99715) 2026-07-03 17:09:30 -07:00
tokenjuice refactor(plugins): consolidate record guards (#99361) 2026-07-02 22:12:53 -07:00
tts-local-cli chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
twitch chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
venice chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
vercel-ai-gateway test(vercel-ai-gateway): complete guarded fetch fixtures 2026-07-01 19:49:38 -07:00
video-generation-core chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
vllm chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
voice-call fix(voice-call): resolve completed calls from the persisted store on status misses (#99797) 2026-07-05 12:05:01 -07:00
volcengine refactor(providers): table-drive paired catalogs (#99777) 2026-07-04 11:35:55 -07:00
voyage chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
vydra chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
web-readability improve(web-fetch): speed up provider fallback loading (#98559) 2026-07-04 12:47:10 -07:00
webhooks refactor(security): consolidate secret primitives (#99746) 2026-07-04 16:38:13 -07:00
whatsapp test: stabilize load-sensitive test families that break gates under parallel load (#100420) 2026-07-05 12:53:06 -07:00
workboard chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
xai refactor: extract reusable AI runtime package (#99059) 2026-07-05 01:56:40 -04:00
xiaomi chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
zai chore(release): close out 2026.6.11 on main 2026-06-30 11:31:08 -07:00
zalo improve: keep isolated tests under one second (#100019) 2026-07-05 10:57:19 -07:00
zalouser refactor(plugin-sdk): consolidate tool result helpers (#99740) 2026-07-04 16:50:44 -07:00
.npmignore
AGENTS.md
CLAUDE.md
music-generation-providers.live.test.ts
tsconfig.package-boundary.base.json
tsconfig.package-boundary.paths.json refactor: extract reusable AI runtime package (#99059) 2026-07-05 01:56:40 -04:00
video-generation-providers.live.test.ts