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
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
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
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
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
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
cd747dc582
refactor(discord): share component allowlist checks
2026-02-14 21:52:19 +00:00
Peter Steinberger
47b6cde8ca
refactor(config): add dmPolicy aliases for Slack/Discord
2026-02-14 21:04:27 +01:00
Shadow
5ba72bd9bf
fix: add discord exec approval channel targeting ( #16051 ) (thanks @leonnardo)
2026-02-14 12:05:53 -06:00
Peter Steinberger
f5a4a202e5
perf(test): speed up discord proxy test
2026-02-14 17:56:39 +00: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
jasonftl
8025e7c6c2
fix(discord): respect gateway TLS config in exec approvals handler ( #16216 ) (thanks @jasonftl)
2026-02-14 14:53:38 +01:00
Peter Steinberger
54a242eaad
perf(test): gate monitor runtime logs during vitest
2026-02-14 01:14:56 +00:00
Peter Steinberger
d5e25e0ad8
refactor: centralize dispatcher lifecycle ownership
2026-02-14 00:41:37 +01:00
Peter Steinberger
6442512954
perf: reduce hotspot test startup and timeout costs
2026-02-13 20:03:01 +00:00
Peter Steinberger
f02247b6c5
fix(ci): fix discord proxy websocket binding and bluebubbles timeout status
2026-02-13 19:35:55 +00:00
Shadow
4b3c87b82d
fix: finalize discord presence config ( #10855 ) (thanks @h0tp-ftw)
2026-02-13 13:34:19 -06:00
Shadow
6acea69b20
Discord: refine presence config defaults ( #10855 ) (thanks @h0tp-ftw)
2026-02-13 13:34:19 -06:00
h0tp
5d8c6ef91c
feat(discord): add configurable presence (activity/status/type)
...
- Adds `activity`, `status`, `activityType`, and `activityUrl` to Discord provider config schema.
- Implements a `ReadyListener` in `DiscordProvider` to apply these settings on connection.
- Solves the issue where `@buape/carbon` ignores initial presence options in constructor.
- Validated manually and via existing test suite.
2026-02-13 13:34:19 -06:00
Shadow
5645f227f6
Discord: add gateway proxy docs and tests ( #10400 ) (thanks @winter-loo)
2026-02-13 13:26:51 -06:00
ludd50155
e55431bf84
fix(discord): restore gateway reconnect maxAttempts to 50
2026-02-13 13:26:51 -06:00
ludd50155
5f0debdfb2
Fix: check cleanups
2026-02-13 13:26:51 -06:00