Josh Avant
33ad806a14
Browser: consolidate duplicate helper surfaces via facade delegation ( #63957 )
...
* Plugin SDK: route browser helper surfaces through browser facade
* Browser doctor flow: add facade path regression and export parity guards
* Contracts: dedupe browser facade parity checks without reducing coverage
* Browser tests: restore host-inspection semantics coverage in extension
* fix: add changelog note for browser facade consolidation (#63957 ) (thanks @joshavant)
2026-04-09 19:49:04 -05:00
Altay
c6d0baf562
qa-lab: use OpenClaw tmp dir for multipass staging
2026-04-10 00:09:48 +01:00
Altay
10797cbd81
fix(ci): sync package boundary paths config
2026-04-09 23:59:00 +01:00
Shakker
b88387e4c1
fix: harden qa multipass runner
2026-04-09 23:53:13 +01:00
Shakker
445fe55331
fix: validate multipass output paths
2026-04-09 23:53:13 +01:00
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