yinghaosang
59384001ad
channels: migrate core channel account listing to factory
2026-02-16 23:53:19 +01:00
Peter Steinberger
389eb8ba10
refactor(test): dedupe discord component registry fixtures
2026-02-16 22:43:37 +00:00
Peter Steinberger
abbe04b184
refactor(discord): share attachment media resolution loop
2026-02-16 22:43:30 +00:00
Peter Steinberger
1aabe9712a
refactor(discord): dedupe reaction notification flow
2026-02-16 22:39:42 +00:00
Peter Steinberger
05bfb7f9f9
refactor(test): reuse discord message handler base context harness
2026-02-16 22:39:42 +00:00
pip-nomel
1567d6cbb4
feat(discord): download attachments from forwarded messages ( #17049 )
...
Co-authored-by: Shadow <shadow@openclaw.ai >
2026-02-16 15:23:40 -06:00
Shadow
c593709d25
Discord: add per-button component allowlist
2026-02-16 15:15:00 -06:00
Shadow
05a83b9e97
Discord: add reusable component option
2026-02-16 14:22:49 -06:00
zerone0x
81d2a91a90
fix(discord): send initial message for non-forum thread creation ( #18117 )
...
Co-authored-by: Shadow <shadow@openclaw.ai >
2026-02-16 13:48:46 -06:00
victor-wu.eth
7c240a2b58
feat(discord): faster reaction status state machine (watchdog + debounce) ( #18248 )
...
* fix(discord): avoid unnecessary message fetches in reaction notifications
* style(discord): format reaction listener for CI
* feat(discord): add reaction status machine and fix tool/final wiring
* fix(discord): harden reaction status transitions and cleanup
* revert(discord): restore status-machine flow from 0a5a72204
* fix(auto-reply): restore lifecycle callback forwarding for channels
* chore(ci): add daily upstream sync workflow for custom branch
* fix(discord): non-blocking reactions and robust cleanup
* chore: remove unrelated workflow from Discord-only PR
* Discord: streamline reaction handling
* Docs: add Discord reaction changelog
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-16 13:38:39 -06:00
Shadow
1b7301051b
Config: require Discord ID strings ( #18220 )
2026-02-16 12:22:58 -06:00
Peter Steinberger
c37f65a449
refactor(tests): share harnesses for cli and monitor fixtures
2026-02-16 17:06:40 +00:00
Peter Steinberger
1d37389490
test: annotate harness mocks to avoid TS2742 in CI
2026-02-16 15:19:11 +00:00
Peter Steinberger
93ca0ed54f
refactor(channels): dedupe transport and gateway test scaffolds
2026-02-16 14:59:31 +00:00
Shadow
a61c2dc4bd
Discord: add component v2 UI tool support ( #17419 )
2026-02-15 21:19:25 -06:00
seewhy
ddcc7a1a5d
fix(discord): dedupe native skill commands by skillName ( #17365 )
...
* fix(discord): dedupe native skill commands by skill name
* Changelog: credit Discord skill dedupe
---------
Co-authored-by: yume <yume@yumedeMacBook-Pro.local >
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-15 20:33:51 -06:00
Shakker
09566b1693
fix(discord): preserve channel session keys via channel_id fallbacks ( #17622 )
...
* fix(discord): preserve channel session keys via channel_id fallbacks
* docs(changelog): add discord session continuity note
* Tests: cover discord channel_id fallback
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-15 20:30:17 -06:00
Peter Steinberger
555eb3f62c
refactor(discord): share member access state
2026-02-16 01:55:40 +00:00
Peter Steinberger
19f53543d2
refactor(utils): share chunkItems helper
2026-02-16 01:52:30 +00:00
Peter Steinberger
acb2a1ce37
perf(test): fold discord voice hardening into web media suite
2026-02-16 00:18:27 +00:00
Peter Steinberger
2158b09b9d
perf(test): consolidate discord monitor utils
2026-02-15 23:14:42 +00:00
Xinhua Gu
c682634188
fix(discord): role-based allowlist never matches (Carbon Role objects stringify to mentions) ( #16369 )
...
* fix(discord): role-based allowlist never matches because Carbon Role objects stringify to mentions
Carbon's GuildMember.roles getter returns Role[] objects, not raw ID strings.
String(Role) produces '<@&123456>' which never matches the plain role IDs
in the guild allowlist config.
Use data.rawMember.roles (raw Discord API string array) instead of
data.member.roles (Carbon Role[] objects) for role ID extraction.
Fixes #16207
* Docs: add discord role allowlist changelog entry
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-15 13:05:46 -06:00
Peter Steinberger
c118f6c688
fix(discord): fix component parsing and modal field typing
2026-02-15 18:50:36 +00:00
Shadow
f92900fc20
Revert "Discord: add preflight role allowlist regression test"
...
This reverts commit 41f546faa5 .
2026-02-15 12:45:46 -06:00
Shadow
41f546faa5
Discord: add preflight role allowlist regression test
2026-02-15 12:33:31 -06:00
Peter Steinberger
65f8b46c15
fix(ci): stabilize media and session store tests
2026-02-15 18:12:15 +00:00
Peter Steinberger
be9b5cefbd
fix(ci): stabilize state-dir dependent tests
2026-02-15 17:57:13 +00:00
Peter Steinberger
1f1e97674f
refactor(allowlists): share user entry collection
2026-02-15 17:45:16 +00:00
Shadow
c6b3736fe7
fix: dedupe probe/token base types ( #16986 ) (thanks @iyoda)
2026-02-15 11:36:54 -06:00
Shadow
b6069fc68c
feat: support per-channel ackReaction config ( #17092 ) (thanks @zerone0x)
2026-02-15 11:30:25 -06:00
Peter Steinberger
25be51967a
refactor(channels): share allowlist resolution summary
2026-02-15 17:26:27 +00:00
Peter Steinberger
63ab5bfddc
refactor(discord): share component route + ack
2026-02-15 17:23:56 +00:00
Peter Steinberger
ac3db098ab
refactor(discord): share component allowlist check
2026-02-15 17:17:03 +00:00
Peter Steinberger
b2c42697dd
refactor(discord): reuse preflight param types
2026-02-15 17:14:54 +00:00
Sebastian
6277698f86
test(discord): fix updated test harness mocks
2026-02-15 11:50:16 -05:00
Shadow
9203a2fdb1
Discord: CV2! ( #16364 )
2026-02-15 10:24:53 -06:00
Peter Steinberger
41d053a06f
refactor(discord): dedupe application fetch
2026-02-15 16:08:05 +00:00
Mr. Guy
e927fd1e35
fix: allow agent workspace directories in media local roots ( #17136 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7545ef1e19
Co-authored-by: MisterGuy420 <255743668+MisterGuy420@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-15 10:53:45 -05:00
Peter Steinberger
9d7113c74c
refactor(channels): share allowlist config patch helper
2026-02-15 13:44:00 +00:00
Peter Steinberger
37aaca0d4e
refactor(discord): share component DM auth context
2026-02-15 12:56:06 +00:00
Peter Steinberger
913b137090
refactor(discord): dedupe reaction listener params
2026-02-15 07:01:24 +00:00
Peter Steinberger
2bd672f3ab
refactor(discord): dedupe component context + reaction timing
2026-02-15 06:27:16 +00:00
Peter Steinberger
f41f6d3243
refactor(channels): share allowlist user resolve helpers
2026-02-15 05:28:46 +00:00
Peter Steinberger
d5180b9e88
refactor(discord): dedupe guild listing
2026-02-15 04:13:14 +00:00
Vignesh Natarajan
66414b28ba
test (discord): cover empty guild channels config fallback
2026-02-14 19:04:13 -08:00
Vignesh Natarajan
7b4984e73d
fix (discord): ignore empty guild channel maps in allowlist resolution
2026-02-14 19:04:10 -08:00
Peter Steinberger
cf04208cb9
fix(allowlist): canonicalize Slack/Discord allowFrom
2026-02-15 03:46:16 +01:00
Peter Steinberger
725741486f
fix(discord): harden voice message media loading
2026-02-15 03:41:08 +01:00
Peter Steinberger
371446456c
refactor(test): dedupe discord status tool-result test setup
2026-02-14 23:51:42 +00:00
Peter Steinberger
384a2f6a19
refactor(test): dedupe discord handler setup
2026-02-14 23:51:41 +00:00