From 495b2350e0344d40b38d438ae5c0da242be4049d Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Thu, 25 Sep 2025 13:41:31 -0400 Subject: [PATCH] fix: Update activeTasks key handling to ensure string consistency --- src/markov-store.ts | 2 +- src/workers/worker-pool.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/markov-store.ts b/src/markov-store.ts index 7f704cc..3f5bc01 100644 --- a/src/markov-store.ts +++ b/src/markov-store.ts @@ -73,7 +73,7 @@ export class MarkovStore { /** * Save chains to serialized storage with debouncing */ - private async save(): Promise { +public async save(): Promise { if (!this.dirty) return; try { diff --git a/src/workers/worker-pool.ts b/src/workers/worker-pool.ts index 47058ce..9b5c89f 100644 --- a/src/workers/worker-pool.ts +++ b/src/workers/worker-pool.ts @@ -166,7 +166,7 @@ export class WorkerPool extends EventEmitter { const task = sortedTasks.shift()!; this.taskQueue = sortedTasks; - this.activeTasks.set(availableWorkerId, task); + this.activeTasks.set(String(availableWorkerId), task); // Send task to worker const worker = this.workers[availableWorkerId]; @@ -184,7 +184,7 @@ export class WorkerPool extends EventEmitter { */ private findAvailableWorker(): number { for (let i = 0; i < this.maxWorkers; i++) { - if (this.workers[i] && !this.activeTasks.has(i)) { + if (this.workers[i] && !this.activeTasks.has(String(i))) { return i; } } @@ -297,7 +297,7 @@ export class WorkerPool extends EventEmitter { activeWorkers: this.activeTasks.size, queuedTasks: this.taskQueue.length, activeTasks: Array.from(this.activeTasks.keys()), - availableWorkers: this.workers.filter((w, i) => w && !this.activeTasks.has(i)).length + availableWorkers: this.workers.filter((w, i) => w && !this.activeTasks.has(String(i))).length }; } @@ -341,7 +341,7 @@ export class WorkerPool extends EventEmitter { for (let i = 0; i < this.maxWorkers; i++) { const worker = this.workers[i]; if (worker) { - shutdownPromises.push(worker.terminate()); + shutdownPromises.push(worker.terminate().then(() => {})); } }