Commit Graph

18192 Commits

Author SHA1 Message Date
Gustavo Madeira Santana
fd1d5555ad Matrix: centralize monitor config normalization 2026-03-12 16:47:12 +00:00
Gustavo Madeira Santana
54966deca1 Matrix: extract monitor access state 2026-03-12 16:47:12 +00:00
Gustavo Madeira Santana
0669abdda5 Matrix: remove orphaned send queue 2026-03-12 16:47:12 +00:00
Gustavo Madeira Santana
774daae80a Docs: clarify Matrix account defaults 2026-03-12 16:47:12 +00:00
Gustavo Madeira Santana
93114f8918 Matrix: dedupe resolver test harness 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
3e3bb5f6f7 Matrix: remove unused internal helpers 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
504ce688e5 Matrix: share reusable client bootstrap 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
b758666867 Matrix: register thread bindings before client sync 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
3541b6f9ea Matrix: harden live directory lookups 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
5613ad679d Matrix: centralize target normalization 2026-03-12 16:47:11 +00:00
Gustavo Madeira Santana
9878b4743f Matrix: centralize account config helpers 2026-03-12 16:47:10 +00:00
Gustavo Madeira Santana
4c4b2ba571 Matrix: warn and clean stale managed devices 2026-03-12 16:47:10 +00:00
Gustavo Madeira Santana
df6b6762c0 Matrix: fix verification client lifecycle and quiet CLI noise 2026-03-12 16:47:10 +00:00
Gustavo Madeira Santana
a3573ac71f Matrix: retry cross-signing after secret storage repair 2026-03-12 16:47:10 +00:00
Gustavo Madeira Santana
46cd37bc0d Matrix: repair explicit secret storage bootstrap 2026-03-12 16:47:10 +00:00
Gustavo Madeira Santana
fdf7953226 Matrix: preserve owner-signed verification state 2026-03-12 16:47:09 +00:00
Gustavo Madeira Santana
21f1e903a4 Plugins: scope SDK imports and harden Matrix routing 2026-03-12 16:47:09 +00:00
Gustavo Madeira Santana
e80483ff00 poll and profile fixes 2026-03-12 16:47:09 +00:00
Gustavo Madeira Santana
50568f29d5 Matrix: tighten verification trust and expose profile updates 2026-03-12 16:47:09 +00:00
Gustavo Madeira Santana
9101916e53 Matrix: improve migration startup warnings 2026-03-12 16:47:09 +00:00
Gustavo Madeira Santana
b2623c2a9f Docs: clarify Matrix migration update flow 2026-03-12 16:47:08 +00:00
Gustavo Madeira Santana
0fdc404a2b Matrix: keep default account device fields scoped 2026-03-12 16:47:08 +00:00
Gustavo Madeira Santana
8e962668ce Matrix: replace legacy plugin with new implementation 2026-03-12 16:47:08 +00:00
Gustavo Madeira Santana
455c4f3436 Create matrix-supersession-migration.md 2026-03-12 16:47:08 +00:00
Gustavo Madeira Santana
5d5e500475 matrix-js: simplify storage paths 2026-03-12 16:47:07 +00:00
Gustavo Madeira Santana
9b4b8032de Update subagents.md 2026-03-12 16:47:07 +00:00
Gustavo Madeira Santana
887e2aca79 matrix-js: require explicit thread-bound spawn config 2026-03-12 16:47:07 +00:00
Gustavo Madeira Santana
94f3b1b57d matrix-js: add account-aware bindings and ACP routing 2026-03-12 16:47:07 +00:00
Gustavo Madeira Santana
d4e3a98613 matrix-js: add startup verification policy 2026-03-12 16:47:07 +00:00
Gustavo Madeira Santana
08cf9a1b7f matrix-js: format thread helpers 2026-03-12 16:47:06 +00:00
Gustavo Madeira Santana
3eb6c4c8ec matrix-js: improve thread context and auto-threading 2026-03-12 16:47:06 +00:00
Gustavo Madeira Santana
a670c21ab4 matrix-js: harden reaction handling 2026-03-12 16:47:06 +00:00
Gustavo Madeira Santana
00019c73e4 move matrix-js helpers to be locally scoped 2026-03-12 16:47:06 +00:00
Gustavo Madeira Santana
e07b6072b5 make matrix-js atomic and add poll voting support 2026-03-12 16:47:06 +00:00
Gustavo Madeira Santana
082a1aedd5 Tests: restore matrix-js bind integration coverage 2026-03-12 16:47:05 +00:00
Gustavo Madeira Santana
5fddbc1d9b Matrix-js: sync with main plugin-loading standards 2026-03-12 16:47:05 +00:00
Peter Steinberger
115f24819e fix: make node-llama-cpp optional for npm installs 2026-03-12 16:45:59 +00:00
Peter Steinberger
9f08af1f06 fix(ci): harden docker builds and unblock config docs 2026-03-12 16:45:29 +00:00
Gustavo Madeira Santana
46f0bfc55b Gateway: harden custom session-store discovery (#44176)
Merged via squash.

Prepared head SHA: 52ebbf5188
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-12 16:44:46 +00:00
Peter Steinberger
dc3bb1890b docs: clarify gateway HTTP trust boundary 2026-03-12 16:40:36 +00:00
Vincent Koc
f96ba87f03 Zalo: rate limit invalid webhook secret guesses before auth (#44173)
* Zalo: rate limit webhook guesses before auth

* Tests: cover pre-auth Zalo webhook rate limiting

* Changelog: note Zalo pre-auth rate limiting

* Zalo: preserve auth-before-content-type response ordering

* Tests: cover auth-before-content-type webhook ordering

* Zalo: split auth and unauth webhook rate-limit buckets

* Tests: cover auth bucket split for Zalo webhook rate limiting

* Zalo: use trusted proxy client IP for webhook rate limiting

* Tests: cover trusted proxy client IP rate limiting for Zalo
2026-03-12 12:30:50 -04:00
Nimrod Gutman
96fb423528 fix(ios): add live activity horizontal padding 2026-03-12 18:20:44 +02:00
Nimrod Gutman
b77b7485e0 feat(push): add iOS APNs relay gateway (#43369)
* feat(push): add ios apns relay gateway

* fix(shared): avoid oslog string concatenation

# Conflicts:
#	apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift

* fix(push): harden relay validation and invalidation

* fix(push): persist app attest state before relay registration

* fix(push): harden relay invalidation and url handling

* feat(push): use scoped relay send grants

* feat(push): configure ios relay through gateway config

* feat(push): bind relay registration to gateway identity

* fix(push): tighten ios relay trust flow

* fix(push): bound APNs registration fields (#43369) (thanks @ngutman)
2026-03-12 18:15:35 +02:00
2233admin
9342739d71 fix(providers): respect user-configured baseUrl for kimi-coding (#36647)
* fix(providers): respect user-configured baseUrl for kimi-coding

The kimi-coding provider was built exclusively from
`buildKimiCodingProvider()` defaults, ignoring any user-specified
`baseUrl` or other overrides in `openclaw.json` providers config.
This caused 404 errors when users configured a custom endpoint.

Now merge `explicitProviders["kimi-coding"]` on top of defaults,
matching the pattern used by ollama/vllm. User's `baseUrl`, `api`,
and `models` take precedence; env/profile API key still wins.

Fixes #36353

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Tests: use Kimi implicit provider harness

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-03-12 12:14:07 -04:00
Vincent Koc
3e28e10c2f Plugins: require explicit trust for workspace-discovered plugins (#44174)
* Plugins: disable implicit workspace plugin auto-load

* Tests: cover workspace plugin trust gating

* Changelog: note workspace plugin trust hardening

* Plugins: keep workspace trust gate ahead of memory slot defaults

* Tests: cover workspace memory-slot trust bypass
2026-03-12 12:12:41 -04:00
chengzhichao-xydt
0a8fa0e001 Moonshot: respect explicit baseUrl for CN endpoint so platform.moonshot.cn keys authenticate (#33637) (#33696)
* Moonshot: respect explicit baseUrl for CN endpoint so platform.moonshot.cn keys authenticate (#33637)

* Moonshot: address review - remove dead constant, import canonical URLs (#33696)
2026-03-12 12:10:38 -04:00
Jacob Riff
3fa91cd69d feat: add sessions_yield tool for cooperative turn-ending (#36537)
Merged via squash.

Prepared head SHA: 75d9204c86
Co-authored-by: jriff <50276+jriff@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 08:46:47 -07:00
Gustavo Madeira Santana
e6897c800b Plugins: fix env-aware root resolution and caching (#44046)
Merged via squash.

Prepared head SHA: 6e8852a188
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-12 15:31:31 +00:00
Rodrigo Uroz
688e3f0863 Compaction Runner: emit transcript updates post-compact (#25558)
Merged via squash.

Prepared head SHA: 8a858436ed
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 08:22:12 -07:00
Josh Lehman
8525fd94ea docs: sync Feishu secretref credential matrix
## Summary

- Problem: `src/secrets/target-registry.test.ts` fails on latest `main` because the runtime registry includes Feishu `encryptKey` paths that the docs matrix and surface reference omit.
- Why it matters: the docs/runtime sync guard currently blocks prep and merge work for unrelated PRs, including `#25558`.
- What changed: regenerated the secretref credential matrix and updated the surface reference to include both Feishu `encryptKey` paths.
- What did NOT change (scope boundary): no runtime registry behavior, config semantics, or channel handling changed.

## Change Type (select all)

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [x] Docs
- [ ] Security hardening
- [ ] Chore/infra

## Scope (select all touched areas)

- [ ] Gateway / orchestration
- [ ] Skills / tool execution
- [ ] Auth / tokens
- [ ] Memory / storage
- [x] Integrations
- [ ] API / contracts
- [ ] UI / DX
- [ ] CI/CD / infra

## Linked Issue/PR

- Closes #
- Related #25558

## User-visible / Behavior Changes

None.

## Security Impact (required)

- New permissions/capabilities? `No`
- Secrets/tokens handling changed? `No`
- New/changed network calls? `No`
- Command/tool execution surface changed? `No`
- Data access scope changed? `No`
- If any `Yes`, explain risk + mitigation:

## Repro + Verification

### Environment

- OS: macOS
- Runtime/container: Node.js repo checkout
- Model/provider: N/A
- Integration/channel (if any): Feishu docs/runtime registry sync
- Relevant config (redacted): none

### Steps

1. Check out latest `main` before this change.
2. Run `./node_modules/.bin/vitest run --config vitest.unit.config.ts src/secrets/target-registry.test.ts`.
3. Apply this docs-only sync change and rerun the same command.

### Expected

- The target registry stays in sync with the generated docs matrix and the test passes.

### Actual

- Before this change, the test failed because `channels.feishu.encryptKey` and `channels.feishu.accounts.*.encryptKey` were missing from the docs artifacts.

## Evidence

Attach at least one:

- [x] Failing test/log before + passing after
- [ ] Trace/log snippets
- [ ] Screenshot/recording
- [ ] Perf numbers (if relevant)

## Human Verification (required)

What you personally verified (not just CI), and how:

- Verified scenarios: confirmed the failure on plain latest `main`, applied only these docs entries in a clean bootstrapped worktree, and reran `./node_modules/.bin/vitest run --config vitest.unit.config.ts src/secrets/target-registry.test.ts` to green.
- Edge cases checked: verified both top-level Feishu `encryptKey` and account-scoped `encryptKey` paths are present in the matrix and surface reference.
- What you did **not** verify: full repo test suite and CI beyond the targeted regression.

## Review Conversations

- [x] I replied to or resolved every bot review conversation I addressed in this PR.
- [x] I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

## Compatibility / Migration

- Backward compatible? `Yes`
- Config/env changes? `No`
- Migration needed? `No`
- If yes, exact upgrade steps:

## Failure Recovery (if this breaks)

- How to disable/revert this change quickly: revert this commit.
- Files/config to restore: `docs/reference/secretref-user-supplied-credentials-matrix.json` and `docs/reference/secretref-credential-surface.md`
- Known bad symptoms reviewers should watch for: the target-registry docs sync test failing again for missing Feishu `encryptKey` entries.

## Risks and Mitigations

- Risk: the markdown surface reference could drift from the generated matrix again in a later credential-shape change.
  - Mitigation: `src/secrets/target-registry.test.ts` continues to guard docs/runtime sync.
2026-03-12 08:18:13 -07:00