Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is the Emulator still being actively maintained? #2443

Open
mrvincenzo opened this issue Nov 7, 2023 · 13 comments
Open

Is the Emulator still being actively maintained? #2443

mrvincenzo opened this issue Nov 7, 2023 · 13 comments

Comments

@mrvincenzo
Copy link

mrvincenzo commented Nov 7, 2023

Let's talk about the elephant in the room...

  1. The last emulator release, v4.14.1, of the bot was on Nov 11, 2011 (726 days ago)
  2. The number of open issues and unresolved bugs seems to be growing
  3. There are noticeable UI differences between the Emulator and Teams
  4. The support for Adaptive Cards in the Emulator is behind, with v1.3 support in the Emulator while Teams has moved on to v1.5.
image

Could the team please provide an update on the following:

  • Are there any planned updates for the Emulator to address these issues?
  • Is there an ongoing effort to align the Emulator's capabilities with the current state of Microsoft Teams, especially regarding Adaptive Cards support?
  • If the Emulator is no longer being actively maintained, could you offer any guidance or recommended tools for developers to use in its place?
@frostymountain
Copy link

My question exactly.

@rwb-truelime
Copy link

rwb-truelime commented Mar 25, 2024

My question too! Maybe @tracyboehrer or @cwhitten can elaborate on this? Thanks

🙏🏻

@tracyboehrer
Copy link
Member

Emulator is still being maintained, though perhaps not with as much attention to features as desired. The next release in the near future will contain single tenant support, ngrok 3.1, and a handful of security fixes. If there are bugs you think are critical, post them here and we can prioritize those.

@d-kleine
Copy link

d-kleine commented Apr 30, 2024

I have just gotten into using the Bot Framework Emulator. From my experience:

  • Improvable usability: For me, it's not understandable what each setting is good for. Each settings needs some plain description with a [?]-button next to the setting/function
  • Using ngrok is a big pain for local bot testing. Isn't there a better solution without needing to set up this or any additional service like that?
  • There is a handful of things that you need to consider when setting up the bot.

For the longer future:

  • Would be nice to have trouble-shooting features to get the bot working faster
  • A better integration of Composer - also slowly maintained, there are still AI services like QnA (now Language Services) and LUIS (now CLU) accessible - and Emulator would be nice

Edit:
Currently, it's practically not possible to add tunnels with ngrok free version for Emulator:

Your ngrok-agent version "2.3.41" is too old. The minimum supported agent version for your account is "3.2.0". Please update to a newer version with ngrok update, by downloading from https://ngrok.com/download, or by updating your SDK version. Paid accounts are currently excluded from minimum agent version requirements. To begin handling traffic immediately without updating your agent, upgrade to a paid plan: https://dashboard.ngrok.com/billing/subscription.

Also ngrok 3.1 is already outdated, there is ngrok 3.9 already

@d-kleine
Copy link

d-kleine commented May 21, 2024

@tracyboehrer When can we expect a stable release in this year? The last stable release was Nov 2021, nightly release in Oct 2023...

By the way, same goes for the

@tracyboehrer
Copy link
Member

@d-kleine Samples gets updated regularly as needed. However, the only new samples are around certificate auth.

BotFramework-SDK? The repo? If so, it doesn't have releases in the same way. It would appear those "releases" are just rollups of everything else and just haven't been updated.

Is there something you are expecting from an Emulator release? Though it's likely you'll see a release mostly around updating dependencies and various security issues. There is a chance there could be an alternative to Emulator, but no details to share yet. The main problem is that Emulator can't work with UserAssignedMSI, which many are shifting to. The prohibits local bot debugging in the way Emulator was often used.

There are no Composer releases scheduled in the near term.

@d-kleine
Copy link

Alright, thanks for the update.

