fix(discord): autoThread ack reactions + exec approval null handling #1511
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed PR: Discord autoThread ack fixes + exec schema fix
PR Title
fix(discord): autoThread ack reactions + exec approval null handlingDescription
This PR fixes issues with Discord autoThread behavior and a schema validation bug in exec approvals.
Discord autoThread Fixes
Main Issue: When
autoThread: truewas enabled on a channel, the bot would respond to any message in any thread - including user-created threads where the bot wasn't mentioned. This was because the code skipped mention requirements for ALL threads when autoThread was enabled, not just bot-created threads.Problems:
Solution:
threadOwnerId === botId)requireMention: falseisDiscordAutoThreadOwnedByBot()helper for DRYExec Approval Schema Fix
Problem: Intermittent
invalid exec.approval.request params: at /resolvedPath: must be stringerrors when running exec commands.Root cause:
ExecApprovalRequestParamsSchemausedType.Optional(Type.String())which acceptsundefinedbut NOTnull. The calling code inbash-tools.exec.tspassesnull.Solution: Changed schema to
Type.Optional(Type.Union([Type.String(), Type.Null()]))for all optional string fields.