forked from farhoodlabs/paperclip
Exclude self-comments from queued comment UI
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -212,4 +212,18 @@ describe("optimistic issue comments", () => {
|
|||||||
}),
|
}),
|
||||||
).toBe(false);
|
).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("does not mark comments from the active run agent as queued", () => {
|
||||||
|
expect(
|
||||||
|
isQueuedIssueComment({
|
||||||
|
comment: {
|
||||||
|
createdAt: new Date("2026-03-28T16:20:05.000Z"),
|
||||||
|
authorAgentId: "agent-1",
|
||||||
|
},
|
||||||
|
activeRunStartedAt: new Date("2026-03-28T16:20:00.000Z"),
|
||||||
|
activeRunAgentId: "agent-1",
|
||||||
|
runId: null,
|
||||||
|
}),
|
||||||
|
).toBe(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -59,13 +59,20 @@ export function createOptimisticIssueComment(params: {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isQueuedIssueComment(params: {
|
export function isQueuedIssueComment(params: {
|
||||||
comment: Pick<IssueTimelineComment, "createdAt"> & Partial<Pick<OptimisticIssueComment, "clientStatus">>;
|
comment: Pick<IssueTimelineComment, "createdAt"> &
|
||||||
|
Partial<Pick<OptimisticIssueComment, "clientStatus">> & {
|
||||||
|
authorAgentId?: string | null;
|
||||||
|
};
|
||||||
activeRunStartedAt?: Date | string | null;
|
activeRunStartedAt?: Date | string | null;
|
||||||
|
activeRunAgentId?: string | null;
|
||||||
runId?: string | null;
|
runId?: string | null;
|
||||||
interruptedRunId?: string | null;
|
interruptedRunId?: string | null;
|
||||||
}) {
|
}) {
|
||||||
if (params.runId) return false;
|
if (params.runId) return false;
|
||||||
if (params.interruptedRunId) return false;
|
if (params.interruptedRunId) return false;
|
||||||
|
if (params.comment.authorAgentId && params.activeRunAgentId && params.comment.authorAgentId === params.activeRunAgentId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (params.comment.clientStatus === "queued") return true;
|
if (params.comment.clientStatus === "queued") return true;
|
||||||
if (!params.activeRunStartedAt) return false;
|
if (!params.activeRunStartedAt) return false;
|
||||||
return toTimestamp(params.comment.createdAt) >= toTimestamp(params.activeRunStartedAt);
|
return toTimestamp(params.comment.createdAt) >= toTimestamp(params.activeRunStartedAt);
|
||||||
|
|||||||
@@ -553,6 +553,7 @@ export function IssueDetail() {
|
|||||||
isQueuedIssueComment({
|
isQueuedIssueComment({
|
||||||
comment: nextComment,
|
comment: nextComment,
|
||||||
activeRunStartedAt,
|
activeRunStartedAt,
|
||||||
|
activeRunAgentId: runningIssueRun?.agentId ?? null,
|
||||||
runId: meta?.runId ?? nextComment.runId ?? null,
|
runId: meta?.runId ?? nextComment.runId ?? null,
|
||||||
interruptedRunId: meta?.interruptedRunId ?? nextComment.interruptedRunId ?? null,
|
interruptedRunId: meta?.interruptedRunId ?? nextComment.interruptedRunId ?? null,
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user