Skip to content

Cherry-pick: Discord adapter (1/2) (50 commits) #1873

@alexey-pelykh

Description

@alexey-pelykh

Cherry-pick from upstream — Discord adapter (batch 1/2)

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

Commits

# Hash Subject Author Files Tier
1 002cc07322 refactor: tighten plugin sdk channel surfaces Peter Steinberger 18 PARTIAL
2 005b25e9d4 refactor: split remaining monitor runtime helpers Peter Steinberger 19 PARTIAL
3 041f0b87ec perf(inbound): trim cold startup import graph (openclaw#52082) Vincent Koc 30 PARTIAL
4 05634eed16 Discord: own message tool components schema Gustavo Madeira Santana 2 PARTIAL
5 0a0ca804aa Discord: consolidate message tool discovery Gustavo Madeira Santana 2 PARTIAL
6 0bfaa36126 Discord: move group policy behind plugin boundary Gustavo Madeira Santana 9 PARTIAL
7 10660fe47d refactor(channels): share legacy dm allowlist paths Peter Steinberger 4 PARTIAL
8 1c6676cd57 Plugins: remove first-party legacy message discovery shims Gustavo Madeira Santana 12 PARTIAL
9 29ad211e76 fix(plugins): unblock Discord/Slack message tool sends and Feishu media (openclaw#52991) Vincent Koc 7 PARTIAL
10 2b5fa0931d Plugins: move config-backed directories behind channel plugins Gustavo Madeira Santana 22 PARTIAL
11 3382ef2724 perf: reduce plugin runtime startup overhead Peter Steinberger 24 PARTIAL
12 42c8c3c983 fix: resolve rebase type fallout in channel setup seams Peter Steinberger 6 PARTIAL
13 4aae0d4c9d Channels: centralize outbound payload contracts Vincent Koc 8 PARTIAL
14 5682ec37fa refactor: move Discord channel implementation to extensions/ (openclaw#45660) scoootscooob 283 PARTIAL
15 58cf9b865f refactor: route extension seams through public apis Peter Steinberger 13 PARTIAL
16 59bcac472e fix: gate setup-only plugin side effects Peter Steinberger 14 PARTIAL
17 5a68e8261e refactor: drop onboarding adapter sdk exports Peter Steinberger 8 PARTIAL
18 6fa0027c61 refactor: simplify tlon and discord setup accounts Peter Steinberger 5 PARTIAL
19 7764f717e9 refactor: make OutboundSendDeps dynamic with channel-ID keys (openclaw#45517) scoootscooob 41 PARTIAL
20 7964563299 refactor: finish plugin-owned channel runtime seams Peter Steinberger 29 PARTIAL
21 7ae09410b7 refactor: reuse shared account config lookups Peter Steinberger 6 PARTIAL
22 83ddb0fb4c Plugins: restore routing seams and discovery fixtures Vincent Koc 3 PARTIAL
23 85b7bc7edf refactor: remove dock shim and move session routing into plugins Peter Steinberger 30 PARTIAL
24 8b001d6e4d Channels: move onboarding adapters into extensions Peter Steinberger 18 PARTIAL
25 8e6a4c2d82 perf: narrow discord timeout import seam Peter Steinberger 5 PARTIAL
26 8fe08df2eb refactor(plugins): derive compat provider ids from manifests Peter Steinberger 8 PARTIAL
27 92700940d9 Plugin SDK: restore scoped imports for bundled channels Gustavo Madeira Santana 16 PARTIAL
28 92bea9704e Channels: add message action capabilities Vincent Koc 15 PARTIAL
29 a0e7e3c3cd refactor(discord): share plugin base config Peter Steinberger 3 PARTIAL
30 a2518a16ac refactor: split monitor runtime helpers Peter Steinberger 7 PARTIAL
31 b4656f193a test: strengthen regression coverage and trim low-value checks Peter Steinberger 28 PARTIAL
32 c156f7c7e3 fix: reduce plugin and discord warning noise Peter Steinberger 10 PARTIAL
33 c74a50e4f1 refactor: share merged account config helper Peter Steinberger 11 PARTIAL
34 d163278e9c refactor: move channel delivery and ACP seams into plugins Peter Steinberger 24 PARTIAL
35 d663df7a74 Discord: lazy-load setup wizard surface Vincent Koc 6 PARTIAL
36 e56e4923bd refactor(hook-tests): share subagent hook helpers Peter Steinberger 3 PARTIAL
37 f1b2c5639a refactor(test): dedupe startup and nostr test fixtures Peter Steinberger 20 PARTIAL
38 f90d432de3 Plugins: honor native command aliases at dispatch Vincent Koc 4 PARTIAL
39 1b91fa9358 test: dedupe discord route fixture setup Peter Steinberger 1 PICK
40 208fb1aa35 test: share runtime group policy fallback cases Peter Steinberger 6 PICK
41 209f1a08d7 Plugins: dedupe routing imports in channel adapters Vincent Koc 2 PICK
42 2659fc6c97 fix: unblock discord startup on deploy rate limits Peter Steinberger 2 PICK
43 301594b448 refactor: share discord auto thread params Peter Steinberger 1 PICK
44 36e9a811cc test: dedupe discord auto thread harness Peter Steinberger 1 PICK
45 3a21f8b1e3 refactor: share discord proxy fetch failure helper Peter Steinberger 1 PICK
46 3eb039c554 test: dedupe discord forwarded media assertions Peter Steinberger 1 PICK
47 487a3ba8ce fix(discord): enforce users/roles allowlist in reaction ingress Robin Waslander 3 PICK
48 58a51e2746 refactor: share discord preflight shared fields Peter Steinberger 1 PICK
49 59be2c8679 test(discord): cover additional utility surfaces Vincent Koc 4 PICK
50 59d355bc48 Discord: add shared interactive renderer Vincent Koc 1 PICK

Execution

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

Recommended strategy: staging branch
Note: 38 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