Botframework-webchat: web-speech-cognitive-services dependency is missing

Created on 27 Mar 2020  路  13Comments  路  Source: microsoft/BotFramework-WebChat

When building with the latest 4.8.0 package the following error is produced:

ERROR in ./node_modules/botframework-webchat/lib/createCognitiveServicesBingSpeechPonyfillFactory.js
Module not found: Error: Can't resolve 'web-speech-cognitive-services/lib/BingSpeech' in 'C:\private\v4\BotBuilder-Samples\samples\javascript_es6\01.browser-echo\node_modules\botframework-webchat\lib'
 @ ./node_modules/botframework-webchat/lib/createCognitiveServicesBingSpeechPonyfillFactory.js 26:41-96
 @ ./node_modules/botframework-webchat/lib/index.js
 @ ./src/app.ts

Attempting a work around by explicitly adding the web-speech-cognitive-services/6.0.0 package to the application fixes the build issue but now the runtime fails. This is just seen as a blank screen in the brower-echo sample.

(Note in the process of updating the sample now you have to also add react and react-dom as explicit dependencies - this is intentional as it allows the application to choose which version of react it wants to use.)

Bot Services Bug

Most helpful comment

The team is working through how to get a fix out to address this. We are in a release lockdown due to current world events. but we're working to see if we can get an exemption and get out a fix. we'll post more data here as we gather it.

All 13 comments

I had the same problem,how to fix it?

https://github.com/compulim/web-speech-cognitive-services/commit/d6224a4501286913a831f4edf17afd03c5c32699

Breaking changes

  • As Bing Speech has deprecated and removed from Azure. Bing Speech support has been removed.

I downgraded to [email protected] for addressing this issue.

4.8.0 can't be built now.

compulim/web-speech-cognitive-services@d6224a4

Breaking changes

  • As Bing Speech has deprecated and removed from Azure. Bing Speech support has been removed.

I downgraded to [email protected] for addressing this issue.

4.8.0 can't be built now.

installed 4.6.0,but throw error hooks is undefined

compulim/web-speech-cognitive-services@d6224a4

Breaking changes

  • As Bing Speech has deprecated and removed from Azure. Bing Speech support has been removed.

I downgraded to [email protected] for addressing this issue.

4.8.0 can't be built now.

downgrading to v4.6.0 worked, but results in for example suggested actions not being displayed stacked anymore, which we require.

Removing web-speech-cognitive-services/lib/BingSpeech and it's references from the botframework-webchat package, led to a successfull build, but also to further errors at runtime with the useDateFromatter hook in the StackedLayout of the chat botframework-webchat-component/lib/Activity/StackedLayout :

Uncaught TypeError: numberToPartsFormatter is not a function
    at Object.numberFormatter (number.js:505)
    at date.js:636
    at String.replace (<anonymous>)
    at dateFormat (date.js:345)
    at dateToPartsFormatter (date.js:1462)
    at dateFormatter (date.js:648)
    at useDateFormatter.js:69
    at StackedLayout (StackedLayout.js:205)

EDIT:

Downgrading to 4.7.1 and removing web-speech-cognitive-services has done the trick for us.

web-speech-cognitive-services

where to remove web-speech-cognitive-services?could you please show the detail?thank you very much

web-speech-cognitive-services

where to remove web-speech-cognitive-services?could you please show the detail?thank you very much

sure.

  • botframework-webchat\lib\createCognitiveServicesBingSpeechPonyFillFactory.js - line 26
    (var _BingSpeech = _interopRequireDefault(require("web-speech-cognitive-services/lib/BingSpeech"));)

  • botframework-webchat\lib\index.js - line 26-31, 79, 132 all of them deal with _createCognitiveServicesBingSpeechPonyfillFactory

This is only a temporary workaround, but allowed us to proceed with our current development.
However, you will not have the features of v4.8.0 this way.

web-speech-cognitive-services

where to remove web-speech-cognitive-services?could you please show the detail?thank you very much

sure.

  • botframework-webchat\lib\creteCognitiveServicesBingSpeechPonyFillFactory.js - line 26
    (var _BingSpeech = _interopRequireDefault(require("web-speech-cognitive-services/lib/BingSpeech"));)
  • botframework-webchat\lib\index.js - line 26-31, 79, 132 all of them deal with _createCognitiveServicesBingSpeechPonyfillFactory

This is only a temporary workaround, but allowed us to proceed with our current development.
However, you will not have the features of v4.8.0 this way.

This can fix development mode,but how to workaround production mode?

This can fix development mode,but how to workaround production mode?

My first thought would be to build your own private package of the BotFramework-WebChat (CONTRIBUTING.md).

The team is working through how to get a fix out to address this. We are in a release lockdown due to current world events. but we're working to see if we can get an exemption and get out a fix. we'll post more data here as we gather it.

Hi all.

We're actively working on addressing this and hope to have an update in a couple hours. I'll update this issue when we have more information.

Thanks!

I am verifying the fix right now.

We are still working on a fix.

For temporarily workaround, please install a local version of [email protected] so Web Chat 4.8.0 will pick up the older release.

Also, we discovered jQuery's [email protected] introduced a bug and causing JavaScript errors. We did not see the problem on [email protected] (which we tested) and [email protected].

So, for workaround, after you install Web Chat, run the following:

npm install [email protected] [email protected]

Since Web Chat relies on @^6.0.0, it will use the local version of @6.0.0 and not installing the incompatible @6.1.0.

To verify:

  • Make sure node_modules/web-speech-cognitive-services/package.json is 6.0.0
  • Make sure node_modules/botframework-webchat/node_modules do not have web-speech-cognitive-services
  • Make sure node_modules/globalize/package.json is 1.4.2
  • Make sure node_modules/botframework-webchat/node_modules do not have globalize

If you have package-lock.json, please do commit this file to your repository.

This is fixed in [email protected], which should be automatically picked up by reinstalling [email protected].

In case it is not, please check your package-lock.json to make sure it doesn't lock down on @6.1.0-6.2.0.

But as @Jakob-vdH pointed out, globalize also recently released a package that broke semver rule. It is being reported at https://github.com/globalizejs/globalize/issues/895 and #3046. The temporary workaround will be downgrading globalize to 1.4.2.

Please refer to #3046 for status and instructions.

Was this page helpful?
0 / 5 - 0 ratings