From 43677ff43443d3078e79f14b14b60285097410e2 Mon Sep 17 00:00:00 2001
From: Nessar
Date: Sat, 17 Oct 2026 11:22:38 +0200
Subject: [PATCH] refactor(planning): drop the unreachable late worker message
guard
release() already clears the worker handlers, so the released checks
inside them could never run. The lifetime test now states what it
checks: no handler is left for late messages.
Refs #277
Co-Authored-By: Claude Opus 5.5
---
src/app/services/leave-planner-worker-lifetime.spec.ts | 2 +-
src/app/services/leave-planner.service.ts | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
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 {