Skip to content

Commit 043c625

Browse files
author
Cassie Gray
committed
fix(discord): skip PK lookup for bound webhook echoes
1 parent 91fb61c commit 043c625

2 files changed

Lines changed: 22 additions & 15 deletions

File tree

extensions/discord/src/monitor/message-handler.preflight.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,7 @@ describe("preflightDiscordMessage", () => {
484484

485485
expect(restGet).toHaveBeenCalledTimes(1);
486486
expect(result).toBeNull();
487+
expect(pluralkitModule.fetchPluralKitMessageInfo).not.toHaveBeenCalled();
487488
});
488489

489490
it("bypasses mention gating in bound threads for allowed bot senders", async () => {

extensions/discord/src/monitor/message-handler.preflight.ts

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -256,22 +256,8 @@ export async function preflightDiscordMessage(
256256

257257
const pluralkitConfig = params.discordConfig?.pluralkit;
258258
const webhookId = resolveDiscordWebhookId(message);
259-
const shouldCheckPluralKit = Boolean(pluralkitConfig?.enabled);
260259
let pluralkitInfo: Awaited<ReturnType<typeof fetchPluralKitMessageInfo>> = null;
261-
if (shouldCheckPluralKit) {
262-
try {
263-
pluralkitInfo = await fetchPluralKitMessageInfo({
264-
messageId: message.id,
265-
config: pluralkitConfig,
266-
});
267-
if (isPreflightAborted(params.abortSignal)) {
268-
return null;
269-
}
270-
} catch (err) {
271-
logVerbose(`discord: pluralkit lookup failed for ${message.id}: ${String(err)}`);
272-
}
273-
}
274-
const sender = resolveDiscordSenderIdentity({
260+
let sender = resolveDiscordSenderIdentity({
275261
author,
276262
member: params.data.member,
277263
pluralkitInfo,
@@ -480,6 +466,26 @@ export async function preflightDiscordMessage(
480466
logVerbose(`discord: drop bound-thread webhook echo message ${message.id}`);
481467
return null;
482468
}
469+
470+
if (pluralkitConfig?.enabled) {
471+
try {
472+
pluralkitInfo = await fetchPluralKitMessageInfo({
473+
messageId: message.id,
474+
config: pluralkitConfig,
475+
});
476+
if (isPreflightAborted(params.abortSignal)) {
477+
return null;
478+
}
479+
sender = resolveDiscordSenderIdentity({
480+
author,
481+
member: params.data.member,
482+
pluralkitInfo,
483+
});
484+
} catch (err) {
485+
logVerbose(`discord: pluralkit lookup failed for ${message.id}: ${String(err)}`);
486+
}
487+
}
488+
483489
const boundSessionKey = conversationRuntime.isPluginOwnedSessionBindingRecord(threadBinding)
484490
? ""
485491
: threadBinding?.targetSessionKey?.trim();

0 commit comments

Comments
 (0)