Giter VIP home page Giter VIP logo

microsoft / botframework-webchat Goto Github PK

View Code? Open in Web Editor NEW
1.5K 121.0 1.5K 204.11 MB

A highly-customizable web-based client for Azure Bot Services.

Home Page: https://www.botframework.com/

License: MIT License

JavaScript 31.66% TypeScript 31.99% HTML 35.61% Shell 0.01% PowerShell 0.07% CSS 0.60% Pug 0.02% Dockerfile 0.05%
bot-framework adaptive-cards azure-bot-services chat conversational-ui conversational-ai bot chatbot

botframework-webchat's People

Contributors

a-b-r-o-w-n avatar amkhalaf-github avatar andrea-orimoto avatar bigplants avatar billba avatar bnookala avatar compulim avatar corinagum avatar cwhitten avatar danmarshall avatar dependabot[bot] avatar eanders-ms avatar imicknl avatar liweima avatar maarten88 avatar msimecek avatar navzam avatar nt-7 avatar oevgeny avatar p-nagpal avatar peterblazejewicz avatar photodesignch avatar sebavanmicrosoft avatar sgellock avatar shahidkhuram avatar spyip avatar taarskog avatar tdurnford avatar timenick avatar tonyanziano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

botframework-webchat's Issues

Tokens not refreshed

We aren't refreshing tokens, so after about 30 minutes the connection to the bot fails.

Cards cropped on narrow display

We can expect the web control to be housed in fairly narrow iframes (not to mention mobile displays) and right now at width=300 all the cards are cropped. Obviously there will be a minimum width below which we can make no guarantees, so let's decide what that is and code the CSS accordingly.

Name: BotChat or WebChat

I'm using a simple "wc-" prefix for CSS class names to avoid collision. If we standardize on BotChat perhaps I should change to "bc-", or even something else. Also, I'm considering the SUIT naming convention, if it's not too heavyweight. The high level consideration is avoiding naming collision when this is embedded.

Input loses focus after send

The input box loses focus after the user presses Enter to send a message, requiring the user to click or tab back to it before they can type another message.

Unit test framework

We'll need a strong test framework in place at some point to make sure we don't break stuff :)

Provide Location

WebChat might be able to provide the user's location if they so choose. This feature might be lower priority but just getting this on the books.

Recover from "closed laptop"

In the case where the WebChat is initiated with a token (not a secret), we can keep refreshing the token. But if the user closes their laptop, we break the token refresh cycle and need to start over. It would be nice if we had a way for the hosting page/server to reissue the token from their secret.

BotChat index.html needs a new way to show control header.

When I extracted the DebugView from the BotChat, I created a new component called App to display them both. I also extracted their headers into App. This leaves BotChat itself with no header. This is evident when viewing index.html

postMessage support

We need a way for the web page to send information to the bot via the control.

Wrapping input text

The user may enter long text into the chat text box. Currently this will "side-scroll" but the textbox should become taller as if it were multi-line.

Add timestamps back in

I removed timestamps to make it simpler to move to Activities + Redux. Now that they're there, they can come back.

But it's worth talking about how we want them to work first.

harden against empty arrays in DL responses

I've been told that if an array field exists we don't need to check if it's an array, but we should check that it has elements. In other words:
if (message.attachments) HandleAttachment(message.attachments[0])
should become:
if (message.attachments && message.attachments.length > 0) HandleAttachment(message.attachments[0])
but we don't need to do:
if (message.attachments && message.attachments.isArray() && message.attachments.length > 0) HandleAttachment(message.attachments[0])
One possible approach is to clean this up on intake inside DirectLine().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.