diff --git a/packages/server/src/server/schedule/service.test.ts b/packages/server/src/server/schedule/service.test.ts index 72c749da81..869701943f 100644 --- a/packages/server/src/server/schedule/service.test.ts +++ b/packages/server/src/server/schedule/service.test.ts @@ -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 () => { diff --git a/packages/server/src/server/schedule/service.ts b/packages/server/src/server/schedule/service.ts index 24f3b3fd48..7549f20003 100644 --- a/packages/server/src/server/schedule/service.ts +++ b/packages/server/src/server/schedule/service.ts @@ -506,9 +506,11 @@ export class ScheduleService { } async delete(id: string): Promise { - 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 {