Tyler Yust
6f9e2b664c
fix: tighten dashboard session API metadata
2026-03-12 18:04:58 -07:00
Peter Steinberger
86a3149b2e
fix: harden windows npm runtime path
2026-03-12 23:03:19 +00:00
Robin Waslander
487a3ba8ce
fix(discord): enforce users/roles allowlist in reaction ingress
...
References GHSA-9vvh-2768-c8vp.
2026-03-12 03:13:46 +01:00
Peter Steinberger
68c674d37c
refactor(security): simplify system.run approval model
2026-03-11 01:43:06 +00:00
Peter Steinberger
7289c19f1a
fix(security): bind system.run approvals to exact argv text
2026-03-11 01:25:31 +00:00
Peter Steinberger
208fb1aa35
test: share runtime group policy fallback cases
2026-03-10 22:20:19 +00:00
Peter Steinberger
1df78202b9
refactor: share approval gateway client setup
2026-03-10 22:18:04 +00:00
David Guttman
b517dc089a
feat(discord): add autoArchiveDuration config option ( #35065 )
...
* feat(discord): add autoArchiveDuration config option
Add config option to control auto-archive duration for auto-created threads:
- autoArchiveDuration: 60 (default), 1440, 4320, or 10080
- Sets archive duration in minutes (1hr/1day/3days/1week)
- Accepts both string and numeric values
- Discord's default was 60 minutes (hardcoded)
Example config:
```yaml
channels:
discord:
guilds:
GUILD_ID:
channels:
CHANNEL_ID:
autoThread: true
autoArchiveDuration: 10080 # 1 week
```
* feat(discord): add autoArchiveDuration changelog entry (#35065 ) (thanks @davidguttman)
---------
Co-authored-by: Onur <onur@textcortex.com >
2026-03-10 23:13:24 +01:00
Josh Avant
0687e04760
fix: thread runtime config through Discord/Telegram sends ( #42352 ) (thanks @joshavant) ( #42352 )
2026-03-10 13:30:57 -05:00
Harold Hunt
de49a8b72c
Telegram: exec approvals for OpenCode/Codex ( #37233 )
...
Merged via squash.
Prepared head SHA: f243379094
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Reviewed-by: @huntharo
2026-03-09 23:04:35 -04:00
Hermione
64746c150c
fix(discord): apply effective maxLinesPerMessage in live replies ( #40133 )
...
Merged via squash.
Prepared head SHA: 031d032534
Co-authored-by: rbutera <6047293+rbutera@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-10 01:30:24 +03:00
Peter Steinberger
6a8081a7f3
refactor(routing): centralize inbound last-route policy
2026-03-08 02:16:03 +00:00
Vincent Koc
ad80ecd445
Discord: fix native command context test args
2026-03-07 17:34:11 -08:00
Peter Steinberger
e381ab630e
refactor(channels): share native command session targets
2026-03-08 01:27:05 +00:00
Peter Steinberger
6016e22cc0
refactor(discord): compose native command routes
2026-03-08 01:27:05 +00:00
Peter Steinberger
547436bca7
refactor(discord): extract inbound context helpers
2026-03-08 01:27:05 +00:00
Peter Steinberger
eb9e78d6d0
fix(discord): default missing native command args
2026-03-08 01:17:59 +00:00
Peter Steinberger
8f719e541a
refactor(discord): extract native command session targets
2026-03-08 01:15:56 +00:00
Peter Steinberger
9d10697227
refactor(discord): extract native command context builder
2026-03-08 01:15:29 +00:00
Peter Steinberger
c1d07b09ce
refactor(discord): extract route resolution helpers
2026-03-08 01:15:29 +00:00
Peter Steinberger
bc91ae9ca0
fix(discord): preserve native command session keys
2026-03-08 01:06:09 +00:00
Vincent Koc
83290c5cef
Discord: format exec approval tests
2026-03-07 16:43:22 -08:00
Josh Avant
25252ab5ab
gateway: harden shared auth resolution across systemd, discord, and node host
2026-03-07 18:28:32 -06:00
Peter Steinberger
990fc36cbd
refactor: share sampled entry summary formatting
2026-03-08 00:05:24 +00:00
Peter Steinberger
eeba93d63d
fix(discord): pass gateway auth to exec approvals
...
Pass resolved gateway token/password into the Discord exec approvals GatewayClient startup path so token-auth installs stop failing approvals with gateway token mismatch.
Fixes #38179
Adjacent investigation: #35147 by @0riginal-claw
Co-authored-by: 0riginal-claw <0rginal_claw@0rginal-claws-Mac-mini.local >
2026-03-07 23:47:48 +00:00
Peter Steinberger
4956271da1
refactor: share provider allowlist input normalization
2026-03-07 23:27:51 +00:00
Peter Steinberger
99d14a820a
refactor: share route policy evaluation in chat monitors
2026-03-07 23:27:51 +00:00
Peter Steinberger
be9ea991de
fix(discord): avoid native plugin command collisions
2026-03-07 21:59:44 +00:00
Peter Steinberger
f51cac277c
fix(discord): make message listener non-blocking ( #39154 , thanks @yaseenkadlemakki)
...
Co-authored-by: Yaseen Kadlemakki <yaseen82@gmail.com >
2026-03-07 21:13:47 +00:00
Peter Steinberger
30d091b2fb
refactor: share thread binding id parser
2026-03-07 20:33:50 +00:00
Peter Steinberger
2bcd56cfac
refactor: unify DM pairing challenge flows
2026-03-07 20:33:50 +00:00
Peter Steinberger
724d2d58fa
fix(discord): avoid false model picker mismatch warning ( #39105 )
...
Land #39105 by @akropp.
Co-authored-by: Adam Kropp <adam@thekropp.com >
2026-03-07 19:32:35 +00:00
Peter Steinberger
acf3ff91e4
refactor: dedupe discord native command test scaffolding
2026-03-07 19:02:01 +00:00
jsk
262fef6ac8
fix(discord): honor commands.allowFrom in guild slash auth ( #38794 )
...
* fix(discord): honor commands.allowFrom in guild slash auth
* Update native-command.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update native-command.commands-allowfrom.test.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(discord): address slash auth review feedback
* test(discord): add slash auth coverage for allowFrom variants
* fix: add changelog entry for discord slash auth fix (#38794 ) (thanks @jskoiz)
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Shadow <hi@shadowing.dev >
2026-03-07 12:03:52 -06:00
Josh Avant
8e20dd22d8
Secrets: harden SecretRef-safe models.json persistence ( #38955 )
2026-03-07 11:28:39 -06:00
Peter Steinberger
bffec0f5d5
refactor(discord): dedupe message preflight test runners
2026-03-07 17:05:23 +00:00
Peter Steinberger
9849ee8390
refactor(discord): share message handler test scaffolding
2026-03-07 17:05:23 +00:00
Peter Steinberger
3381efc5c1
refactor(discord): dedupe native command ACP routing test setup
2026-03-07 17:05:23 +00:00
Peter Steinberger
e51bad0c3a
refactor(discord): dedupe preflight test builders
2026-03-07 17:05:23 +00:00
Muhammed Mukhthar CM
4f08dcccfd
Mattermost: add interactive model picker ( #38767 )
...
Merged via squash.
Prepared head SHA: 0883654e88
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com >
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com >
Reviewed-by: @mukhtharcm
2026-03-07 21:45:29 +05:30
Peter Steinberger
3c71e2bd48
refactor(core): extract shared dedup helpers
2026-03-07 10:41:05 +00:00
Tak Hoffman
8873e13f1e
fix(gateway): stop stale-socket restarts before first event ( #38643 )
...
* fix(gateway): guard stale-socket restarts by event liveness
* fix(gateway): centralize connect-time liveness tracking
* fix(web): apply connected status patch atomically
* fix(gateway): require active socket for stale checks
* fix(gateway): ignore inherited stale event timestamps
2026-03-07 00:58:08 -06:00
Altay
6e962d8b9e
fix(agents): handle overloaded failover separately ( #38301 )
...
* fix(agents): skip auth-profile failure on overload
* fix(agents): note overload auth-profile fallback fix
* fix(agents): classify overloaded failures separately
* fix(agents): back off before overload failover
* fix(agents): tighten overload probe and backoff state
* fix(agents): persist overloaded cooldown across runs
* fix(agents): tighten overloaded status handling
* test(agents): add overload regression coverage
* fix(agents): restore runner imports after rebase
* test(agents): add overload fallback integration coverage
* fix(agents): harden overloaded failover abort handling
* test(agents): tighten overload classifier coverage
* test(agents): cover all-overloaded fallback exhaustion
* fix(cron): retry overloaded fallback summaries
* fix(cron): treat HTTP 529 as overloaded retry
2026-03-07 01:42:11 +03:00
Vincent Koc
38f46e80b0
chore: code/dead tests cleanup ( #38286 )
...
* Discord: assert bot-self filter queue guard
* Tests: remove dead gateway SIGTERM placeholder
2026-03-06 14:27:02 -05:00
Bob
063e493d3d
fix: decouple Discord inbound worker timeout from listener timeout ( #36602 ) (thanks @dutifulbob) ( #36602 )
...
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com >
2026-03-06 00:09:14 +01:00
Bob
6a705a37f2
ACP: add persistent Discord channel and Telegram topic bindings ( #34873 )
...
* docs: add ACP persistent binding experiment plan
* docs: align ACP persistent binding spec to channel-local config
* docs: scope Telegram ACP bindings to forum topics only
* docs: lock bound /new and /reset behavior to in-place ACP reset
* ACP: add persistent discord/telegram conversation bindings
* ACP: fix persistent binding reuse and discord thread parent context
* docs: document channel-specific persistent ACP bindings
* ACP: split persistent bindings and share conversation id helpers
* ACP: defer configured binding init until preflight passes
* ACP: fix discord thread parent fallback and explicit disable inheritance
* ACP: keep bound /new and /reset in-place
* ACP: honor configured bindings in native command flows
* ACP: avoid configured fallback after runtime bind failure
* docs: refine ACP bindings experiment config examples
* acp: cut over to typed top-level persistent bindings
* ACP bindings: harden reset recovery and native command auth
* Docs: add ACP bound command auth proposal
* Tests: normalize i18n registry zh-CN assertion encoding
* ACP bindings: address review findings for reset and fallback routing
* ACP reset: gate hooks on success and preserve /new arguments
* ACP bindings: fix auth and binding-priority review findings
* Telegram ACP: gate ensure on auth and accepted messages
* ACP bindings: fix session-key precedence and unavailable handling
* ACP reset/native commands: honor fallback targets and abort on bootstrap failure
* Config schema: validate ACP binding channel and Telegram topic IDs
* Discord ACP: apply configured DM bindings to native commands
* ACP reset tails: dispatch through ACP after command handling
* ACP tails/native reset auth: fix target dispatch and restore full auth
* ACP reset detection: fallback to active ACP keys for DM contexts
* Tests: type runTurn mock input in ACP dispatch test
* ACP: dedup binding route bootstrap and reset target resolution
* reply: align ACP reset hooks with bound session key
* docs: replace personal discord ids with placeholders
* fix: add changelog entry for ACP persistent bindings (#34873 ) (thanks @dutifulbob)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-05 09:38:12 +01:00
Shakker
b5a94d274b
style(skills): align formatting cleanup for dedupe changes
2026-03-05 05:11:06 +00:00
Shivam
fb4f52b710
style: fix formatting in skill-commands.test.ts and provider.ts
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 05:11:06 +00:00
Shivam
48decefbf4
fix(skills): deduplicate slash commands by skillName across all interfaces
...
Move skill-command deduplication by skillName from the Discord-only
`dedupeSkillCommandsForDiscord` into `listSkillCommandsForAgents` so
every interface (TUI, Slack, text) consistently sees a clean command
list without platform-specific workarounds.
When multiple agents share a skill with the same name the old code
emitted `github` + `github_2` and relied on Discord to collapse them.
Now `listSkillCommandsForAgents` returns only the first registration
per skillName, and the Discord-specific wrapper is removed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 05:11:06 +00:00
Bob
61f7cea48b
fix: kill stuck ACP child processes on startup and harden sessions in discord threads ( #33699 )
...
* Gateway: resolve agent.wait for chat.send runs
* Discord: harden ACP thread binding + listener timeout
* ACPX: handle already-exited child wait
* Gateway/Discord: address PR review findings
* Discord: keep ACP error-state thread bindings on startup
* gateway: make agent.wait dedupe bridge event-driven
* discord: harden ACP probe classification and cap startup fan-out
* discord: add cooperative timeout cancellation
* discord: fix startup probe concurrency helper typing
* plugin-sdk: avoid Windows root-alias shard timeout
* plugin-sdk: keep root alias reflection path non-blocking
* discord+gateway: resolve remaining PR review findings
* gateway+discord: fix codex review regressions
* Discord/Gateway: address Codex review findings
* Gateway: keep agent.wait lifecycle active with shared run IDs
* Discord: clean up status reactions on aborted runs
* fix: add changelog note for ACP/Discord startup hardening (#33699 ) (thanks @dutifulbob)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-04 10:52:28 +01:00