diff --git a/src/app/services/leave-planner-worker-lifetime.spec.ts b/src/app/services/leave-planner-worker-lifetime.spec.ts index 3b5e1f5..db0b4da 100644 --- a/src/app/services/leave-planner-worker-lifetime.spec.ts +++ b/src/app/services/leave-planner-worker-lifetime.spec.ts @@ -128,7 +128,7 @@ describe('worker job lifetime', () => { expect(worker.onerror).toBeNull(); }; - it('releases the worker once on success and ignores late messages', async () => { + it('releases the worker once on success and leaves no handler for late messages', async () => { const job = await start({}); job.deliver(); expect(await job.succeeded).toBe(true); diff --git a/src/app/services/leave-planner.service.ts b/src/app/services/leave-planner.service.ts index 40e06e5..e6cccc5 100644 --- a/src/app/services/leave-planner.service.ts +++ b/src/app/services/leave-planner.service.ts @@ -323,10 +323,10 @@ function startWorkerJob( }); let released = false; worker.onmessage = (event: MessageEvent) => { - if (!released && event.data) onMessage(event.data); + if (event.data) onMessage(event.data); }; worker.onerror = () => { - if (!released) onError(); + onError(); }; latestWorkerCancels.add(supersede); return {