Skip to content

Cherry-pick: Channel infrastructure (38 commits) #1871

@alexey-pelykh

Description

@alexey-pelykh

Cherry-pick from upstream — Channel infrastructure

Source: openclaw/openclaw main branch
Scan session: 2026-03-24 (rescan after cursor reset)
Commits: 38 (30 clean, 8 partial)

Commits

# Hash Subject Author Files Tier
1 0277aa0159 Slack: fix review regressions Vincent Koc 7 PARTIAL
2 041c47419f fix(channels): preserve external catalog overrides (openclaw#52988) Nimrod Gutman 5 PARTIAL
3 2c3c48fd8d Channels: ignore enabled-only disabled plugin config Gustavo Madeira Santana 4 PARTIAL
4 986b772a89 Status: scope JSON plugin preload to configured channels Vincent Koc 5 PARTIAL
5 e64cc1983f Plugin SDK: use public discord subpath Vincent Koc 4 PARTIAL
6 f4cc93dc7d fix(onboarding): use scoped plugin snapshots to prevent OOM on low-memory hosts (openclaw#46763) Mason 15 PARTIAL
7 f71f44576a Status: lazy-load read-only account inspectors Vincent Koc 10 PARTIAL
8 fd7e283ac5 fix: tighten setup wizard typing Peter Steinberger 2 PARTIAL
9 0f290fe6d6 fix: narrow Slack outbound blocks opt type Peter Steinberger 1 PICK
10 11720510f5 Slack: own message tool blocks schema Gustavo Madeira Santana 1 PICK
11 17739910e9 refactor: centralize channel plugin registry lookups Peter Steinberger 2 PICK
12 1e54a4a6a3 Channels: test shared interactive support checks Vincent Koc 1 PICK
13 233ef31190 refactor(setup): reuse scoped config prelude in patched adapters Peter Steinberger 1 PICK
14 253ec7452f test: merge discord action listing cases Peter Steinberger 1 PICK
15 298832d170 Channels: add interactive message capability Vincent Koc 1 PICK
16 3105a1284a Tests: add plugin contract suites Vincent Koc 1 PICK
17 47a78a03a3 test: merge telegram action matrix cases Peter Steinberger 1 PICK
18 4a95e6529f test: merge slack validation cases Peter Steinberger 1 PICK
19 4becbc8b25 test: remove duplicate outbound plugin tests Peter Steinberger 2 PICK
20 501837058c refactor: share outbound media payload sequencing Peter Steinberger 2 PICK
21 50c8569786 test: merge discord reaction id resolution cases Peter Steinberger 1 PICK
22 592dd35ce9 refactor: share directory config helpers Peter Steinberger 2 PICK
23 6043e733a6 Tests: add plugin contract registry Vincent Koc 1 PICK
24 614844c9fe refactor: share plugin directory helpers Peter Steinberger 4 PICK
25 789730d1a3 test: merge telegram reaction id cases Peter Steinberger 1 PICK
26 83ee5c0328 perf(status): defer heavy startup loading Peter Steinberger 11 PICK
27 8aca2fdc73 refactor: reuse shared core account lookups Peter Steinberger 4 PICK
28 8b6806ab5c Channels: expose shared interactive support checks Vincent Koc 1 PICK
29 98877dc413 Slack: fail oversized merged block payloads Vincent Koc 2 PICK
30 a5ceb62d44 fix(whatsapp): trim leading whitespace in direct outbound sends (openclaw#43539) Luke 4 PICK
31 b1243bf15b Slack: render shared interactive payloads outbound Vincent Koc 1 PICK
32 c4b866855a test: merge signal reaction mapping cases Peter Steinberger 1 PICK
33 c9ba985839 Slack: consolidate message tool discovery Gustavo Madeira Santana 1 PICK
34 d1df3f37a6 test: trim signal and slack action cases Peter Steinberger 1 PICK
35 e3d021163c test: merge action media root cases Peter Steinberger 1 PICK
36 f6d8a1129d Slack: advertise shared interactive support Vincent Koc 1 PICK
37 f9408e57d2 test: merge slack action mapping cases Peter Steinberger 1 PICK
38 faae3e155d fix(whatsapp): remove outbound runtime cycle Vincent Koc 1 PICK

Execution

Pick up with: /pick-from-openclaw execute issue #N

Recommended strategy: staging branch
Note: 8 PARTIAL commits — some files may need discarding (files not on fork).

Metadata

Metadata

Assignees

No one assigned

    Labels

    cherry-pickCherry-pick from upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions