mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:11:37 +00:00
fix: fast-lane directives bypass queue dedupe
This commit is contained in:
@@ -117,7 +117,7 @@ describe("followup queue deduplication", () => {
|
||||
);
|
||||
expect(first).toBe(true);
|
||||
|
||||
// Second enqueue with same prompt should be deduplicated
|
||||
// Second enqueue with same prompt should be allowed (we only dedupe with message id)
|
||||
const second = enqueueFollowupRun(
|
||||
key,
|
||||
createRun({
|
||||
@@ -127,7 +127,7 @@ describe("followup queue deduplication", () => {
|
||||
}),
|
||||
settings,
|
||||
);
|
||||
expect(second).toBe(false);
|
||||
expect(second).toBe(true);
|
||||
|
||||
// Third enqueue with different prompt should succeed
|
||||
const third = enqueueFollowupRun(
|
||||
|
||||
@@ -358,9 +358,9 @@ function isRunAlreadyQueued(
|
||||
(item) => item.messageId?.trim() === messageId && hasSameRouting(item),
|
||||
);
|
||||
}
|
||||
return queue.items.some(
|
||||
(item) => item.prompt === run.prompt && hasSameRouting(item),
|
||||
);
|
||||
// Without a provider message id, avoid prompt-based dedupe to ensure rapid
|
||||
// directive messages are not dropped.
|
||||
return false;
|
||||
}
|
||||
|
||||
export function enqueueFollowupRun(
|
||||
|
||||
Reference in New Issue
Block a user