lukeboyett
9e43d0327f
fix(memory-core): avoid per-file watcher FD fan-out for memory directories ( #86701 )
...
Merged via squash.
Prepared head SHA: e27c28a3a1
Co-authored-by: lukeboyett <46942646+lukeboyett@users.noreply.github.com >
Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com >
Reviewed-by: @osolmaz
2026-05-27 00:48:22 +08:00
Peter Steinberger
5535eef6b0
fix: use current config sdk contract in feishu doctor
2026-05-26 17:45:24 +01:00
Peter Steinberger
fdb7848a7c
chore: remove stale codex test conversion
2026-05-26 17:40:44 +01:00
狼哥
c7821bd2a8
fix(telegram): treat targeted bot commands as mentions ( #86553 )
2026-05-26 17:21:33 +01:00
Peter Steinberger
ead847f606
fix: ignore other codex thread completions
2026-05-26 17:16:17 +01:00
Peter Steinberger
b7c461af7b
fix(feishu): repair stale channel state
...
Closes #74237 .
Recreates #74397 locally because the fork disallows maintainer edits.
Co-authored-by: Lightningxxl <yuanhangxurobin@gmail.com >
2026-05-26 17:10:34 +01:00
Peter Steinberger
d001d35ea2
fix: accept trailing fuzzy voice wake questions
2026-05-26 16:59:05 +01:00
Vincent Koc
fb853de554
fix(scripts): preserve native pnpm exec paths
2026-05-26 17:36:48 +02:00
Vincent Koc
5ef812293b
fix(codex): bridge cli api-key auth into app-server
2026-05-26 17:19:50 +02:00
Peter Steinberger
0f605ee003
fix: update Discord voice to libopus-wasm 0.1.0
...
Updates Discord voice Opus callers to the published libopus-wasm 0.1.0 API, pins the Discord plugin dependency and lockfiles to that release, keeps the package freshness exception version-scoped, treats expected Discord receive-stream premature closes as normal stream ends, and includes routed OpenClaw transcript roots for local PR transcript discovery.\n\nProof: npm view libopus-wasm@0.1.0; pnpm install --lockfile-only --filter @openclaw/discord; Node encode/decode smoke with pkg 0.1.0 decoded=3840; node scripts/run-vitest.mjs extensions/discord/src/voice/audio.test.ts extensions/discord/src/voice/receive-recovery.test.ts; git diff --check; autoreview clean; live tmux gateway on e0fa3e3 joined Discord voice and processed realtime audio without decoder.decode or Premature close warning spam.
2026-05-26 16:17:53 +01:00
Peter Steinberger
cac0b2db18
refactor: move transcripts into core
...
Move meeting notes into core transcripts, remove the bundled meeting-notes plugin/API, and require explicit transcripts.enabled before exposing the recording-capable tool.
2026-05-26 14:51:11 +01:00
Peter Steinberger
30e59b4090
test: speed up slow CI regressions
2026-05-26 13:13:19 +01:00
Peter Steinberger
efebf6bfcf
fix(qa): preserve corrupt auth profile files
2026-05-26 12:42:50 +01:00
Peter Steinberger
cb34175dfd
fix(matrix): reject malformed integer cli values
2026-05-26 12:42:43 +01:00
Peter Steinberger
884d346999
fix(canvas): reject invalid snapshot formats
2026-05-26 12:42:36 +01:00
Peter Steinberger
13c6a3332c
fix(browser): reject invalid wait load states
2026-05-26 12:42:24 +01:00
adupdev
31a8fe7462
fix(discord): gate native built-in UI before owner auth
...
Fixes #86654
2026-05-26 12:28:32 +01:00
Peter Steinberger
18ff19e043
perf: use typed arrays for audio codec loops ( #86856 )
2026-05-26 11:51:21 +01:00
Vincent Koc
4ebc13abe1
fix(qa-slack): preserve failure debug artifacts
2026-05-26 11:09:52 +01:00
Peter Steinberger
4c8e9da033
test(codex): widen app-server wait timeout type
2026-05-26 10:42:30 +01:00
Alex Knight
21aebd5fbc
fix(mattermost): tag typed text slash control commands
...
Tag authorized Mattermost typed text-slash control commands with CommandSource: text so existing explicit-command source-reply delivery bypasses message_tool_only suppression for /new, /reset, ACP reset, and soft-reset acknowledgement replies.
Remove the normal PR changelog edit flagged by review and keep release-note context in the PR body/squash message. Tighten the regression test to exercise the leading-space Mattermost text-post path used to bypass native slash handling and assert the normalized command body.
Local proof: node scripts/run-vitest.mjs extensions/mattermost/src/mattermost/monitor.inbound-system-event.test.ts src/auto-reply/command-turn-context.test.ts src/auto-reply/reply/source-reply-delivery-mode.test.ts src/auto-reply/reply/commands-reset-hooks.test.ts; git diff --check origin/main..HEAD; oxfmt check; autoreview clean.
CI: PR run 26443271650 passed relevant checks. Ignored check-test-types failure because the exact same extensions/codex/src/app-server/run-attempt.test.ts TS2345 failure is already present on main run 26442926352 at the PR base.
Fixes #86664 .
2026-05-26 19:18:41 +10:00
Omar Shahine
9434228cdc
fix(imessage): dedupe accounts sharing the local Messages source ( #86705 )
...
Merged via squash.
Prepared head SHA: fcfe97d7c8
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-26 01:39:12 -07:00
Vincent Koc
3f6b63aa1d
fix(codex): preserve sandbox bootstrap path style
2026-05-26 10:21:47 +02:00
Peter Steinberger
3548cff14b
refactor: migrate validators to TypeBox ( #86639 )
...
* refactor: migrate validators to typebox
* fix: preserve json schema resource refs
* chore: clean schema preflight recursion
* refactor: remove lobster ajv shim
* fix: support schema array refs
* fix: validate schema dependencies
* fix: preserve schema contract checks
* fix: support same-document schema refs
* fix: preserve untyped map defaults
* fix: preserve schema default semantics
* test: avoid thenable schema literals
* test: build conditional schema key
* fix: defer resource id refs to typebox
* fix: reject invalid schema enum metadata
* fix: preserve default branch semantics
* fix: resolve schema resource refs
* fix: narrow conditional default fallback
* fix: preserve uri format validation
* fix: preserve validator compatibility
* test: avoid ajv cache lint violation
* fix: preserve typebox validation diagnostics
* fix: validate defaulted conditional schemas
* fix: normalize mcp draft schemas
* fix: preserve tuple schema defaults
* fix: resolve relative schema refs
* fix: scope typebox format semantics
* fix: align conditional format defaults
* fix: decode schema pointer refs
* fix: filter grouped secretref diagnostics
* fix: preserve default conditional compatibility
* fix: preserve nullable schema compatibility
* fix: settle defaults before conditionals
* fix: preserve default validation invariants
* fix: validate dynamic schema refs
* fix: reject malformed nullable schemas
2026-05-26 08:45:28 +01:00
Omar Shahine
17f7ef5c0f
fix(imessage): send group media via attachment command ( #86770 )
...
* fix(imessage): send group media via attachment command
* fix(imessage): preserve media rpc fallback
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-05-25 23:31:27 -07:00
Peter Steinberger
083377adb8
test(codex): wait for diagnostic event locally
2026-05-26 06:53:40 +01:00
Vincent Koc
16d137dce6
test(telegram): use platform temp path in bot harness
2026-05-26 07:49:19 +02:00
Omar Shahine
3452382cc0
fix(imessage): seed direct DM history ( #86706 )
...
* fix(imessage): seed direct DM history
* docs(imessage): clarify DM history override seeding
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-05-25 22:38:32 -07:00
Peter Steinberger
11b1b7c888
test(codex): complete diagnostic turn explicitly
2026-05-26 06:32:54 +01:00
Peter Steinberger
c04c03f8e9
test: restore auth regression coverage
2026-05-26 06:23:13 +01:00
Peter Steinberger
3bb4be23c0
test: stabilize media fallback and background timeout tests
2026-05-26 05:19:50 +01:00
Liz Zhang
72a7d6a8dc
fix(whatsapp): warn once when group inbound dropped for missing channels.whatsapp.groups entry ( #83833 )
...
Merged via squash.
Prepared head SHA: 8fc5243210
Co-authored-by: zhang-liz <13132583+zhang-liz@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-05-26 01:15:24 -03:00
Peter Steinberger
c43ed9e4fe
test(whatsapp): stabilize media format expectations
2026-05-26 05:03:22 +01:00
Vincent Koc
1e9b6b7627
test(qqbot): make OPENCLAW_HOME media test Windows-safe
2026-05-26 05:52:05 +02:00
Peter Steinberger
4118a32aad
test: enforce per-test ci threshold
2026-05-26 04:35:20 +01:00
Peter Steinberger
bee8ad34a0
test(codex): avoid app-server diagnostic notification race
2026-05-26 04:17:16 +01:00
Sliverp
0d23c3b4e1
fix: make QQ Bot media paths respect OPENCLAW_HOME configuration ( #85309 )
...
* fix: make QQ Bot media paths respect `OPENCLAW_HOME` configuration
* docs(changelog): note QQ Bot OPENCLAW_HOME media fix (#83562 )
2026-05-26 11:01:39 +08:00
Omar Shahine
5a33378f9c
revert: iMessage group media attachment command ( #86734 )
...
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-05-25 19:47:16 -07:00
Peter Steinberger
609d70d35e
fix(release): stabilize beta validation after rebase
2026-05-26 03:30:54 +01:00
Marcus Castro
34d862d45d
fix(whatsapp): restore ack emoji identity fallback ( #86697 )
2026-05-25 23:25:00 -03:00
Omar Shahine
f32273257c
fix(imessage): send group media via attachment command
...
* fix(imessage): send chat media via attachment command
* fix(imessage): satisfy bundled lint
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-05-25 19:24:37 -07:00
Peter Steinberger
93015982d3
fix(release): stabilize beta validation after main rebase
2026-05-26 03:06:26 +01:00
Peter Steinberger
0c5f622f9a
perf(discord): use libopus-wasm for voice opus
2026-05-26 02:53:29 +01:00
Alex Knight
f824e1596a
Add OpenTelemetry LLM content spans ( #86191 )
...
* feat: add otel llm content spans
* fix: gate otel tool definitions separately
* fix(diagnostics): sanitize tool_call parts and truncate oversized OTEL content attributes
* fix: keep otel content truncation parseable
* fix: simplify codex model diagnostics
* fix(diagnostics): align opt-in GenAI span shape
* test(codex): align resume params after rebase
* fix(diagnostics): keep model content off shared event bus
* test(diagnostics): keep extension tests on sdk boundary
---------
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-26 02:24:02 +01:00
Peter Steinberger
e049105891
fix(release): stabilize beta validation tests
2026-05-26 02:17:54 +01:00
Peter Steinberger
d00d0a21c2
chore: bump OpenClaw to 2026.5.26
2026-05-26 01:26:00 +01:00
Peter Steinberger
321f06ad0e
fix: stabilize discord voice receive recovery
2026-05-26 01:22:21 +01:00
Deepflame
ea2496b00c
perf(agents): reuse model manifest context
...
Reuse a lazy model manifest context across configured model resolution so common static defaults do not trigger manifest metadata loads, while keeping plugin-owned normalization available when aliases, provider rows, or OpenRouter compat paths need it.
Preserves exact alias behavior, auth-profile-suffixed alias behavior, provider inference from manifest-normalized configured refs, and existing plugin/runtime cache lifecycle rules.
Co-authored-by: Alyana <alyana@lumina.local >
2026-05-26 01:11:47 +01:00
Vincent Koc
ef8619d5f5
fix(diagnostics): expose missing telemetry signals ( #86682 )
2026-05-26 01:10:59 +01:00
Kevin Lin
719ce7f96f
feat(signal): support reaction approvals ( #85894 )
...
* feat(signal): support reaction approvals
* fix(signal): harden approval reaction bindings
* fix(signal): quiet native approval prompt flow
* test(prompts): refresh direct channel snapshots
* fix(signal): suppress duplicate exec approval prompts
* revert(reply): keep direct inbound metadata
* docs: add signal approval changelog
* test(prompts): restore direct channel snapshots
* fix(signal): allow defaultTo approval reactions
2026-05-25 16:44:12 -07:00