Vincent Koc
7a7549f12f
perf(test): reduce hotspot reload churn ( #59033 )
2026-04-01 22:19:19 +09:00
Ayaan Zaidi
7096819f2b
fix(acpx): retry queue-owner repair without resume-session (thanks @obviyus)
2026-04-01 18:30:38 +05:30
Neerav Makwana
ed482b1ce7
fix: repair queue owner session recovery ( #58669 ) (thanks @neeravmakwana)
...
* fix(acpx): repair queue owner session recovery
* fix(acpx): avoid duplicate queue owner recovery
* fix: repair queue owner session recovery (#58669 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 18:20:23 +05:30
Tomsun28
6433e923d4
fix: add ZAI GLM-5.1 and GLM-5V Turbo support ( #58793 ) (thanks @tomsun28)
...
* provider(zai): add GLM-5.1 and GLM-5V Turbo models
* feat(zai): extract model definition builder for glm-5 forward compat
* test(zai): cover persisted glm-5 dynamic metadata
* fix: add ZAI GLM-5.1 and GLM-5V Turbo support (#58793 ) (thanks @tomsun28)
* fix: preserve ZAI dynamic model transport config (#58793 ) (thanks @tomsun28)
---------
Co-authored-by: gongchao <chao.gong@aminer.cn>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 18:09:02 +05:30
Peter Steinberger
ab3c646bb1
fix: preserve telegram exec approval topic routing
2026-04-01 13:34:50 +01:00
Chinar Amrutkar
74b9f22a42
fix: add Telegram error suppression controls ( #51914 ) (thanks @chinar-amrutkar)
...
* feat(telegram): add error policy for suppressing repetitive error messages
Introduces per-account error policy configuration that can suppress
repetitive error messages (e.g., 429 rate limit, ECONNRESET) to
prevent noisy error floods in Telegram channels.
Closes #34498
* fix(telegram): track error cooldown per message
* fix(telegram): prune expired error cooldowns
* fix: add Telegram error suppression controls (#51914 ) (thanks @chinar-amrutkar)
---------
Co-authored-by: chinar-amrutkar <chinar-amrutkar@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 17:52:28 +05:30
Charles Dusek
32ae841098
feat(web-search): add SearXNG as bundled web search provider plugin ( #57317 )
...
* feat(web-search): add bundled searxng plugin
* test(web-search): cover searxng config wiring
* test(web-search): include searxng in bundled provider inventory
* test(web-search): keep searxng ordering aligned
* fix(web-search): sanitize searxng result rows
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-01 19:24:33 +09:00
Chinar Amrutkar
3f67581e50
fix: retry safe wrapped Telegram send failures ( #51895 ) (thanks @chinar-amrutkar)
...
* fix(telegram): traverse error .cause chain in formatErrorMessage and match grammY HttpError
grammY wraps network failures in HttpError with message
'Network request for ... failed!' and the original error in .cause.
formatErrorMessage only checked err.message, so shouldRetry never
fired for the most common transient failure class.
Changes:
- formatErrorMessage now traverses .cause chain, appending nested
error messages (with cycle protection)
- Added 'Network request' to TELEGRAM_RETRY_RE as belt-and-suspenders
- Added tests for .cause traversal, circular references, and grammY
HttpError retry behavior
Fixes #51525
* style: fix oxfmt formatting in retry-policy.ts
* fix: add braces to satisfy oxlint requirement
* fix(telegram): keep send retries strict
* test(telegram): cover wrapped retry paths
* fix(telegram): retry rate-limited sends safely
* fix: retry safe wrapped Telegram send failures (#51895 ) (thanks @chinar-amrutkar)
* fix: preserve wrapped Telegram rate-limit retries (#51895 ) (thanks @chinar-amrutkar)
---------
Co-authored-by: chinar-amrutkar <chinar-amrutkar@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 15:54:29 +05:30
upupc
d766bfc6b2
fix(memory): preserve session indexing during full reindex ( #39732 )
...
Merged via squash.
Prepared head SHA: 0dbaf5fffb
Co-authored-by: upupc <12829489+upupc@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-04-01 13:12:30 +03:00
Luke
1654c3a851
feat(gateway): make chat history max chars configurable ( #58900 )
...
* feat(gateway): make chat history max chars configurable
* fix(gateway): address review feedback
* docs(changelog): note configurable chat history limits
2026-04-01 21:08:37 +11:00
Vincent Koc
72af92ba4e
qqbot: require explicit allowlist for /bot-logs to prevent info disclosure ( #58895 )
...
* qqbot: harden /bot-logs authorization fallback
* fix(qqbot): harden bot logs allowlist guard
* fix(qqbot): normalize bot logs allowlist entries
2026-04-01 18:40:46 +09:00
Vincent Koc
2d53ffdec1
fix(exec): resolve remote approval regressions ( #58792 )
...
* fix(exec): restore remote approval policy defaults
* fix(exec): handle headless cron approval conflicts
* fix(exec): make allow-always durable
* fix(exec): persist exact-command shell trust
* fix(doctor): match host exec fallback
* fix(exec): preserve blocked and inline approval state
* Doctor: surface allow-always ask bypass
* Doctor: match effective exec policy
* Exec: match node durable command text
* Exec: tighten durable approval security
* Exec: restore owner approver fallback
* Config: refresh Slack approval metadata
---------
Co-authored-by: scoootscooob <zhentongfan@gmail.com>
2026-04-01 02:07:20 -07:00
Peter Steinberger
59c23dee09
refactor(anthropic): move stream wrappers into plugin
2026-04-01 09:21:48 +01:00
Peter Steinberger
9ab3352b1a
fix: avoid duplicate discord resolve logs
2026-04-01 08:14:54 +01:00
yi-bot
e643ba2f5e
fix: preserve telegram topic routing in announce and delivery context
2026-04-01 16:13:24 +09:00
wittam-01
1b94e8ca14
feat: feishu comment event ( #58497 )
...
Merged via squash.
Prepared head SHA: a9dfeb0d62
Co-authored-by: wittam-01 <271711640+wittam-01@users.noreply.github.com>
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com>
Reviewed-by: @odysseus0
2026-04-01 00:12:38 -07:00
chi
cad3da52c9
fix(memory): prefer --mask over --glob for qmd collection pattern flag ( #58736 )
...
* fix(memory): prefer --mask over --glob for qmd collection pattern flag
qmd 2.0.1 silently ignores the --glob flag when creating collections,
causing all patterns (e.g. MEMORY.md, memory.md) to fall back to the
default **/*.md glob. This leads to collection conflicts when multiple
collections target the same workspace directory with different patterns.
The existing flag negotiation logic in addCollection() tries --glob
first (when collectionPatternFlag is null), and since qmd accepts the
flag without error, OpenClaw never falls back to --mask. The result is
that memory-root-{agent} gets created with **/*.md instead of MEMORY.md,
and memory-alt-{agent} fails with a duplicate path+pattern conflict.
Fix: default collectionPatternFlag to '--mask' so the working flag is
tried first. The fallback to --glob is preserved for older qmd versions
that may not support --mask.
* docs(changelog): note qmd collection flag fix
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-01 16:11:56 +09:00
Peter Steinberger
d9a2690535
test: trim mattermost setup cases
2026-04-01 08:03:26 +01:00
Peter Steinberger
035028208f
test: trim line webhook/slack setup prompts
2026-04-01 08:02:26 +01:00
Peter Steinberger
709668ccd1
test: trim line/twitch setup validations
2026-04-01 07:46:25 +01:00
Peter Steinberger
add54e1d26
test: trim low-signal matrix monitor tests
2026-04-01 07:46:25 +01:00
Peter Steinberger
25eaebb9b6
test: drop duplicate telegram/discord command tests
2026-04-01 07:46:25 +01:00
Tars
5f3737f229
fix: auto-enable minimax plugin for API key auth route ( #57127 )
...
Merged via squash.
Prepared head SHA: 5782b26738
Co-authored-by: tars90percent <252094836+tars90percent@users.noreply.github.com>
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com>
Reviewed-by: @odysseus0
2026-03-31 22:52:19 -07:00
Kenny Xie
e1d963ed2e
fix: bound discord inbound media downloads ( #58593 ) (thanks @aquaright1)
...
* fix(discord): bound attachment downloads by timeout
* fix(ci): unblock check and clarify discord timeouts
* fix: bound discord inbound media downloads (#58593 ) (thanks @aquaright1)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 10:59:58 +05:30
Josh Lehman
5836ddea3f
test: fix amazon-bedrock extension test boundary ( #58753 )
...
* Tests: stop amazon-bedrock from importing private core plugin types
* Config: refresh generated doc baseline
2026-03-31 22:24:38 -07:00
Marcus Castro
ac6db066d3
feat(whatsapp): add reaction guidance levels ( #58622 )
...
* WhatsApp: add reaction guidance policy
* WhatsApp: expose reaction guidance to agents
2026-04-01 01:42:10 -03:00
Owen Wang
21403a3898
fix(whatsapp): pass Timestamp to finalizeInboundContext ( #58590 )
...
Merged via squash.
Prepared head SHA: 74aa9a1408
Co-authored-by: Maninae <9339187+Maninae@users.noreply.github.com>
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Reviewed-by: @mcaxtr
2026-04-01 01:02:23 -03:00
Jamil Zakirov
69685f99fe
fix: preserve Telegram local Bot API MIME types ( #54603 ) (thanks @jzakirov)
...
* fix(telegram): preserve content type for local Bot API media files
* fix: preserve Telegram local Bot API MIME types (#54603 ) (thanks @jzakirov)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-01 09:08:31 +05:30
Peter Steinberger
54f2c8e939
test: merge mattermost setup registration checks
2026-04-01 03:17:10 +01:00
Peter Steinberger
6e2738ef00
test: merge kilocode provider registration coverage
2026-04-01 03:13:26 +01:00
Peter Steinberger
a59f2f43b6
test: drop thread-ownership hook registration smoke
2026-04-01 03:12:19 +01:00
Peter Steinberger
3c6e0cfe25
test: drop feishu plugin registration smoke
2026-04-01 03:11:33 +01:00
Peter Steinberger
8076c78b2e
test: drop subagent hook registration smokes
2026-04-01 03:10:47 +01:00
Peter Steinberger
5e371fe875
test: drop discord command registration smoke
2026-04-01 03:09:52 +01:00
Peter Steinberger
6e773cc3b6
test: drop webhook registration smokes
2026-04-01 03:08:33 +01:00
Peter Steinberger
35c9372dc4
test: merge diffs registration smoke into config defaults
2026-04-01 03:05:46 +01:00
Peter Steinberger
5c27f15fe6
test: drop browser plugin registration smoke
2026-04-01 03:03:27 +01:00
Peter Steinberger
4765ce3ad7
test: drop low-signal extension registration smokes
2026-04-01 03:02:40 +01:00
Peter Steinberger
73ead2425b
test: drop redundant web search registration smokes
2026-04-01 02:57:08 +01:00
Peter Steinberger
219116e862
test: drop redundant status-issues skip checks
2026-04-01 02:32:55 +01:00
Peter Steinberger
09c03fcfed
test: drop low-signal memory plugin metadata check
2026-04-01 02:30:53 +01:00
Peter Steinberger
0614d992a4
test: drop redundant openai registration smoke
2026-04-01 02:26:50 +01:00
Peter Steinberger
f9c18186a8
test: move openai live smoke to live suite
2026-04-01 02:24:12 +01:00
Peter Steinberger
1226361c6d
test: move memory lancedb live smoke to live suite
2026-04-01 02:18:20 +01:00
Peter Steinberger
beb2171ab5
test: move openrouter live test to live suite
2026-04-01 02:15:35 +01:00
Zhang
d2663262d4
Fix broken URL in Twitch extension README ( #58563 )
...
Remove stray `%20` (URL-encoded space) from the StreamWeasels username-to-ID
converter link, which caused a 404 when clicked.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:10:28 -04:00
zssggle-rgb
a37c66906c
fix(acpx): retry backend health probes after ensure ( #58612 )
...
* fix(acpx): retry backend health probes after ensure
* fix(acpx): keep doctor checks diagnostic-only
2026-03-31 21:10:09 -04:00
zssggle-rgb
8e0f495197
fix(acpx): preserve control command error details ( #58613 )
2026-03-31 21:10:04 -04:00
Sharoon Sharif
7941f21bef
fix(voice-call): clear connection timeout on successful STT connect ( #58586 )
...
The 10-second connection timeout in OpenAIRealtimeSTTSession.doConnect()
was never cleared on success or teardown, leaking a timer on every
connection and accumulating stale timers across reconnect cycles.
Store the timeout handle and clear it in both the open handler and
close(), matching the existing clearTimeout pattern in
waitForTranscript().
Co-authored-by: Sharoon Sharif <ssharif@Hosanna.local>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:10:02 -04:00
zssggle-rgb
187d3ed053
fix(acpx): fall back to PATH node for shebang wrappers ( #58614 )
2026-03-31 21:09:58 -04:00