ActiveNick / HoloBot

HoloBot is a reusable 3D interface that allows HoloLens & VR users to interact with any bot using Mixed Reality & Speech.
MIT License
124 stars 52 forks source link

Holobot issue with new Direct Line #1

Closed lolo8304 closed 7 years ago

lolo8304 commented 7 years ago

Hi Nick

I have forked your solutions Holobot to create a new copy of it called Lolobot. I am setting up now the solution using NodeJS as Bot, LUIS and your DirectLine API from the HoloBot. Now I have found an issue with DirectLine / Bot Communication. Since the new Microsoft deployment there is no response coming back.

Could you perhaps test if your Holobot with your Bot in the backend via DirectLine is working?

Or shall we have to update to V3 protocol whichnis recomended.

Info: via webchat (using DirectLine v3) my botnisnfully working.

ActiveNick commented 7 years ago

I can check later this week. I have not looked at this repo in a few months, but my bots were always using the v3 API.

lolo8304 commented 7 years ago

Hi. Thx for the fast feedback.

I saw in the code of Holobot Frontend that /api/... from DirectLine is used and this is version 1.1

It's not the backend issue but it seems that the backend connection in DirectLine with v3 is handling differently the requests than V1.1

I will do the v3 implementation and bring it as a pull request.

lolo8304 commented 7 years ago

I fixed it and found the issue. While sending and creating messages it's not possible to send more attributes than type, text, user

If the standard activity structure cannot be used for input and output. The output is larger than input. I have created a structure message for input and for output and now it works.

It seems that some channelId = null messed up and started to search for a valid user in the state. Exception

2nd solution but now not working. There is a nice API in c# bot.connector.dirdctline but with the today's supported .net frameworks by Unity it is not possible to use. The 2 line need a security component as dependency while building from unity. This thing is fixed with .net framework 4.6 but unity does not support this. Also the beta version 5.6 was buggy

So I went back to original httpclient and I have developed a BotServiceV3 to support the new API

I will integrate all and create a pull request.

lolo8304 commented 7 years ago

dear Nick - I have updated now the V3 and fixed all that is needed. My forked Holobot called 'Lolobot' is working perfectly with current DirectLine V3 here is my patch file to fix HoloBot-patch-Version3.zip

thanks Lolo

lolo8304 commented 7 years ago

great - I was able to fix all and did a great live demo with the WebSocket solution. Was the best solution finally because the network was very bad but the Bot just had to wait for the next websocket response and display it.

ActiveNick commented 7 years ago

Thanks for your input. The project has been updated to Unity 5.6.2f1 and now uses the Direct Line 3.0 API. I am currently in the process of updating to the latest version of the HoloToolkit. Stay tuned.