diff --git a/changelog/fragments/pr-5080.md b/changelog/fragments/pr-5080.md new file mode 100644 index 000000000..62ccadaad --- /dev/null +++ b/changelog/fragments/pr-5080.md @@ -0,0 +1 @@ +- Clarify block reply pipeline seen-check parameter naming for maintainability (#5080) (thanks @yassine20011) diff --git a/src/auto-reply/reply/block-reply-pipeline.ts b/src/auto-reply/reply/block-reply-pipeline.ts index e6ed2a056..c0b097d5f 100644 --- a/src/auto-reply/reply/block-reply-pipeline.ts +++ b/src/auto-reply/reply/block-reply-pipeline.ts @@ -90,12 +90,12 @@ export function createBlockReplyPipeline(params: { let didStream = false; let didLogTimeout = false; - const sendPayload = (payload: ReplyPayload, skipSeen?: boolean) => { + const sendPayload = (payload: ReplyPayload, bypassSeenCheck: boolean = false) => { if (aborted) { return; } const payloadKey = createBlockReplyPayloadKey(payload); - if (!skipSeen) { + if (!bypassSeenCheck) { if (seenKeys.has(payloadKey)) { return; } @@ -155,7 +155,7 @@ export function createBlockReplyPipeline(params: { shouldAbort: () => aborted, onFlush: (payload) => { bufferedKeys.clear(); - sendPayload(payload); + sendPayload(payload, /* bypassSeenCheck */ true); }, }) : null; @@ -186,7 +186,7 @@ export function createBlockReplyPipeline(params: { } for (const payload of bufferedPayloads) { const finalPayload = buffer?.finalize?.(payload) ?? payload; - sendPayload(finalPayload, true); + sendPayload(finalPayload, /* bypassSeenCheck */ true); } bufferedPayloads.length = 0; bufferedPayloadKeys.clear(); @@ -202,7 +202,7 @@ export function createBlockReplyPipeline(params: { const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0; if (hasMedia) { void coalescer?.flush({ force: true }); - sendPayload(payload); + sendPayload(payload, /* bypassSeenCheck */ false); return; } if (coalescer) { @@ -210,11 +210,12 @@ export function createBlockReplyPipeline(params: { if (seenKeys.has(payloadKey) || pendingKeys.has(payloadKey) || bufferedKeys.has(payloadKey)) { return; } + seenKeys.add(payloadKey); bufferedKeys.add(payloadKey); coalescer.enqueue(payload); return; } - sendPayload(payload); + sendPayload(payload, /* bypassSeenCheck */ false); }; const flush = async (options?: { force?: boolean }) => {