Peter Steinberger
c424836fbe
refactor: harden outbound, matrix bootstrap, and plugin entry resolution
2026-03-02 19:55:09 +00:00
Jean-Marc
9a3800d8e6
fix(synology-chat): resolve Chat API user_id for reply delivery ( #23709 )
...
* fix(synology-chat): resolve Chat API user_id for reply delivery
Synology Chat outgoing webhooks use a per-integration user_id that
differs from the global Chat API user_id required by method=chatbot.
This caused reply messages to fail silently when the IDs diverged.
Changes:
- Add fetchChatUsers() and resolveChatUserId() to resolve the correct
Chat API user_id via the user_list endpoint (cached 5min)
- Use resolved user_id for all sendMessage() calls in webhook handler
and channel dispatcher
- Add Provider field to MsgContext so the agent runner correctly
identifies the message channel (was "unknown", now "synology-chat")
- Log warnings when user_list API fails or when falling back to
unresolved webhook user_id
- Add 5 tests for user_id resolution (nickname, username, case,
not-found, URL rewrite)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix(synology-chat): use Readable stream in integration test for Windows compat
Replace EventEmitter + process.nextTick with Readable stream for
request body simulation. The process.nextTick approach caused the test
to hang on Windows CI (120s timeout) because events were not reliably
delivered to readBody() listeners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: harden synology reply user resolution and cache scope (#23709 ) (thanks @druide67)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-03-02 19:50:58 +00:00
memphislee09-source
92bf77d9a0
fix(synology-chat): accept JSON/aliases and ACK webhook with 204
2026-03-02 19:45:55 +00:00
Peter Steinberger
a3bb7a5ee5
fix: land synology webhook bounded body reads ( #25831 ) (thanks @bmendonca3)
2026-03-02 19:42:56 +00:00
bmendonca3
2b088ca125
test(synology-chat): use real plugin-sdk helper exports
2026-03-02 19:42:56 +00:00
bmendonca3
aeeb0474c6
test(synology-chat): match request destroy typing
2026-03-02 19:42:56 +00:00
bmendonca3
6df36a8b35
fix(synology-chat): bound webhook body read time
2026-03-02 19:42:56 +00:00
xtao
26b8a70a52
fix(synology-chat): use finalizeInboundContext for proper normalization
2026-03-02 19:39:14 +00:00
xtao
e391646043
fix(synology-chat): add missing context fields for message delivery
2026-03-02 19:39:14 +00:00
white-rm
e513714103
fix(synology-chat): read cfg from outbound context so incomingUrl resolves
2026-03-02 19:38:14 +00:00
Peter Steinberger
fcec2e364d
fix(matrix): keep plugin register sync while bootstrapping crypto runtime ( #31989 )
2026-03-02 19:33:22 +00:00
bmendonca3
66c1da45d4
matrix: bootstrap crypto runtime when npm scripts are skipped
2026-03-02 19:33:22 +00:00
Peter Steinberger
ed55b63684
fix: add regression for memory-lancedb dimensions pass-through ( #32036 ) (thanks @scotthuang)
2026-03-02 19:02:11 +00:00
scotthuang
31bc2cc202
fix(memory-lancedb): pass dimensions to embedding API call
...
- Add dimensions parameter to Embeddings constructor
- Pass dimensions to OpenAI embeddings.create() API call
- Fixes dimension mismatch when using custom embedding models like DashScope text-embedding-v4
2026-03-02 19:02:11 +00:00
Andrii Furmanets
662f389f45
Tests: isolate webhook path suite and reset cron auth state
2026-03-02 18:57:46 +00:00
Andrii Furmanets
3bd0505433
Voice Call: enforce exact webhook path match
2026-03-02 18:57:46 +00:00
Peter Steinberger
d52e5e1d85
fix: add regression tests for telegram token guard ( #31973 ) (thanks @ningding97)
2026-03-02 18:33:49 +00:00
ningding97
c1c20491da
fix(telegram): guard token.trim() against undefined to prevent startup crash
...
When account.token is undefined (e.g. missing botToken config),
calling .trim() directly throws "Cannot read properties of undefined".
Use nullish coalescing to fall back to empty string before trimming.
Closes #31944
2026-03-02 18:33:49 +00:00
Peter Steinberger
1c9deeda97
refactor: split webhook ingress and policy guards
2026-03-02 18:02:21 +00:00
Peter Steinberger
54382a66b4
test(perf): bypass matrix send queue delay in send tests
2026-03-02 17:46:31 +00:00
Peter Steinberger
b07589642d
test(perf): remove redundant acpx healthy-command case
2026-03-02 17:41:51 +00:00
Peter Steinberger
34ff873a7e
test(perf): trim fixed waits in relay and startup tests
2026-03-02 17:30:33 +00:00
Peter Steinberger
310dd24ce3
test(perf): clean acpx runtime fixtures at suite end
2026-03-02 17:30:33 +00:00
Peter Steinberger
d3e8b17aa6
fix: harden webhook auth-before-body handling
2026-03-02 17:21:09 +00:00
Peter Steinberger
7a7eee920a
refactor(gateway): harden plugin http route contracts
2026-03-02 16:48:00 +00:00
Peter Steinberger
2fd8264ab0
refactor(gateway): hard-break plugin wildcard http handlers
2026-03-02 16:24:06 +00:00
Peter Steinberger
b13d48987c
refactor(gateway): unify control-ui and plugin webhook routing
2026-03-02 16:18:12 +00:00
Tak Hoffman
1ea42ebe98
fix(tsgo): unblock baseline type errors ( #31873 )
2026-03-02 10:09:49 -06:00
Peter Steinberger
3e5762c288
fix(security): harden sms.send dangerous-node defaults
2026-03-02 16:06:52 +00:00
Peter Steinberger
05b84e718b
fix(feishu): preserve explicit target routing hints ( #31594 ) (thanks @liuxiaopai-ai)
2026-03-02 15:47:21 +00:00
liuxiaopai-ai
07b419a0e7
Feishu: honor group/dm prefixes in target parsing
2026-03-02 15:47:21 +00:00
Gustavo Madeira Santana
12be9a08fe
refactor(diffs): dedupe functions
2026-03-02 10:46:45 -05:00
Peter Steinberger
ee1b147631
fix(zalouser): harden inbound sender id handling
2026-03-02 15:44:07 +00:00
Peter Steinberger
208a9b1ad1
docs(zalouser): document js-native migration and breaking change
2026-03-02 15:44:07 +00:00
Peter Steinberger
0f00110f5d
test(zalouser): expand native runtime regression coverage
2026-03-02 15:44:07 +00:00
Peter Steinberger
174f2de447
feat(zalouser): migrate runtime to native zca-js
2026-03-02 15:44:07 +00:00
bmendonca3
f39882d57e
zalo: update pairing-store read assertion to scoped params object
2026-03-02 15:38:36 +00:00
bmendonca3
6b7d3fb011
security(zalo): scope pairing store by account
2026-03-02 15:38:36 +00:00
David Friedland
dd3f7d57ee
sendPayload: add chunking, empty-payload guard, and tests
2026-03-02 15:35:47 +00:00
David Friedland
47ef180fb7
sendPayload: explicit text fallback in text-only path
2026-03-02 15:35:47 +00:00
David Friedland
ebe54e6903
fix(adapters): restructure sendPayload media loop to avoid uninitialized lastResult
2026-03-02 15:35:47 +00:00
David Friedland
d06ee86292
feat(adapters): add sendPayload to batch-d adapters
2026-03-02 15:35:47 +00:00
Peter Steinberger
f1cab9c5e5
fix: stabilize zalouser account-scope regression hook ( #26672 ) (thanks @bmendonca3)
2026-03-02 15:34:17 +00:00
bmendonca3
f4c3e483fe
zalouser: update account-scope test for scoped store API
2026-03-02 15:34:17 +00:00
bmendonca3
6aa20e91d9
security(zalouser): scope pairing-store auth to accountId
2026-03-02 15:34:17 +00:00
Peter Steinberger
44c50d9a73
fix(types): tighten shared helper typing contracts
2026-03-02 15:21:19 +00:00
Peter Steinberger
ed21b63bb8
refactor(plugin-sdk): share auth, routing, and stream/account helpers
2026-03-02 15:21:19 +00:00
Peter Steinberger
741e74972b
refactor(plugin-sdk): share boolean action param parsing
2026-03-02 14:36:41 +00:00
Mark L
097ad88f9d
fix(feishu): tolerate missing webhook defaults in older plugin-sdk (openclaw#31639) thanks @liuxiaopai-ai
...
Verified:
- pnpm test extensions/feishu/src/monitor.state.defaults.test.ts
- pnpm exec vitest run extensions/feishu/src/monitor.state.defaults.test.ts
- pnpm exec oxfmt --check extensions/feishu/src/monitor.state.ts extensions/feishu/src/monitor.state.defaults.test.ts CHANGELOG.md
- CI note: non-required check "check" failed on unrelated TS errors outside this PR scope.
Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-02 07:42:16 -06:00
Peter Steinberger
d977af5853
refactor(diffs): share artifact detail and screenshot test helpers
2026-03-02 12:13:45 +00:00