Commit Graph

1054 Commits

Author SHA1 Message Date
Shakker
4cfbfc73e0 test: splice matrix notice bodies 2026-05-12 21:25:33 +01:00
Peter Steinberger
c299249b4f test: dedupe matrix media failure mock reads 2026-05-12 21:05:11 +01:00
Shakker
75001adc7e test: carry matrix chunk config 2026-05-12 21:04:17 +01:00
Peter Steinberger
fd75588190 test: dedupe matrix profile mock reads 2026-05-12 21:03:11 +01:00
Shakker
e7c1d10f1d test: seal matrix logger redaction 2026-05-12 18:49:37 +01:00
Shakker
f054295e48 test: bind matrix mention html output 2026-05-12 18:45:40 +01:00
Shakker
45cf560f4e test: tighten matrix markdown html basics 2026-05-12 18:44:47 +01:00
Peter Steinberger
72d9ea3b76 test: dedupe matrix send mock calls 2026-05-12 17:13:20 +01:00
Peter Steinberger
7121791735 test: dedupe matrix client mock calls 2026-05-12 15:59:47 +01:00
Peter Steinberger
3b45ad6960 test: dedupe matrix device mock calls 2026-05-12 14:48:14 +01:00
Peter Steinberger
a45b96fd88 test: dedupe matrix message mock calls 2026-05-12 14:46:43 +01:00
Peter Steinberger
3303b2fc05 test: dedupe matrix monitor mock calls 2026-05-12 14:18:27 +01:00
Peter Steinberger
7187d2754e test: dedupe matrix group history mock calls 2026-05-12 13:18:08 +01:00
Peter Steinberger
f7f9312c7a test: dedupe matrix replies send mock calls 2026-05-12 12:59:22 +01:00
Peter Steinberger
8a051395b7 test: dedupe matrix handler send mock calls 2026-05-12 12:42:04 +01:00
Peter Steinberger
74fbbf503f test: dedupe matrix approval mock calls 2026-05-12 12:37:16 +01:00
Peter Steinberger
f82b9adfb1 test: guard matrix send mock calls 2026-05-12 11:52:11 +01:00
Peter Steinberger
2ec1a27c9f test: guard extension channel mock calls 2026-05-12 11:19:53 +01:00
Peter Steinberger
ea05be12b4 test: guard extension provider mock calls 2026-05-12 11:11: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
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
1e46929d3e test: guard matrix mock calls 2026-05-12 10:07:36 +01:00
Peter Steinberger
f6d787cc5c build: hard-pin dependency specs 2026-05-12 07:10:13 +01:00
Peter Steinberger
c98698aa0e chore: release 2026.5.12-beta.1 2026-05-12 06:33:41 +01:00
Peter Steinberger
8577570cf3 test: guard matrix cli mock calls 2026-05-12 00:29:38 +01:00
Peter Steinberger
6eccb0d3bf test: guard extension helper null checks 2026-05-11 21:18:51 +01:00
Peter Steinberger
faa74ac1e8 test: guard extension channel helpers 2026-05-11 21:04:13 +01:00
Peter Steinberger
880530dd9f test: guard matrix call assertions 2026-05-11 19:46:12 +01:00
Peter Steinberger
cd9f0b97f8 test: guard matrix helper assertions 2026-05-11 19:44:42 +01:00
Peter Steinberger
8f1c044e7e test: guard plugin record helpers 2026-05-11 19:10:49 +01:00
Shakker
561c19cb58 test: verify plugin warning messages 2026-05-11 16:40:07 +01:00
Shakker
b58ee9eee2 test: check matrix verification block logs 2026-05-11 15:56:31 +01:00
Peter Steinberger
1ff126c682 test: tighten plugin tool payload assertions 2026-05-11 11:46:51 +01:00
Shakker
63649bbbff test: assert matrix monitor payloads 2026-05-11 11:39:46 +01:00
Shakker
21e0f60890 test: assert matrix startup directory calls 2026-05-11 11:38:04 +01:00
Shakker
0f83118dfd test: assert matrix registration calls 2026-05-11 11:36:31 +01:00
Shakker
bc338a4019 test: assert matrix config storage calls 2026-05-11 11:35:27 +01:00
Shakker
5a4201fd86 test: assert matrix client error shapes 2026-05-11 11:33:23 +01:00
Shakker
8de5a3e2b8 test: assert matrix profile action calls 2026-05-11 11:30:41 +01:00
Shakker
8a13d09b3a test: assert matrix recovery key result 2026-05-11 11:29:41 +01:00
Shakker
432e19527e test: assert matrix raw event serialization 2026-05-11 11:28:35 +01:00
Shakker
b00e84e6be test: assert matrix poll parsing 2026-05-11 11:27:50 +01:00
Shakker
83748bc8bb test: assert matrix client options 2026-05-11 11:26:41 +01:00
Shakker
4c63dd9f95 test: assert matrix room config results 2026-05-11 11:26:02 +01:00
Shakker
5a77d791dd test: assert matrix event summaries 2026-05-11 11:24:25 +01:00
Shakker
deaed7a2bd test: assert matrix device health summary 2026-05-11 11:23:50 +01:00
Peter Steinberger
75daa12562 test: tighten openai device code assertions 2026-05-11 11:23:25 +01:00
Shakker
81281609b8 test: assert matrix direct room mappings 2026-05-11 11:22:23 +01:00