cpojer
f2f17bafbc
chore: Fix types in tests 30/N.
2026-02-17 14:32:57 +09:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
cpojer
8d6e345338
chore: Fix types in tests 22/N.
2026-02-17 12:23:12 +09:00
cpojer
8ece8215aa
chore: Fix types in tests 18/N.
2026-02-17 12:00:29 +09:00
cpojer
058eb85762
chore: Fix types in tests 10/N.
2026-02-17 11:22:49 +09:00
Sebastian
2b3ecee7c5
fix(actions): layer per-account gate fallback
2026-02-16 20:59:30 -05:00
Peter Steinberger
64fc82844e
refactor(channels): share prefixed target parsing
2026-02-17 00:32:34 +00:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Peter Steinberger
fbd3786e7a
refactor(channels): share target parsing helpers
2026-02-17 00:11:02 +00:00
Peter Steinberger
0a188ee49a
test(ci): stabilize update and discord process tests
2026-02-16 23:47:57 +00:00
Peter Steinberger
12a947223b
fix(ci): restore main checks after bulk merges
2026-02-16 23:47:27 +00:00
Peter Steinberger
eaa2f7a7bf
fix(ci): restore main lint/typecheck after direct merges
2026-02-16 23:26:11 +00:00
尹凯
3f617e33b7
style(discord): format provider after proxy fetch changes
2026-02-17 00:02:09 +01:00
尹凯
e997545d4b
fix(discord): apply proxy to app-id and allowlist REST lookups
2026-02-17 00:02:09 +01:00
Clawdbot
952db1a3e2
fix(discord): route audioAsVoice payloads through voice message API
...
deliverDiscordReply now checks payload.audioAsVoice and routes through
sendVoiceMessageDiscord instead of sendMessageDiscord when true.
This matches the existing Telegram behavior where audioAsVoice triggers
the voice message path (wantsVoice: true).
Fixes #17990
2026-02-17 00:00:34 +01:00
Rain
a0ab301dc3
Fix Discord auto-thread attempting to thread in Forum/Media channels\n\nCreating threads on messages within Forum/Media channels is often redundant\nor invalid (as messages are already posts). This prevents API errors and spam.\n\nFix: Check channel type before attempting auto-thread creation.
2026-02-16 23:59:16 +01:00
Rain
b90d7625e5
Fix Discord session routing continuity (enable lastRoute for groups)\n\nPreviously, 'updateLastRoute' was only enabled for Direct Messages.\nThis meant that group/channel sessions did not update their routing\nmetadata (last channel/to/accountId) in 'session-meta.json'.\n\nIf the bot restarted or a proactive cron job tried to send a message\nto a group session using 'sessions_send' without an explicit 'to' field,\nit would fail because 'lastRoute' was missing or stale.\n\nFix: Enable 'updateLastRoute' for all Discord messages (Group + DM),\nensuring the session store always has the latest valid routing target.
2026-02-16 23:59:16 +01:00
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