mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 17:01:37 +00:00
fix(discord): replyToMode first behaviour
This commit is contained in:
@@ -200,14 +200,35 @@ describe("createReplyReferencePlanner", () => {
|
||||
expect(planner.use()).toBe("parent");
|
||||
});
|
||||
|
||||
it("prefers existing thread id regardless of mode", () => {
|
||||
it("respects replyToMode off even with existingId", () => {
|
||||
const planner = createReplyReferencePlanner({
|
||||
replyToMode: "off",
|
||||
existingId: "thread-1",
|
||||
startId: "parent",
|
||||
});
|
||||
expect(planner.use()).toBeUndefined();
|
||||
expect(planner.hasReplied()).toBe(false);
|
||||
});
|
||||
|
||||
it("uses existingId once when mode is first", () => {
|
||||
const planner = createReplyReferencePlanner({
|
||||
replyToMode: "first",
|
||||
existingId: "thread-1",
|
||||
startId: "parent",
|
||||
});
|
||||
expect(planner.use()).toBe("thread-1");
|
||||
expect(planner.hasReplied()).toBe(true);
|
||||
expect(planner.use()).toBeUndefined();
|
||||
});
|
||||
|
||||
it("uses existingId on every call when mode is all", () => {
|
||||
const planner = createReplyReferencePlanner({
|
||||
replyToMode: "all",
|
||||
existingId: "thread-1",
|
||||
startId: "parent",
|
||||
});
|
||||
expect(planner.use()).toBe("thread-1");
|
||||
expect(planner.use()).toBe("thread-1");
|
||||
});
|
||||
|
||||
it("honors allowReference=false", () => {
|
||||
|
||||
@@ -32,20 +32,18 @@ export function createReplyReferencePlanner(options: {
|
||||
if (options.replyToMode === "off") {
|
||||
return undefined;
|
||||
}
|
||||
if (existingId) {
|
||||
hasReplied = true;
|
||||
return existingId;
|
||||
}
|
||||
if (!startId) {
|
||||
const id = existingId ?? startId;
|
||||
if (!id) {
|
||||
return undefined;
|
||||
}
|
||||
if (options.replyToMode === "all") {
|
||||
hasReplied = true;
|
||||
return startId;
|
||||
return id;
|
||||
}
|
||||
// "first": only the first reply gets a reference.
|
||||
if (!hasReplied) {
|
||||
hasReplied = true;
|
||||
return startId;
|
||||
return id;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user