From dd4d9aa2613024e6b871a25280f81a1d2c460baf Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Tue, 21 Mar 2023 12:16:12 -0400 Subject: [PATCH] Gather: if an empty array of hints are supplied, this signals we should mask global hints for this collection --- lib/session/call-session.js | 2 +- lib/tasks/gather.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/session/call-session.js b/lib/session/call-session.js index b1615a68..1886c67c 100644 --- a/lib/session/call-session.js +++ b/lib/session/call-session.js @@ -698,7 +698,7 @@ class CallSession extends Emitter { let skip = false; this.currentTask = task; if (TaskName.Gather === task.name && this.isBotModeEnabled) { - if (this.backgroundGatherTask.updateTaskInProgress(task)) { + if (this.backgroundGatherTask.updateTaskInProgress(task) !== false) { this.logger.info(`CallSession:exec skipping #${stackNum}:${taskNum}: ${task.name}`); skip = true; } diff --git a/lib/tasks/gather.js b/lib/tasks/gather.js index 2b41e6ea..0d4ea346 100644 --- a/lib/tasks/gather.js +++ b/lib/tasks/gather.js @@ -70,6 +70,10 @@ class TaskGather extends Task { if (this.asrTimeout > 0) this.asrDtmfTerminationDigit = recognizer.asrDtmfTerminationDigit; this.isContinuousAsr = this.asrTimeout > 0; + if (Array.isArray(this.data.recognizer.hints) && 0 == this.data.recognizer.hints.length) { + logger.debug('Gather: an empty hints array was supplied, so we will mask global hints'); + this.maskGlobalSttHints = true; + } this.data.recognizer.hints = this.data.recognizer.hints || []; this.data.recognizer.altLanguages = this.data.recognizer.altLanguages || []; } @@ -125,7 +129,7 @@ class TaskGather extends Task { const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, cs.srf); const {getNuanceAccessToken, getIbmAccessToken} = cs.srf.locals.dbHelpers; - if (cs.hasGlobalSttHints) { + if (cs.hasGlobalSttHints && !this.maskGlobalSttHints) { const {hints, hintsBoost} = cs.globalSttHints; const setOfHints = new Set(this.data.recognizer.hints .concat(hints) @@ -310,6 +314,7 @@ class TaskGather extends Task { const {timeout} = opts; this.timeout = timeout; this._startTimer(); + return true; } _onDtmf(cs, ep, evt) {