Exclude self-comments from queued comment UI

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
dotta 2026-04-06 08:27:53 -05:00
parent eda127a2b2
commit 5d6217b70b
3 changed files with 23 additions and 1 deletions

View file

@ -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);
});
}); });

View file

@ -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);

View file

@ -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,
}) })