fix(schedules): preserve idempotent deletion

This commit is contained in:
Mohamed Boudra
2026-08-03 13:20:42 +00:00
parent 721b6a10dc
commit d84c0a8420
2 changed files with 8 additions and 2 deletions
@@ -2663,6 +2663,10 @@ describe("ScheduleService", () => {
await service.delete(active.id);
expect(changedTargets.at(-1)).toBe(activeAgentId);
await expect(service.listActiveHeartbeatActivity()).resolves.toEqual([]);
const notificationsAfterDelete = changedTargets.length;
await expect(service.delete(active.id)).resolves.toBeUndefined();
expect(changedTargets).toHaveLength(notificationsAfterDelete);
});
test("startup sweep completes agent-target schedules whose agent is gone", async () => {
@@ -506,9 +506,11 @@ export class ScheduleService {
}
async delete(id: string): Promise<void> {
const schedule = await this.inspect(id);
const schedule = await this.store.get(id);
await this.store.delete(id);
await this.notifyHeartbeatActivityChanged(schedule);
if (schedule) {
await this.notifyHeartbeatActivityChanged(schedule);
}
}
async completeForAgent(agentId: string): Promise<number> {