Botframework-composer: No runtime version available when ejecting bot runtime

Created on 20 Jun 2020  路  5Comments  路  Source: microsoft/BotFramework-Composer

Describe the bug


When trying to eject the bot runtime, no runtime version is available to select. The runtime versions field is empty.
Since the selection is not available, the runtime cannot be ejected, which blocks (amongst others) creating custom actions.

Version


image

The issue is producing in a nightly build version.

Browser

  • [x] Electron distribution
  • [ ] Chrome
  • [ ] Safari
  • [ ] Firefox
  • [ ] Edge

OS

  • [ ] macOS
  • [x] Windows
  • [ ] Ubuntu

To Reproduce

Steps to reproduce the behavior:

  1. Make a new bot based on the sample Echobot.
  2. Navigate to the Settings page and select Runtime Config.
  3. Toggle Use custom runtime in the Bot runtime settings field and select Get a new copy of the runtime code.
  4. The dialog box which appears has no runtime versions listed.

Expected behavior

There should be the option in the dialog box to select C# and click OK, after which the ejected runtime directory should show in the Runtime code location field.

Screenshots


image

P0 R10 Bug

All 5 comments

@VanyLaw for more investigation

Hi @tonyanziano, It seems like the electron load plugins folder error. I tested in local and found the plugins our nightly-build version loaded was previously.
FYI.
For example, the azure function plugin name was changed to @bfc/plugin-azure-functions-publish.
image

I try to build electron locally by yarn dist:full, but it fail to load plugins folder either. I try to run yarn start:electron locally and find the pluginsDir is [Composer folder]\Composer\packages\electron-server, but the path need to be [Composer folder]\Composer\packages\electron-server\dist\win-unpacked\resources\app.asar.unpacked.

I am not sure how to debug in electron, could you help to take a look? Thanks!

I've taken a look and the problem is that since #3322, plugins are now inside of the yarn workspace (/packages/plugins/), and the plugins have their dependencies hoisted.

This means that they are not independently functional, and do not contain all of their own dependencies when not inside of the workspace.

When we packaged the Electron app, we need a plugin directory to point the plugin loader to, so we copy all the plugins from source into the unpacked ASAR before building the installer. However, now, since the plugins have their deps hoisted, they no longer are self-contained and break when in production because of missing deps.

A consequence of this is that the localPublish plugin is not loaded correctly, and so it never registers the C# runtime.

This will require some sort of change to the build logic that handles & packs plugins.

I temporarily fixed this issue by Uninstalling the composer from C:\Users\AppData\Local\Programs\Bot Framework Composer and running the installer of version 1.0.0.1093 and installing it for local user. Similar to @ #3444

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jakeatmsft picture jakeatmsft  路  21Comments

pedro-ramirez-suarez picture pedro-ramirez-suarez  路  15Comments

saikumaru picture saikumaru  路  18Comments

kalebk picture kalebk  路  16Comments

KoradaRajesh picture KoradaRajesh  路  25Comments