About the Emulator in specific, the features you have mentioned before (Single Tenant & UserAssignedMSI support, ngrok 3) would be helpful in a stable release. But I am also missing some "quality of life features", especially when it comes to usability, like:

  • option to display the MS App password (currently, it's masked without any option to check it for typos)
  • user-friendly ngrok integration, for example deploying a remote tunnel and accessing it directly without needing a shell, etc.
  • I also have troubles when signing in, I get an error pop-up and I don't understand why and how to resolve this issue:
    grafik

@tracyboehrer
Copy link
Member

@d-kleine It just isn't possible to make Emulator work with UserAssignedMSI and Ngrok. However, I would expect to see SingleTenant soon. There is an open PR for it, but it also requires an SDK change.

NGrok 3 should be in the most recent Nightly.

@d-kleine
Copy link

@tracyboehrer Thank you for your update regarding the releases. As a customer who has recently started working with Azure Bots and the Microsoft Bot Framework, I appreciate your transparency about the current state and challenges.

While I understand the complexities involved in maintaining and updating these tools, I have some friendly suggestions that could potentially enhance the overall experience for developers like myself:

  • The last stable Emulator release was quite some time ago, almost 3 years to be precise. For professional projects that require a robust testing environment, having a stable release is crucial for ensuring stability and reliability. Although nightly releases are available, a lack of a stable release can be problematic for production use cases. More frequent and consistent stable releases would be greatly appreciated, as they would provide developers with a reliable and thoroughly tested environment for building and testing their bots. If developers are unable to fully test the Azure Bot, they may be forced to look for alternative providers or solutions.
  • From my experience, it seems that while Azure AI / Cognitive services are actively developed, the supporting tools like Composer, Emulator, and also the BotBuilder Samples may not receive the same level of attention and updates. This disconnect can hinder the development and testing experience for bot developers, leading to a sub-optimal user experience. Ensuring that these supporting tools keep pace with the advancements in Azure AI services would greatly enhance the overall developer experience.
  • As a customer, I would greatly appreciate if you could prioritize addressing missing essential features and improving the overall user experience of tools like Composer and Emulator. Reliable and user-friendly tools are crucial for developers to effectively build and test their bots. Neglecting these supporting tools can undermine the adoption and success of the Azure Bot Framework, even if the core services are robust.

I understand that maintaining and updating these tools can be a challenging task, but I believe that by focusing on these areas, you can provide a more seamless and enjoyable experience for developers working with the Azure Bot Framework. I hope that Microsoft recognizes the importance of these tools and allocates the necessary resources to bring them up to par with the expectations of the Bot developers. Thank you for your continued efforts, and I look forward to seeing improvements in these areas in the future.

@tracyboehrer
Copy link
Member

@d-kleine I appreciate your feedback. Some comments though:

  1. There has not been an Emulator release in some time. This is true. There will likely be another soon to update dependencies and a couple features (Single Tenant and NGrok 3).

  2. There are no scheduled Composer releases. All active development around a low-code tool is Copilot Studio. It is unclear to me what you would like to see in Samples. Is there a specific issue you feel needs attention? It continually gets updated. It's just that we rather stopped doing releases because it's a rolling repo. It's never in just a constant state and no packages are deployed.

  3. There are limitations with Emulator around auth mechanisms like UserAssignedMSI. It is possible that there will be an entirely new way to interact with the bot for testing and debug. For example, POC's around adding a Directline Controller to the bot to allow tools and Directline clients to work directly with it. This shouldn't be taken to mean this is a definite, rather we have to take into account the emerging auth patterns and exploring different possibilities. I also don't have a solid ETA, but it's well on our radar. More generally, how does a developer test and debug a bot, especially locally? I feel your pain too. I can't debug locally with MSI either, but secret based auth is frowned upon, so many are switching to it.

@d-kleine
Copy link

Thank you for the detailed update and insights. About your question:

2. It is unclear to me what you would like to see in Samples. Is there a specific issue you feel needs attention? It continually gets updated. It's just that we rather stopped doing releases because it's a rolling repo. It's never in just a constant state and no packages are deployed.

To provide some context, I was specifically looking for an implementation of Conversational Language Understanding (CLU) in the Samples (btw, I also did not receive any feedback on my request there). While the samples show LUIS integration, it's worth noting that LUIS is now deprecated. As a result, the existing code might not be working as expected or may require adjustments, such as updating dependencies and requirements. Additionally, updated documentation would be beneficial to ensure a smooth transition for developers. Please also see here, and this applies to the next point as well.

Furthermore, for Custom Question Answering examples, I noticed that there are only .NET Core and JavaScript examples available. As an ML/AI engineer, I primarily work with Python, and having a Python sample would be incredibly helpful for developers like myself who are more versed in this language to set up an Azure Bot with.

@tracyboehrer
Copy link
Member

@d-kleine For the Python issues... Only recently was its deprecation canceled. This was originally slated to happen in November. It had been it sustained engineering for the prior year. We are still playing catchup as we focus more on core functionality that is outdated or missing.

@d-kleine
Copy link

Got it, thanks for the clarification!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants