hcl
55e7f5f27c
fix(whatsapp): pass routing ctx to transcribeFirstAudio so echoTranscript can deliver ( #79778 ) ( #79788 )
...
Merged via squash.
Prepared head SHA: b5d2936d52
Co-authored-by: hclsys <7755017+hclsys@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-05-09 18:46:54 +02:00
Shakker
50c955394e
perf: defer whatsapp setup finalize import
2026-05-09 13:43:23 +01:00
Shakker
01741f81f8
test: remove stale unused imports
2026-05-09 11:26:43 +01:00
Shakker
2ddd8dddba
test: tighten messaging empty array assertions
2026-05-09 05:16:20 +01:00
Peter Steinberger
c04df3adfb
test: tighten whatsapp connection close assertion
2026-05-09 05:05:04 +01:00
Peter Steinberger
65b490c7cd
test: tighten whatsapp channel guard assertion
2026-05-09 01:26:06 +01:00
Peter Steinberger
f65418c57c
test: simplify whatsapp setup entry splitting
2026-05-09 00:05:34 +01:00
Peter Steinberger
019d7247cd
test: simplify setup allowlist normalization
2026-05-08 23:11:09 +01:00
Tak Hoffman
2f26025085
fix(active-memory): allow active-memory to support custom recall tools ( #77906 )
...
* fix(active-memory): allow custom recall tools
* docs(active-memory): document custom recall tools
* docs(active-memory): note tools allowlist change
* fix(active-memory): constrain recall tool allowlist
* fix(active-memory): preserve lancedb recall defaults
* fix(active-memory): block non-memory recall tools
* fix(active-memory): satisfy bundled lint
* fix(active-memory): satisfy type-aware lint
* fix(tests): satisfy type-aware lint
* fix(tests): clear next type-aware lint batch
* fix(tests): clear lint and test type annotations
* docs(changelog): consolidate active memory entry
* docs(changelog): reclassify active memory tools entry
2026-05-08 16:12:48 -05:00
Peter Steinberger
a0ef60eb4c
test: clear weak assertion scan
2026-05-08 21:11:12 +01:00
Peter Steinberger
ffb1cc97cb
test: require messaging async callbacks
2026-05-08 19:33:17 +01:00
Shakker
a8bbfdc7e6
test: tighten whatsapp transport activity assertion
2026-05-08 16:58:32 +01:00
Super Zheng
e7277b4e3a
refactor(agents): preserve raw reasoning stream and push formatting to edge ( #78397 )
...
Merged via squash.
Prepared head SHA: bb56f7ee00
Co-authored-by: medns <1575008+medns@users.noreply.github.com >
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com >
Reviewed-by: @odysseus0
2026-05-08 06:08:21 -07:00
Peter Steinberger
2f001fc144
test: clarify memory fallback assertions
2026-05-08 13:14:50 +01:00
Peter Steinberger
765ca52915
test: invoke whatsapp setup validators
2026-05-08 06:31:10 +01:00
Peter Steinberger
9e58cc82c8
test: fix strict CI gates
2026-05-08 05:56:38 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
NVIDIAN
36f847a60e
fix(whatsapp): ignore outbound echoes for inbound activity ( #79057 )
...
Merged via squash.
Prepared head SHA: 3b1f38a2bd
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-05-08 01:02:19 -03:00
Peter Steinberger
1ef85c7d4c
test: make suites safe without isolation ( #78834 )
...
* test: make suites safe without isolation
* fix: narrow auth profile credential types
* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
NVIDIAN
a2efabf4c9
fix(whatsapp): dedupe captioned MEDIA auto-replies ( #78770 )
...
* fix(whatsapp): dedupe captioned MEDIA auto-replies
* docs: note whatsapp media directive dedupe
---------
Co-authored-by: Marcus Castro <mcaxtr@openclaw.ai >
2026-05-07 03:15:19 -03:00
Peter Steinberger
252a76d25c
refactor: stage external output writes through fs-safe
2026-05-07 06:05:24 +01:00
Eden
fcdfa30703
fix(whatsapp): resolve outbound PN to LID via auth-dir forward mapping ( #74925 )
...
Merged via squash.
Prepared head SHA: 5f51cb7cb3
Co-authored-by: edenfunf <146086744+edenfunf@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-05-07 00:49:53 -03:00
Peter Steinberger
538605ff44
[codex] Extract filesystem safety primitives ( #77918 )
...
* refactor: extract filesystem safety primitives
* refactor: use fs-safe for file access helpers
* refactor: reuse fs-safe for media reads
* refactor: use fs-safe for image reads
* refactor: reuse fs-safe in qqbot media opener
* refactor: reuse fs-safe for local media checks
* refactor: consume cleaner fs-safe api
* refactor: align fs-safe json option names
* fix: preserve fs-safe migration contracts
* refactor: use fs-safe primitive subpaths
* refactor: use grouped fs-safe subpaths
* refactor: align fs-safe api usage
* refactor: adapt private state store api
* chore: refresh proof gate
* refactor: follow fs-safe json api split
* refactor: follow reduced fs-safe surface
* build: default fs-safe python helper off
* fix: preserve fs-safe plugin sdk aliases
* refactor: consolidate fs-safe usage
* refactor: unify fs-safe store usage
* refactor: trim fs-safe temp workspace usage
* refactor: hide low-level fs-safe primitives
* build: use published fs-safe package
* fix: preserve outbound recovery durability after rebase
* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
05eda57b3c
refactor: migrate bundled plugins to message lifecycle
2026-05-06 01:46:42 +01:00
Patrick Erichsen
84e8e09725
Add WhatsApp live QA lane ( #77704 )
...
* feat(qa): add whatsapp live lane
* ci: add gated whatsapp and discord qa live lanes
* ci: honor qa live env gates in release selection
* test: update qa live workflow gate assertion
* ci: split live QA release gates
2026-05-05 12:09:28 -07:00
6607changchun
d02fbc6116
fix(sandbox): support Windows drive-letter bind sources
...
Accept drive-absolute Windows sandbox Docker bind sources in config and runtime validation while keeping blocked-path and allowed-root comparisons case-insensitive for Windows drive paths.
Also remove a stale WhatsApp setup import that blocked extension lint after the rebase.
Co-authored-by: 6607changchun <84566142+6607changchun@users.noreply.github.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-05-04 23:39:56 -05:00
Vincent Koc
68a500c465
fix(whatsapp): normalize onboarding allowlist numbers
...
Normalize WhatsApp onboarding allowlist entries to digit-only WhatsApp IDs and reject invalid owner-phone inputs during prompt validation.
2026-05-04 20:59:01 -07:00
Juan Flores
46a04099a4
fix(infra): skip POSIX tmp path on Windows ( #73533 )
...
Skip the POSIX `/tmp/openclaw` preferred path on Windows so temp files land under the trusted `os.tmpdir()`/`%TEMP%`-based `openclaw-<uid>` path instead of `C:\tmp\openclaw`.
Add regression coverage for Windows path selection and the WhatsApp media temp directory integration, plus a changelog entry.
Fixes #60713 .
Tests:
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/infra/tmp-openclaw-dir.ts src/infra/tmp-openclaw-dir.test.ts extensions/whatsapp/src/media.test.ts
- pnpm test src/infra/tmp-openclaw-dir.test.ts extensions/whatsapp/src/media.test.ts
- pnpm check:changed
Thanks @juan-flores077.
Co-authored-by: Juan Flores <112629487+juan-flores077@users.noreply.github.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-05-04 20:32:36 -05:00
Vincent Koc
841eb81baf
chore: better explicit message on whatsapp
2026-05-04 11:30:36 -07:00
Vincent Koc
3d3b0dad77
test(whatsapp): accept native Windows auth paths
2026-05-04 09:20:02 -07:00
Vincent Koc
071db2ca69
fix(whatsapp): capture login outcome output
2026-05-04 01:18:52 -07:00
Peter Steinberger
9efbae7acd
fix(whatsapp): route login qr through runtime
2026-05-04 09:07:42 +01:00
Vincent Koc
7b29fc36c3
test(whatsapp): sync auto-reply runtime mock
2026-05-03 18:54:36 -07:00
Peter Steinberger
828d071ada
test: fix whatsapp reply delivery mocks
2026-05-04 02:31:21 +01:00
scoootscooob
b0f947f61c
fix(whatsapp): honor group visible reply mode ( #76973 )
...
* fix(whatsapp): honor group visible reply mode
* fix(whatsapp): preserve direct reply defaults
2026-05-03 18:07:38 -07:00
Peter Steinberger
8dd6a2d323
fix(channels): preserve degraded voice text and mention boundaries
2026-05-03 12:17:11 +01:00
openclaw-clownfish[bot]
22748b1c36
feat(whatsapp): support native outbound mentions ( #73961 )
...
Merged via squash.
Prepared head SHA: bb1df9e681
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Reviewed-by: @BunsDev
2026-05-02 23:50:54 -05:00
Vincent Koc
0fad53a192
feat(whatsapp): support newsletter targets in message tool ( #73393 )
...
Summary:
- Adds WhatsApp `@newsletter` target normalization, outbound allowFrom bypass, channel session routing, composing-presence suppression, docs/changelog updates, and focused tests.
- Reproducibility: yes. Source inspection on current main shows a `120363401234567890@newsletter` target normalizes to null before outbound send, and the current session route has only direct/group semantics.
ClawSweeper fixups:
- Included follow-up commit: fix(clownfish): address review for ghcrawl-156943-autonomous-smoke (1)
- Included follow-up commit: feat(whatsapp): support newsletter targets in message tool
Validation:
- ClawSweeper review passed for head 9ff3f88202 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 9ff3f88202
Review: https://github.com/openclaw/openclaw/pull/73393#issuecomment-4338584612
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 20:09:31 +00:00
Peter Steinberger
e4f1dac93f
test: remove orphaned whatsapp session snapshot helper
2026-05-02 09:31:11 +01:00
Peter Steinberger
bd511be53d
refactor(whatsapp): remove legacy heartbeat runners
2026-05-02 08:40:07 +01:00
Peter Steinberger
53c4217110
fix(cron): keep pairing approvals out of automation recipients
2026-05-02 08:03:29 +01:00
Peter Steinberger
43121fb096
fix: guard provider-prefixed delivery targets
2026-05-02 05:30:41 +01:00
Peter Steinberger
0ecda680c8
fix: strip legacy tool-call text from replies
2026-05-02 02:38:26 +01:00
Peter Steinberger
6922500382
fix: end WhatsApp sockets during teardown
2026-05-02 02:29:14 +01:00
Peter Steinberger
06be5eee6a
fix: include quoted WhatsApp media in inbound context
2026-05-02 02:19:55 +01:00
Peter Steinberger
20945b84b4
feat: generalize message access groups ( #75813 )
2026-05-01 23:55:26 +01:00
Peter Steinberger
3961f52ab2
refactor: trim whatsapp test helper exports
2026-05-01 18:54:17 +01:00
Peter Steinberger
d647ba1c6f
refactor: trim whatsapp helper exports
2026-05-01 17:15:24 +01:00
Peter Steinberger
ebbd80a6a2
refactor: trim extension barrel leftovers
2026-05-01 14:46:29 +01:00
Peter Steinberger
ae0e57eefc
refactor: trim messaging runtime barrels
2026-05-01 14:42:47 +01:00