Mac OS X version of 4.15.1 is missing
Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
What version of the Emulator are you using.
Describe the bug
Give a clear and concise description of what the bug is.
No mac os x version for 4.15.1: https://github.com/microsoft/BotFramework-Emulator/releases/tag/v4.15.1.
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior
Give a clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
[bug]
Hi @taoari
Thanks for reporting this issue. We are working to get a signed/notarized installer for Mac, although we don't have any ETA yet.
In the meantime, you can download the previous version https://github.com/microsoft/BotFramework-Emulator/releases/tag/v4.14.1, and if you want to try the latest you can get unsigned bits from the artifacts produced in this run (Keep in mind you will need to configure your MacOS to enable installs from developers)
@rido-min Thank you, This one works!
Bumping this one as well if there is any movment for the notarized installer. the artifact seems to have expired!
Where can we subscribe to an issue to find out when it gets resolved?
Any assistance on this would be appreciated. We're mostly a MacOS shop and the working version still uses ngrok, which I believe is no longer open source.
hi @ter24, apologies for the delays here.
As we dont have any ETA to produce the signed MacOS installer, I'd suggest to use the unsigned bits from this run.
You will have to enable Developer Installs in your mac.
I'd love to understand what's your use case requiring NGrok, if you have time you can reach out to me: rmpablos at msft dot com and we can take this offline, or setup a 30 mins call if you are available.
I'd love to understand what's your use case requiring NGrok, if you have time you can reach out to me:
rmpablos at msft dot comand we can take this offline, or setup a 30 mins call if you are available.
In general. The single sign on tokens with the oAuthPrompt doesn't work through the bot emulator without ngrok or something like it.
have you tried with webchat? you can use devtunnels to configure your ABS instance to reach out your localhost, so no need to use the emulator.
have you tried with webchat? you can use devtunnels to configure your ABS instance to reach out your localhost, so no need to use the emulator.
How do you make a webchat that connects to localhost:8080, for example?
And I always had the impression the Emulator gives more feedback, since it givws you trace activities and integrates well with debuggers
Hi, thanks so much for the responses. I'm very new to the Bot Framework, so my answer may be a bit off but essentially:
- I am using the Bot Framework Emulator for local testing.
- I am using the web Chat for remote testing.
- My web service gets deployed as a container within my AWS infrastructure.
- Ultimately, I connect to it using MS Teams for right now.
This approach works fine. For local development, I was hoping to use containers (either Compose or Composer+DevContainers, but ran into issues with the emulator. To be fair I didn't put a lot of effort into it. For remote, I'm fine sticking with the web chat/Teams approach.
Thanks again for the response, still learning the framework and truly appreciate it!
local testing has some limitations, especially when getting into OAuth flows, since it requires the EntraID configuration to be able to interact with the token service.
There is a way to do local development AND use remote clients suchs as Teams or WebChat, the only thing you need to do is configure the EndpointURL to point your devtunnel.
Whatever is in your localhost should not matter, so you can still use a container locally, or run the web service in your box, as long the port is exposed to devtunnels.
How do you make a webchat that connects to localhost:8080, for example?
run devtunnel in your host, and configure ABS endpoint to use the URL provided by devtunnel.
Yes, the trace activities are handy, but if you can debug you can always inspect the incoming/outgoing messages from your debugger.
Oh perfect, I'll set this up then! I'm not using OAuth flows right now, so we're okay there.
if I may, the issue with devtunnels on a registered app —and why the emulator can be better— is that you basically require to open a new bot per developer and to register them.
It is also quite cumbersome to try multiple bots at the same time, or to try multi bot interactions where they interact with each other... All of the sudden you need to register a NxM number of bots where M is your number of developers. It gets more cumbersome very quickly and it is a need that the Emulator fills perfectly well.
Also, the botframework as an open source tool doesn't actually require any Microsoft registration to work. I've used it before within infrastructure that contains custom adapter and authentication that has nothing to do with Microsoft's infrastructure.
Having said that, I understand if it isn't the company priority to work on the Bot Framework Emulator for whichever reason, but all I am saying is that it would be greatly appreciated if there was an issue we could subscribe to get updates on when it becomes a bigger priority.
If we could help to move the needle as well in any other way, I would appreciate some guidance in how to contribute to that.
@alexrecuenco
I understand it's desirable to avoid the bot registration when developing a bot, so each developer can work in localhost, independent of other developers.
However, what I dont understand is why a tunnel solution (ngrok or devtunnels) is required for local development.
In any case you can install 4.15.1 (in dev-mode), or use the previous version 4.14.1.
My suggestion to use webchat by registering the bot is the best approach when developing features that cannot be emulated in the emulator, like SSO flows.
In any case you can install 4.15.1 (in dev-mode),
This approach is working for me through the emulator.
The reason why 4.14 doesnt work, is that it relies on the CLI API of an older version of ngrok that is no longer maintained, so you can't create tunnels with it anymore without some extra licenses
Hi @alexrecuenco
Yes, we are aware of the ngrok licensing issue ,this is why we released 4.15.1, however we have not been able to produce a signed installer for Mac, but we still provide unsigned bits.
When you said:
The single sign on tokens with the oAuthPrompt doesn't work through the bot emulator without ngrok or something like it.
Can you elaborate what tunnel you need? and how to configure it?
I'd love to learn more about your requirements. Would you have time for a 30 mins call?
Just a quick bump to see if there is an ETA on this.
no ETA, in the meantime you can revert to the previous version or grab unsigned installer from the last run
hi @rido-min , it looks like the last run failed, 2 weeks ago, could you kindly rerun? https://github.com/microsoft/BotFramework-Emulator/actions/workflows/pack.yaml
unfortunately, the action still fails, and at this point, with the retirement notice described, I'm not sure those issues will be fixed.
If you need an emulator for MacOS, I'd suggest using the new AgentsPlayground
https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/test-with-toolkit-project?tabs=linux
Hi @rido-min Do we have an unsigned 15.1 version of bot emulator for mac? Because I want to test a local teams bot that I have built, but the agentsPlayground doesn't have support for OAuth cards, and the 14.1 doesn't seem to connect with a local bot and the ngrok configuration also isn't working.
I am getting an error like:
[13:06:27]Failed to spawn ngrok. Please go to the Ngrok Status Viewer and download the log file for a more detailed view of the error.{"error_code":102,"status_code":400,"msg":"invalid tunnel configuration","details":{"err":"yaml: unmarshal errors:\n line 1: field region not found in type config.HTTPv2Tunnel\n line 1: field path not found in type config.HTTPv2Tunnel"}}
On windows, It used to work but on mac, I am not able to use the bot framework emulator at all.
Hi @Antriksh-Narang, thanks for your comment.
Unfortunately, we are not making further investments in this tool, and it will be archived soon. To test OAuth cards, I'd suggest using devtunnels and the WebChat client in Azure Portal.
To report the lack of support for OAuth cards in agentsplayground, you can file an issue in this repo https://github.com/OfficeDev/microsoft-365-agents-toolkit
Thanks @rido-min for confirmation.
I will definitely raise the issue in the agents toolkit repo, and for devtunnels, are there any official microsoft docs to set them up? And is that feature available in mac? I am not sure if I need to setup devtunnels in bot emulator or where exactly.
If you know an answer to any question, please do help. Otherwise no worries, I will also lookup devtunnels and how to make them work.
Edit: I looked it up, seems like it's just like using ngrok, and setting up a tunnel and redirecting your bot messages to that tunnel, it's good in a way you can directly test in teams. But I feel there's no other way to connect and test locally apart from this, right? One way I can think of is Windows Remote desktop because the 15.1 bot framework used to work seamlessly in windows machines.
http://aka.ms/devtunnels it's like ngrok, and it works on Windows, Mac an Linux.
The issue with the other tools like agentsplayground, is that some features are not available like SSO with OAuth cards. This is why I recommend testing with Teams, or WebChat from Azure Portal.