Commit Graph

10718 Commits

Author SHA1 Message Date
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
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
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
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
Peter Steinberger
04139a7d44 test: guard extension app mock calls 2026-05-12 11:07:04 +01:00
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
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
Shakker
163eb08a34 test: require minimax voice catalog 2026-05-12 10:45:45 +01:00
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
17237fc44f test: align release validation expectations 2026-05-12 10:32:29 +01:00
Shakker
dc70841f8b test: assert imessage reaction context 2026-05-12 10:29:47 +01:00
Peter Steinberger
b42227e476 test: guard whatsapp mock calls 2026-05-12 10:19:51 +01:00
Peter Steinberger
22667fb096 test: guard messaging extension mock calls 2026-05-12 10:16:36 +01:00
Peter Steinberger
cce9a9ef2a test: guard mixed extension mock calls 2026-05-12 10:10:52 +01:00
Peter Steinberger
1e46929d3e test: guard matrix mock calls 2026-05-12 10:07:36 +01:00
Peter Steinberger
b3ded351e3 test: guard extension provider mock calls 2026-05-12 10:04:45 +01:00
Peter Steinberger
a765668e63 test: guard extension one-hit mock calls 2026-05-12 10:00:29 +01:00
Shakker
f34faf2f1c test: check diagnostics metric payloads 2026-05-12 09:20:29 +01:00
Mariano
d728ff8183 fix(codex): release quiet completed app-server turns (#80776)
Merged via squash.

Prepared head SHA: 59baf4110b

Reviewed-by: @mbelinky
2026-05-12 09:39:09 +02:00
Peter Steinberger
a4784c955e build: refresh canvas a2ui bundle hash 2026-05-12 07:31:57 +01:00
Peter Steinberger
f6d787cc5c build: hard-pin dependency specs 2026-05-12 07:10:13 +01:00
Kaspre
e30e4d1cfa test(extensions): narrow post-rebase type assertions 2026-05-12 07:08:38 +01:00
Neerav Makwana
0ac4837878 fix(media): default terminal QR to full-block output (#77820)
Avoid node-qrcode compact (small) terminal mode, which emits a dense
ANSI final row that breaks scanning on some terminals.

Covers WhatsApp/Feishu login flows and the pairing QR CLI path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 07:03:12 +01:00
Peter Steinberger
2dc0072547 build: refresh canvas a2ui bundle hash 2026-05-12 06:51:48 +01:00
remdev
a3e534c677 fix(openrouter): address stt review follow-ups
Map `.mp4` filename fallback to `m4a` so audio attachments with missing MIME resolve correctly, and fix changelog attribution formatting flagged in PR review.
2026-05-12 06:50:12 +01:00
remdev
f756b9a6f1 fix(openrouter): normalize stt mime parsing 2026-05-12 06:50:12 +01:00
remdev
5c87b692cb feat(openrouter): add inbound audio STT support 2026-05-12 06:50:12 +01:00
Peter Steinberger
c98698aa0e chore: release 2026.5.12-beta.1 2026-05-12 06:33:41 +01:00
Peter Steinberger
f55491b208 chore: update dependencies 2026-05-12 06:31:48 +01:00
Ayaan Zaidi
4b40daf0ee test(active-memory): clean threaded DM coverage 2026-05-12 10:32:12 +05:30
vyctorbrzezowski
1ee29fb0ae fix(active-memory): classify threaded telegram dms 2026-05-12 10:32:12 +05:30
Andy Ye
7624b0d16d fix(imessage): surface Full Disk Access probe failures
Preserve canonical iMessage Full Disk Access probe failures through non-sensitive health snapshots and status output, promote imsg denial banners to the public remediation message, and add a narrow audit exception for the reviewed Mistral advisory false-positive.
2026-05-11 21:41:08 -07:00
Peter Steinberger
339b0e164f fix: normalize gemini provider catalog defaults 2026-05-12 04:14:35 +01:00
Peter Steinberger
e87fd7aa30 fix: normalize google gemini preview config 2026-05-12 03:36:58 +01:00
Peter Steinberger
9fd5cf48a6 test: guard tlon sse mock calls 2026-05-12 03:20:55 +01:00
Peter Steinberger
dea633e7dd test: guard foundry provider mock call 2026-05-12 03:19:53 +01:00
Peter Steinberger
8bddf0efe1 test: guard voice-call realtime mock calls 2026-05-12 03:14:40 +01:00
Peter Steinberger
0d4e6676dc test: guard voice-call webhook mock calls 2026-05-12 03:12:50 +01:00
Peter Steinberger
899730dad6 test: guard voice-call response mock calls 2026-05-12 03:10:46 +01:00
Peter Steinberger
8d35fc2197 test: guard voice-call notify mock calls 2026-05-12 03:09:24 +01:00
Peter Steinberger
7863643dac test: guard voice-call runtime mock calls 2026-05-12 03:08:10 +01:00