fix(mattermost): read replyTo param in plugin handleAction send (#41176)

Merged via squash.

Prepared head SHA: 33cac4c33f
Co-authored-by: hnykda <2741256+hnykda@users.noreply.github.com>
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com>
Reviewed-by: @mukhtharcm
This commit is contained in:
Daniel Hnyk
2026-03-10 08:49:54 +01:00
committed by GitHub
parent 3495563cfe
commit 450d49ea52
3 changed files with 67 additions and 1 deletions

View File

@@ -157,7 +157,9 @@ const mattermostMessageActions: ChannelMessageActionAdapter = {
}
const message = typeof params.message === "string" ? params.message : "";
const replyToId = typeof params.replyToId === "string" ? params.replyToId : undefined;
// Match the shared runner semantics: trim empty reply IDs away before
// falling back from replyToId to replyTo on direct plugin calls.
const replyToId = readMattermostReplyToId(params);
const resolvedAccountId = accountId || undefined;
const mediaUrl =
@@ -201,6 +203,18 @@ const meta = {
quickstartAllowFrom: true,
} as const;
function readMattermostReplyToId(params: Record<string, unknown>): string | undefined {
const readNormalizedValue = (value: unknown) => {
if (typeof value !== "string") {
return undefined;
}
const trimmed = value.trim();
return trimmed || undefined;
};
return readNormalizedValue(params.replyToId) ?? readNormalizedValue(params.replyTo);
}
function normalizeAllowEntry(entry: string): string {
return entry
.trim()