Peter Steinberger
6aee2792d9
fix(whatsapp): exercise descriptor-safe credential persistence ( #119621 )
2026-08-05 10:36:36 -07:00
Peter Steinberger
60a8ec821c
refactor(plugins): reuse canonical error coercion ( #119451 )
2026-08-04 21:05:45 -07:00
Patrick Erichsen
1aea2df935
fix(plugins): refresh bundled channel skills ( #119020 )
2026-08-03 17:31:00 -07:00
Peter Steinberger
f9d9d1225a
refactor(channels): own the lifecycle status contract in SDK patch factories ( #118795 )
...
* refactor(sdk): add channel lifecycle patch factories
* refactor(channels): adopt lifecycle patches in a-m
* refactor(channels): adopt lifecycle patches in n-z
* refactor(runtime): lifecycle-own ambient registries
* test(slack): assert lifecycle factory fields
* fix(sdk): preserve lifecycle patch extras types
* test(zalouser): widen lifecycle status sink
* test(irc): avoid shadowed status patch
* fix(zalo): reuse account-agnostic media route
* fix(gateway): accept explicit channel ready recovery
* test(qa): assert terminal Slack block fact
* test(qa): restore Slack blocked lifecycle scenario
* test(gateway): lock explicit lifecycle recovery contract
2026-08-03 12:39:48 -07:00
Peter Steinberger
09e40d0b74
fix(whatsapp): honor disabled self-chat without widening group access ( #118711 )
2026-08-03 07:57:23 -07:00
Peter Steinberger
3b6cad7e31
fix(whatsapp): preserve terminal retry exhaustion lifecycle ( #118659 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 06:19:00 -07:00
Peter Steinberger
fe6fa891ea
fix(whatsapp): clear and migrate every Baileys credential class ( #118610 )
...
* fix(whatsapp): clear and migrate every auth credential class
* test(whatsapp): await nullable legacy migration detector
2026-08-03 03:54:41 -07:00
Peter Steinberger
8e35fb4963
test(channels): consolidate remaining channel scaffolding ( #118493 )
...
* test(channels): consolidate channel scaffolding
* test(channels): fix helper typings
2026-08-02 23:03:54 -07:00
Vincent Koc
f32a266134
fix(whatsapp): render quoted self-chat replies with cached LIDs ( #116814 )
...
* fix(whatsapp): align quoted replies with resolved jid
* fix(whatsapp): preserve inbound media type import
2026-08-03 12:54:28 +08:00
Vincent Koc
f5637c0685
fix(qa): restore prerelease validation ( #118255 )
...
* test(whatsapp): return accepted monitor send results
* fix(qa): recognize Code Mode write results
2026-08-03 10:09:19 +08:00
Vincent Koc
b35b8e286d
fix(plugins): unblock prerelease validation ( #118103 )
...
* fix(plugins): align compatibility registry identity
* fix(slack): compact response URL native fallbacks
* test(plugins): stabilize prerelease runtime checks
* fix(packaging): include CUA driver in root package
* fix(packaging): declare CUA runtime dependency
* fix(cua): defer native driver loading
2026-08-03 04:48:05 +08:00
Peter Steinberger
0c32879d45
feat(channels): publish recorded lifecycle from bundled channel transitions ( #118110 )
...
* feat(channels): publish recorded lifecycle from bundled channel transitions
* chore: remove lifecycle changelog entry
2026-08-02 13:04:49 -07:00
Santiago
a2ffa4850d
docs(whatsapp): document wacli messages show verification ( #116410 )
2026-08-02 12:03:42 -07:00
Peter Steinberger
641a4bf7b0
fix(whatsapp): reject unaccepted provider deliveries ( #118114 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 12:01:38 -07:00
Dinesh H Suthar
35b00ddd14
fix(reply): preserve retryable final delivery recovery ( #117597 )
...
* fix(reply): preserve retryable final recovery
* fix(reply): preserve partial-delivery recovery markers
* fix(reply): keep delivery classification cycle-free
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 05:17:02 -07:00
Peter Steinberger
0aa262a795
fix(whatsapp): keep inbound media diagnostics safely redacted ( #117939 )
2026-08-02 03:16:24 -07:00
clawsweeper[bot]
c8688051ed
fix(whatsapp): log terminal inbound media failures ( #117717 )
...
* fix(whatsapp): log terminal inbound media failures
* fix(whatsapp): log terminal inbound media failures
* fix(whatsapp): surface media enrichment failures
* test(whatsapp): preserve caught media errors
---------
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 17:13:16 +08:00
Peter Steinberger
d6aafb3dfc
refactor(whatsapp): split inbox lifecycle coverage ( #117910 )
...
* test(whatsapp): split inbox lifecycle coverage
* test(whatsapp): import metadata cache type
2026-08-02 02:09:47 -07:00
Peter Steinberger
dc38411ca4
test: consolidate WhatsApp monitor suites ( #117854 )
...
* test: consolidate WhatsApp monitor suites
* test: preserve WhatsApp max-lines ratchet path
2026-08-02 00:20:17 -07:00
Peter Steinberger
e7f1202bbb
refactor(whatsapp): consolidate QA message extraction ( #117836 )
2026-08-01 23:18:09 -07:00
clawsweeper[bot]
749226265c
fix(whatsapp): preserve source direction for automatic reactions ( #117697 )
...
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-08-01 23:16:08 -07:00
Peter Steinberger
8ae21a6ae5
refactor(approvals): share native channel factory routing ( #117811 )
...
* refactor(approvals): share native channel factory routing
* fix(approvals): pin routed factory target types
* refactor(approvals): isolate forwarding factory entrypoint
* refactor(plugin-sdk): rename flat approval params type; budget +1 for routed approval factory
* chore(plugin-sdk): regenerate API baseline for routed approval factory
* fix(channels): bind approval authorizer references for lint
2026-08-01 23:08:36 -07:00
Peter Steinberger
d6e537a859
refactor(channels): share persistent state error reporting ( #117813 )
2026-08-01 22:06:25 -07:00
Peter Steinberger
ccee629359
refactor(plugins): delete registry compat scaffolding ( #117749 )
...
* refactor(plugins): delete registry compat scaffolding
* test(plugins): update CLI registry handle mock
* fix(plugins): preserve explicitly initialized hook registries
* test(plugins): update registry ownership fixtures
* fix(channels): restore registry snapshot memo
2026-08-01 21:18:47 -07:00
Peter Steinberger
95c037863f
refactor(whatsapp): deduplicate reply delivery test fixtures ( #117710 )
2026-08-01 18:46:59 -07:00
Peter Steinberger
7c9794b5c6
fix(whatsapp): normalize future-proof QA poll and video note ingress ( #117579 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 12:30:49 -07:00
Vincent Koc
263741b1f0
fix(ci): align release validation fixtures ( #117494 )
...
* fix(release): align beta 6 e2e fixtures
* fix(doctor): preserve missing state startup signal
* test(release): align beta e2e contracts
* test(agents): use canonical empty auth store
* test(agents): isolate prompt cooldown scheduling
* test(release): align main validation fixtures
* test(release): accept Code Mode plugin tool evidence
* fix(test): repair release validation checks
* test(cron): assert structured session targets
2026-08-02 00:39:36 +08:00
Peter Steinberger
568ea29d2e
refactor(plugins): inherit shared package boundary settings ( #117474 )
2026-08-01 09:11:09 -07:00
Peter Steinberger
aa2a5c96f6
feat(channels): record account lifecycle facts and retire inferred health vocabularies ( #117300 )
...
* fix(channels): record account lifecycle facts
* fix(channels): bound recorded lifecycle grace
* fix(channels): preserve authored health state
* test: dedupe health snapshot type literal and fix spread order
2026-08-01 02:51:47 -07:00
Peter Steinberger
8ed6c98b08
fix(whatsapp): reuse hydrated group participant metadata ( #117234 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 00:11:34 -07:00
Peter Steinberger
1f130ce61d
fix(whatsapp): normalize provider self-echo identities ( #117228 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 00:08:28 -07:00
Peter Steinberger
121a862105
fix(whatsapp): preserve accepted delivery across failures ( #117198 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 21:31:06 -07:00
Peter Steinberger
9e4381eb1c
refactor(channels): unify bundled channel setup contracts ( #117106 )
...
* refactor(channels): canonicalize bundled setup contracts
* test(matrix): use scoped environment fixtures
2026-07-31 16:57:29 -07:00
Peter Steinberger
533807ab61
refactor: consolidate secure channel approval reaction bindings ( #117105 )
2026-07-31 16:51:25 -07:00
Peter Steinberger
fbb489fedf
fix(whatsapp): preserve transport envelope ownership ( #116989 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 12:19:17 -07:00
Peter Steinberger
e922b53675
fix(whatsapp): restore interactive mentions and inbound media variants ( #116901 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 08:41:00 -07:00
Peter Steinberger
a91d92796f
fix(whatsapp): preserve interactive replies and normalize media MIME ( #116816 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:11:15 -07:00
Peter Steinberger
402bd4af01
fix(whatsapp): keep sends running when typing presence fails ( #116739 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 03:17:24 -07:00
pash-openai
e52354ea13
fix(build): pin typebox to a published release ( #116333 )
2026-07-30 09:58:51 +00:00
Dallin Romney
b765ada174
fix: stop WhatsApp restart loop after remote logout ( #114445 )
2026-07-30 16:48:32 +08:00
Yuval Dinodia
4e5bf66fb1
fix(whatsapp): silently drops inbound messages when more than 450 are waiting ( #116179 )
...
* fix(whatsapp): silently drops inbound messages when more than 450 are waiting
WhatsApp asked the shared ingress monitor to enforce a 450-entry cap and a
30-day TTL on pending durable ingress rows. Pending rows are undelivered work,
not history, and the monitor runs retention before its first claim, so an
account holding 451 accepted messages lost the oldest one to a hard DELETE
before it could ever be dispatched. Loss scaled linearly with backlog depth and
left no tombstone, no failure record, and no retained payload.
Drop pendingTtlMs and pendingMaxEntries from the WhatsApp retention config.
Completed and failed retention is unchanged so on-disk history stays bounded,
and the config now matches every other channel on the shared monitor, whose
defaults cover completed and failed only. The two values were carried over
mechanically from the pre-SQLite openKeyedStore replay-guard cache in
b0679d1f13 and inlined verbatim in #115824 .
Add regression coverage driving the real monitor and the real SQLite ingress
queue over 451 accepted records.
* test(whatsapp): cover pending ingress retention
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 12:20:27 +08:00
joshavant
21db50efc7
refactor(whatsapp): keep inbound boundary transport-private
2026-07-29 20:34:55 -05:00
Vincent Koc
5c296b5a54
fix(whatsapp): preserve injected listener normalization
2026-07-29 20:34:55 -05:00
Vincent Koc
f970e5093b
refactor(channels): add portable inbound boundary
2026-07-29 20:34:55 -05:00
mids-neo
821b929c5b
fix(whatsapp): emit sent events for native replies ( #97728 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 04:28:11 +08:00
Vincent Koc
7833bab183
Merge pull request #115806 from openclaw/refactor/whatsapp-monitor-orchestration
...
refactor(whatsapp): split inbound monitor orchestration
2026-07-29 21:56:59 +08:00
loong
7bdd1f646b
fix(memory-host-sdk): resolve stable execPath for worker fork to survive Homebrew Node upgrades ( #99318 )
...
* fix(memory): survive Homebrew Node upgrades
Co-authored-by: 袁龙辉0668001277 <yuan.longhui@xydigit.com >
* test(whatsapp): isolate last-route coverage
* fix(deepinfra): preserve offline model compatibility
* test(memory): isolate migration cleanup lifecycle
* test: stabilize aggregate extension gates
* ci: retrigger pull request workflow
* test: preserve inherited Node options
* test(cli): tolerate cold hosted startup
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 06:49:02 -04:00
Peter Steinberger
986e5d1758
refactor(channels): share ingress retention defaults ( #115824 )
2026-07-29 06:24:30 -04:00
Vincent Koc
9e246deb6e
test(whatsapp): rely on monitor cache coverage
2026-07-29 17:56:40 +08:00
Vincent Koc
6d6908eabc
fix(whatsapp): keep monitor helper types internal
2026-07-29 17:18:57 +08:00