From df8dac367c36ff85e44f7b3ee3e4b98a2d18e85f Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Tue, 3 Aug 2021 16:36:17 -0400 Subject: [PATCH] bugfix: if waitUrl of enqueue task includes leave but caller is dequeued before leave is reached, ignore leave --- lib/tasks/enqueue.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/enqueue.js b/lib/tasks/enqueue.js index 8174593e..5a6b4162 100644 --- a/lib/tasks/enqueue.js +++ b/lib/tasks/enqueue.js @@ -114,6 +114,7 @@ class TaskEnqueue extends Task { this.bridgeDetails = opts; this.logger.info({bridgeDetails: this.bridgeDetails}, `time to dequeue from ${this.queueName}`); if (this._playSession) { + this._leave = false; this._playSession.kill(); this._playSession = null; } @@ -325,10 +326,9 @@ class TaskEnqueue extends Task { // check for 'leave' verb and only execute tasks up till then const tasksToRun = []; - let leave = false; for (const o of tasks) { if (o.name === TaskName.Leave) { - leave = true; + this._leave = true; this.logger.info('waitHook returned a leave task'); break; } @@ -348,7 +348,7 @@ class TaskEnqueue extends Task { await this._playSession.exec(); this._playSession = null; } - if (leave) { + if (this._leave) { this.state = QueueResults.Leave; this.kill(cs); }