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
Peter Steinberger
cd747dc582
refactor(discord): share component allowlist checks
2026-02-14 21:52:19 +00:00
Gustavo Madeira Santana
f94c06c53f
test: add explicit harness mock types
2026-02-14 16:51:25 -05:00
Peter Steinberger
b97191b81a
refactor(test): share discord send rest harness
2026-02-14 21:20:43 +00:00
Peter Steinberger
9d0a1e32bb
test: cover Slack/Discord dmPolicy aliases in monitor
2026-02-14 21:04:27 +01:00
Peter Steinberger
47b6cde8ca
refactor(config): add dmPolicy aliases for Slack/Discord
2026-02-14 21:04:27 +01:00
Peter Steinberger
fe5cc8f3ba
refactor(test): dedupe discord category handler setup
2026-02-14 19:58:20 +00:00
Shadow
5ba72bd9bf
fix: add discord exec approval channel targeting ( #16051 ) (thanks @leonnardo)
2026-02-14 12:05:53 -06:00
Peter Steinberger
4b9cb46c6e
refactor(outbound): dedupe poll threading + tighten duration semantics
2026-02-14 19:03:46 +01:00
Peter Steinberger
f5a4a202e5
perf(test): speed up discord proxy test
2026-02-14 17:56:39 +00:00
Robby
8e5689a84d
feat(telegram): add sendPoll support ( #16193 ) ( #16209 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b58492cfed
Co-authored-by: robbyczgw-cla <239660374+robbyczgw-cla@users.noreply.github.com>
Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Reviewed-by: @steipete
2026-02-14 18:34:30 +01:00
Shadow
c16bc71279
fix: add discord routing debug logging ( #16202 ) (thanks @jayleekr)
2026-02-14 11:03:30 -06:00
Shadow
ff32f43459
Discord: prefer gateway guild id in verbose log
2026-02-14 10:39:36 -06:00
Robby
078642b308
fix(discord): defer component interactions to prevent timeout ( #16287 )
...
* fix(discord): defer component interactions to prevent timeout
Discord requires interaction responses within 3 seconds. Button clicks
were routed through the LLM pipeline before responding, exceeding this
window and showing 'This interaction failed' to users.
Now immediately defers the interaction, then processes the agent
response asynchronously.
Fixes #16262
* fix: harden deferred interaction replies and silent chat finals (#16287 ) (thanks @robbyczgw-cla)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-14 17:38:01 +01:00
Peter Steinberger
e9de242159
refactor(exec-approvals): share request event types
2026-02-14 15:39:46 +00:00