Commit Graph

47960 Commits

Author SHA1 Message Date
Pavan Kumar Gondhi
5ef8d1ab5e Validate Control UI loopback retry endpoints [AI] (#80900)
* fix: validate loopback retry endpoints

* fix: validate loopback retry endpoints

* docs: add changelog entry for PR merge
2026-05-12 16:06:00 +05:30
Pavan Kumar Gondhi
fd12a48ee1 Harden exported markdown link rendering [AI] (#80902)
* fix: sanitize exported markdown links

* fix: sanitize exported markdown links

* addressing claude review

* docs: add changelog entry for PR merge
2026-05-12 16:05:19 +05:30
Pavan Kumar Gondhi
da6f32bedf fix(gateway): honor minimal discovery mode for wide-area DNS-SD [AI] (#80903)
* fix: respect discovery mode for wide-area cli path

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-12 16:03:50 +05:30
Peter Steinberger
d164f8cc74 test: guard qa matrix mock call assertions 2026-05-12 11:31:18 +01:00
Pavan Kumar Gondhi
889afc7c31 slack: enforce reaction notification policy [AI] (#80907)
* fix: enforce slack reaction notification policy

* addressing claude review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-12 16:00:44 +05:30
Pavan Kumar Gondhi
652f5f9b10 Enforce gateway command scopes by caller context [AI] (#80891)
* fix: enforce gateway command scopes by caller context

* fix: enforce gateway command scopes by caller context

* addressing codex review

* addressing claude review

* addressing claude review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-12 15:59:22 +05:30
Peter Steinberger
be5483f240 test: guard core mock call assertions 2026-05-12 11:29:16 +01:00
Pavan Kumar Gondhi
a4da627da1 Enforce Slack plugin approval button authorization [AI] (#80899)
* fix: enforce slack plugin approval button authorization

* fix: enforce slack plugin approval button authorization

* addressing codex review

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-12 15:56:24 +05:30
Peter Steinberger
97b9d77196 test: guard extension runtime mock calls 2026-05-12 11:24:21 +01:00
Ayaan Zaidi
485e04266c docs(changelog): note telegram html rendering fix (#80977) 2026-05-12 15:54:01 +05:30
Ayaan Zaidi
f6adc78f06 fix(telegram): keep durable html unsanitized 2026-05-12 15:54:01 +05:30
Ayaan Zaidi
b480b29dc7 fix(telegram): preserve supported html replies 2026-05-12 15:54:01 +05:30
Pavan Kumar Gondhi
de47989731 Recognize PowerShell -ec inline commands [AI] (#80893)
* fix: recognize PowerShell -ec inline command flag

* fix: recognize PowerShell -ec inline command flag

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* fix: recognize PowerShell encoded command prefixes

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-12 15:53:10 +05:30
Pavan Kumar Gondhi
6e498a1f62 fix(qqbot): authorize approval button callbacks [AI] (#80892)
* fix: authorize qqbot approval buttons

* fix: authorize qqbot approval buttons

* addressing claude review

* docs: add changelog entry for PR merge
2026-05-12 15:51:13 +05:30
Peter Steinberger
2ec1a27c9f test: guard extension channel mock calls 2026-05-12 11:19:53 +01:00
Peter Steinberger
6a230a108a test: guard extension messaging mock calls 2026-05-12 11:15:37 +01:00
Peter Steinberger
ea05be12b4 test: guard extension provider mock calls 2026-05-12 11:11:04 +01:00
Shakker
7bb2d20303 test: remove duplicate gateway startup case 2026-05-12 11:09:49 +01:00
Peter Steinberger
04139a7d44 test: guard extension app mock calls 2026-05-12 11:07:04 +01:00
Peter Steinberger
7215945b06 test: guard gateway infra mock calls 2026-05-12 11:03:37 +01:00
Peter Steinberger
7a9f770a63 test: guard command model mock calls 2026-05-12 11:00:43 +01:00
Pavan Kumar Gondhi
47eb2d48d4 Scrub streamable MCP redirect headers [AI] (#80906)
* fix: scrub streamable mcp redirect headers

* addressing review-skill

* addressing codex review

* addressing claude review

* docs: add changelog entry for PR merge
2026-05-12 15:28:54 +05:30
Peter Steinberger
e196a43694 test: guard auto reply runner mock calls 2026-05-12 10:58:34 +01:00
Peter Steinberger
81b7d670cd test: guard cron infra ui mock calls 2026-05-12 10:56:25 +01:00
Peter Steinberger
067666df90 test: guard gateway call assertions 2026-05-12 10:53:58 +01:00
Ayaan Zaidi
99598284c1 docs(changelog): credit matrix runtime install fix (#80876) (thanks @kinjitakabe) 2026-05-12 15:22:10 +05:30
Ayaan Zaidi
0792223a87 refactor(matrix): simplify dependency availability check 2026-05-12 15:22:10 +05:30
kinjitakabe
760501fc38 fix(matrix): stop runtime npm install from parent-derived cwd
`ensureMatrixSdkInstalled` previously derived an install `cwd` via fixed
two-segment traversal from `import.meta.url` and spawned `npm install`
(or `pnpm install`) when Matrix packages were missing. Under the
externalized plugin layout the derived path is a scope directory like
`<config>/npm/node_modules/@openclaw`, so npm walks up to the managed
project root and prunes undeclared siblings. Under the legacy bundled
layout it would target `<global-prefix>/lib/node_modules` and could
delete unrelated global CLIs.

Matrix is now a pure availability check: if any required package fails
to resolve, it throws an actionable error pointing the operator at the
supported repair commands (`openclaw plugins update matrix`,
`openclaw doctor --fix`). This matches extensions/AGENTS.md:
"Runtime never installs deps; install/update/doctor are repair points."

The exported signature stays backwards-compatible (all params optional;
`confirm` and `runtime` are accepted but ignored). `resolveMissingMatrixPackages`
gains an optional `resolveFn` seam for testability, mirroring the existing
`ensureMatrixCryptoRuntime` injection pattern.

Fixes #80758.
2026-05-12 15:22:10 +05:30
Peter Steinberger
067e83d121 test: guard command call assertions 2026-05-12 10:50:38 +01:00
Pavan Kumar Gondhi
aeb1ba9a53 fix(memory-wiki): require admin scope for ingest [AI] (#80897)
* fix: require admin scope for wiki ingest

* fix: require admin scope for wiki ingest

* docs: add changelog entry for PR merge

* docs: add changelog entry for PR merge
2026-05-12 15:19:43 +05:30
Pavan Kumar Gondhi
c3f1f0c315 memory-wiki: require write scope for Obsidian search [AI] (#80904)
* fix: require write scope for obsidian search

* docs: add changelog entry for PR merge
2026-05-12 15:18:07 +05:30
Peter Steinberger
768637a595 test: guard auto reply command mock calls 2026-05-12 10:47:16 +01:00
Shakker
163eb08a34 test: require minimax voice catalog 2026-05-12 10:45:45 +01:00
Ayaan Zaidi
47698133f6 fix(matrix): land markdown table default (#80890) (thanks @kinjitakabe) 2026-05-12 15:15:05 +05:30
Ayaan Zaidi
8841a82f5c fix(matrix): clean markdown table default PR 2026-05-12 15:15:05 +05:30
kinjitakabe
09a2d6e571 fix(matrix): default markdown tables to bullets across Matrix clients
Matrix outbound markdown was hitting the shared `resolveMarkdownTableMode`
"code" fallback for every send because the Matrix channel plugin never
declared `defaultMarkdownTableMode` in its `messaging` block at
`extensions/matrix/src/channel.ts:452`. Tables were emitted as
`<pre><code>` fenced blocks across every Matrix client.

This change declares `defaultMarkdownTableMode: "bullets"`, matching the
Signal and WhatsApp precedent at `extensions/signal/src/shared.ts:111`
and `extensions/whatsapp/src/shared.ts:261`. The choice matches the
cross-client compatibility profile the issue filer surveyed:
Element X iOS squashes HTML `<table>` and Element X Android drops cell
text entirely (element-hq/element-x-android#1551), while bullet lists
render cleanly across every Matrix client. Operators wanting the
previous fenced-code rendering can set `channels.matrix.markdown.tables:
"code"` explicitly; clients that do render real tables can opt in with
`channels.matrix.markdown.tables: "off"` (markdown-it's `table` rule is
already enabled by default through the markdown-it default preset, so
raw markdown tables flow through to native HTML tables on that path).

Docs and the changelog entry list Matrix alongside Signal and WhatsApp
as a bullet-default channel.

Fixes #78990.
2026-05-12 15:15:05 +05:30
Peter Steinberger
9d4081b839 test: guard core support mock calls 2026-05-12 10:43:53 +01:00
Peter Steinberger
138421b6c6 test: guard gateway session mock calls 2026-05-12 10:39:47 +01:00
Peter Steinberger
a68b4a5606 test: guard gateway mock calls 2026-05-12 10:36:44 +01:00
Peter Steinberger
17237fc44f test: align release validation expectations 2026-05-12 10:32:29 +01:00
Peter Steinberger
17863b0612 test: guard status command mock calls 2026-05-12 10:31:29 +01:00
Shakker
dc70841f8b test: assert imessage reaction context 2026-05-12 10:29:47 +01:00
Peter Steinberger
7a8d86be27 test: guard doctor command mock calls 2026-05-12 10:29:04 +01:00
Peter Steinberger
b37a71f2af test: guard command mock calls 2026-05-12 10:26:20 +01:00
Shakker
f093033ee8 test: pin silent reply fallback text 2026-05-12 10:23:29 +01:00
Peter Steinberger
8e045f6670 test: guard auto reply mock calls 2026-05-12 10:22:53 +01:00
Peter Steinberger
b42227e476 test: guard whatsapp mock calls 2026-05-12 10:19:51 +01:00
Shakker
54bbf40add test: pin invalid-config restart guidance 2026-05-12 10:17:17 +01:00
Peter Steinberger
22667fb096 test: guard messaging extension mock calls 2026-05-12 10:16:36 +01:00
Shakker
43332ce3fa test: check post-core helper calls 2026-05-12 10:15:22 +01:00