Commit Graph

5114 Commits

Author SHA1 Message Date
Shakker
def2eadb1d feat: add multipass runner to qa suite 2026-04-09 23:53:13 +01:00
Altay
8cf02e7c47 fix(ci): clear check-additional follow-up regressions (#63934)
* fix(ci): route messaging temp files through openclaw tmp dir

* fix(ci): clear qa-lab follow-up guardrails

* fix(ci): own-check ACP fallback resolvers

* fix(ci): preserve memory-core write error causes

* fix(ci): narrow qa-channel boundary alias

* fix(test): type memory-core dreaming api stubs
2026-04-09 23:47:59 +01:00
Mariano
8b4883d990 fix(memory-core): limit runtime dreaming cron reconcile to heartbeats (#63938)
Merged via squash.

Prepared head SHA: 845c1e2763
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-10 00:34:49 +02:00
Mariano
4eb7160622 fix(memory-core): reconcile managed dreaming cron across runtime lifecycle (#63929)
Merged via squash.

Prepared head SHA: 457e92fdb6
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 23:58:10 +02:00
Josh Lehman
bd639bbde8 fix: resolve qa-lab type-aware linting (#63928)
Regeneration-Prompt: |
  Fix the unrelated qa-lab failures that started surfacing once bundled extension linting covered the QA channel types. Keep the change minimal and additive. Preserve the existing plugin-sdk import surface for qa-lab, but make sure the generated qa-channel plugin-sdk declarations can be resolved from bundled extension package-boundary tsconfig paths. Also replace the over-broad QaBusEventSeed union in qa-lab bus state with an explicit discriminated union so oxlint no longer treats the event variants as duplicate constituents. Verify with the qa-lab package typecheck, a targeted type-aware oxlint run for the affected files, full pnpm check, and the focused qa-lab bus-state test.
2026-04-09 14:33:33 -07:00
Mariano
bed53c77aa fix(memory-core): add dreaming narrative idempotency (#63876)
Merged via squash.

Prepared head SHA: 34f317cbcf
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 23:31:10 +02:00
Guangchi Yuan
110782a26a fix(gateway): preserve thread routing in delivery context for Slack/Telegram/Mattermost (#54840)
Merged via squash.

Prepared head SHA: 34bedac747
Co-authored-by: yzzymt <6908291+yzzymt@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 14:26:41 -07:00
Mariano
4bd720527b fix(memory-lancedb): accept dreaming config for slot-owned memory (#63874)
Merged via squash.

Prepared head SHA: 9aaf29bd36
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 23:03:53 +02:00
Mariano
2f130c418f fix(memory-core): use startup config for dreaming cron reconciliation (#63873)
Merged via squash.

Prepared head SHA: 2ec22920cd
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 21:36:36 +02:00
Mariano
6af17b39e1 fix(dreaming): require admin for persistent gateway toggle (#63872)
Merged via squash.

Prepared head SHA: 2dfd2ee7a7
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 21:21:01 +02:00
Tak Hoffman
b83726d13e Feat: Add Active Memory recall plugin (#63286)
* Refine plugin debug plumbing

* Tighten plugin debug handling

* Reduce active memory overhead

* Abort active memory sidecar on timeout

* Rename active memory blocking subagent wording

* Fix active memory cache and recall selection

* Preserve active memory session scope

* Sanitize recalled context before retrieval

* Add active memory changelog entry

* Harden active memory debug and transcript handling

* Add active memory policy config

* Raise active memory timeout default

* Keep usage footer on primary reply

* Clear stale active memory status lines

* Match legacy active memory status prefixes

* Preserve numeric active memory bullets

* Reuse canonical session keys for active memory

* Let active memory subagent decide relevance

* Refine active memory plugin summary flow

* Fix active memory main-session DM detection

* Trim active memory summaries at word boundaries

* Add active memory prompt styles

* Fix active memory stale status cleanup

* Rename active memory subagent wording

* Add active memory prompt and thinking overrides

* Remove active memory legacy status compat

* Resolve active memory session id status

* Add active memory session toggle

* Add active memory global toggle

* Fix active memory toggle state handling

* Harden active memory transcript persistence

* Fix active memory chat type gating

* Scope active memory transcripts by agent

* Show plugin debug before replies
2026-04-09 11:27:37 -05:00
Sliverp
65b781f9ae fix(qqbot): add stream config (#63746) 2026-04-09 21:23:33 +08:00
Pavan Kumar Gondhi
604777e441 fix(qqbot): enforce media storage boundary for all outbound local file paths [AI] (#63271)
* fix: address issue

* fix: address review-pr skill feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-09 17:56:37 +05:30
Gustavo Madeira Santana
414b7b5ac4 Matrix: drop dead legacy crypto wrapper 2026-04-09 08:10:42 -04:00
Ayaan Zaidi
1ee4a1606e fix: exclude DM participant lists from iMessage self-chat check 2026-04-09 17:23:22 +05:30
Neerav Makwana
9267c3f8f2 fix: preserve iMessage self-chat aliases (#61619) (thanks @neeravmakwana)
* fix(imessage): avoid DM self-chat false positives

* fix(imessage): treat blank destination caller id as missing

* fix(imessage): preserve alias self-chat

* fix: preserve iMessage self-chat aliases (#61619) (thanks @neeravmakwana)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-09 17:13:22 +05:30
Peter Steinberger
8be3a4466c fix(feishu): read webhook bodies through pre-auth guard 2026-04-09 10:18:07 +01:00
Frank Yang
3e062acbcb fix(fireworks): disable FirePass Kimi reasoning leak (#63607)
* fix: disable FirePass Kimi reasoning leak

* fix: preserve Fireworks wrapper fallbacks

* fix: harden Fireworks Kimi model matching

* fix: restore Fireworks payload sanitization
2026-04-09 17:09:17 +08:00
Davanum Srinivas
08ae021d1f fix(qqbot): guard image-size probe against SSRF (#63495)
* fix(qqbot): replace raw fetch in image-size probe with SSRF-guarded fetchRemoteMedia

Replace the bare fetch() in getImageSizeFromUrl() with fetchRemoteMedia()
from the plugin SDK, closing the blind SSRF via markdown image dimension
probing (GHSA-2767-2q9v-9326).

fetchRemoteMedia options: maxBytes 65536, maxRedirects 0, generic
public-network-only SSRF policy (no hostname allowlist, blocks
private/reserved/loopback/link-local/metadata IPs after DNS resolution).

Also fixes the repo-root resolution in scripts/lib/ts-guard-utils.mjs
which caused lint:tmp:no-raw-channel-fetch to miss extension files
entirely. The guard now walks up to .git instead of hardcoding two parent
traversals, and the allowlist is refreshed with all pre-existing raw
fetch callsites that became visible.

* fix(qqbot): guard image-size probe against SSRF (#63495) (thanks @dims)

---------

Co-authored-by: sliverp <870080352@qq.com>
2026-04-09 16:48:04 +08:00
Vincent Koc
3f7e6c7c64 fix(feishu): remove runtime api type cycle 2026-04-09 09:23:52 +01:00
Vincent Koc
60a3733f12 fix(bluebubbles): remove status type barrel cycle 2026-04-09 09:22:11 +01:00
Vincent Koc
ce32697250 fix(openshell): split fs bridge backend types 2026-04-09 09:17:29 +01:00
Vincent Koc
7d6af7e154 fix(agents): split sandbox backend handle types 2026-04-09 08:52:14 +01:00
Peter Steinberger
03d056989a test: isolate discord model picker dispatch mock 2026-04-09 08:04:53 +01:00
Gustavo Madeira Santana
1801702ed9 Matrix: gate legacy crypto migration on inspector availability 2026-04-09 01:38:58 -04:00
manuel-claw
e30d0cffc4 fix(whatsapp): drain reconnect queue after WhatsApp reconnects (#30806) (#46299)
Merged via squash.

Prepared head SHA: 5ce763406e
Co-authored-by: manuel-claw <268194568+manuel-claw@users.noreply.github.com>
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Reviewed-by: @mcaxtr
2026-04-09 02:33:36 -03:00
Gustavo Madeira Santana
b7c28f3e1f Matrix: trim dead client config exports 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana
cc6654a055 Matrix: remove native approval wrapper 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana
4fd65616d2 Matrix: drop dead helper aliases 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana
66e52a3e5d matrix: break migration runtime import cycle 2026-04-09 01:20:46 -04:00
Peter Steinberger
2ee39fab83 test: run Ollama stream coverage inside plugin 2026-04-09 06:13:39 +01:00
Peter Steinberger
766a676d48 test: update browser and reply mocks for direct imports 2026-04-09 05:52:07 +01:00
Pavan Kumar Gondhi
b1724f8b5f fix(browser): auto-generate browser control auth token for none/trusted-proxy modes [AI] (#63280)
* fix: address issue

* fix: address review feedback

* fix: finalize issue changes

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-09 09:55:24 +05:30
Marcus Castro
da1da61102 fix(whatsapp): preserve replies across reconnects (#62892) 2026-04-09 00:05:52 -03:00
Peter Steinberger
719f06510c chore: bump version to 2026.4.10 2026-04-09 03:56:22 +01:00
Peter Steinberger
0c278bb93c refactor: break runtime import cycles 2026-04-09 03:56:22 +01:00
sudie-codes
1fed7bc379 fix(msteams): pin reply target at inbound time to prevent DM/channel leak (#54520) (#62716) 2026-04-08 21:22:12 -05:00
sudie-codes
9edfefedf7 fix(msteams): route thread replies to correct thread via replyToId (#58030) (#62715) 2026-04-08 21:22:09 -05:00
sudie-codes
38aa1edf76 fix(msteams): isolate channel thread sessions by replyToId (#58615) (#62713)
* fix(msteams): isolate thread sessions by replyToId (#58615)

* fix(msteams): align thread ID extraction + fix test types
2026-04-08 21:22:05 -05:00
Peter Steinberger
62bde7ede3 test: isolate slack thread-ts recovery 2026-04-09 02:43:29 +01:00
Mason
74b5b97f62 tests: reset discord native-command seams in model picker (#63267) 2026-04-09 09:38:31 +08:00
Peter Steinberger
dcfb3ed4e3 plugins: keep google provider policy lightweight 2026-04-09 01:48:48 +01:00
Peter Steinberger
f0ea5bf393 plugins: add lightweight anthropic vertex discovery 2026-04-09 01:43:40 +01:00
Mason Huang
aa15de8fdc plugin-sdk: split command status surface 2026-04-09 01:35:15 +01:00
Peter Steinberger
be46d0ddc6 test: update character eval public panel 2026-04-09 01:25:59 +01:00
Vignesh Natarajan
2484064c48 chore(lint): clear extension lint regressions and add #63416 changelog 2026-04-08 17:17:29 -07:00
Peter Steinberger
39cc6b7dc7 fix: stabilize character eval and Qwen model routing 2026-04-09 01:04:09 +01:00
Peter Steinberger
ac12b0701b style: format memory and gateway touchups 2026-04-09 00:44:09 +01:00
Peter Steinberger
f2c0482d3c fix: surface delayed browser navigation blocks 2026-04-09 00:42:52 +01:00
Peter Steinberger
fbbd644d7a plugins: load lightweight provider discovery entries 2026-04-09 00:33:33 +01:00