Comments (5)
@OEvgeny for the build to succeed, you need to change the return of the provider to this:
return function WebChatProvider(props) { return <WebChatContext.Provider value={WebChat} {...props} />; };
from botframework-webchat.
I'm looking into this and seems the issue is that WebChat doesn't currently support ESM environments properly
from botframework-webchat.
Here is the working example of WebChat + NextJS: https://stackblitz.com/edit/stackblitz-starters-e38mut?file=app%2Fpage.tsx
from botframework-webchat.
Oh it worked, Could you please elaborate more on why did it work like that? @OEvgeny
from botframework-webchat.
@Chosey98 if using regular top-level imports, despite use-client
directive it looks like NextJS imports WebChat on the server, which doesn't work as WebChat is designed to work in the browser.
In browser, in order to include WebChat into the same component tree, we need to use the same React and ReactDOM distributions. This means not only React and ReactDOM versions should match, but the actual imported modules should be the same.
For such cases WebChat provides a way to use exact React and ReactDOM versions. All you need is to expose them to window as window.React
and window.ReactDOM
.
At this point, this seems the best way possible to handle dependencies in browser. In future we may be able to use ES modules and import maps to handle this.
from botframework-webchat.
Related Issues (20)
- [Perf] useActivityTreeWithRenderer slowdown exponentially
- Missing dependency on p-defer-es5
- [Fluent UI] Attach file button is too wide on Safari
- [Direct Line Speech] Stopped working after some Markdown syntax
- [Fluent UI] [iOS] Should not zoom when focusing on the send box HOT 1
- 4.17.0 Release checklist HOT 1
- No welcome message in react despite userID set
- [Bundling] No .cjs under /lib/
- Cannot import downscaleImageToDataURLUsingBrowser with 4.17.0 HOT 6
- [DX] Bump `http-proxy-middleware@3`
- Use `valibot` to validate props from external
- Customize typing indicator duration via `channelData`
- Supports `styleOptions` override on a per-activity basis
- Livestreaming typing animation #5141 | impact on operational costs chatbots HOT 2
- Enable Markdown formatting in Web Chat Channel
- Enable auto-submit of selected file HOT 2
- Webchat does not render correctly when added to a Web Component/shadowRoot HOT 2
- [Fluent UI] Should send `/DTMFKey 1` instead of `/DTMF 1`
- Suggested Action with CardAction not working as expected.
- How to display data in Table format with Webchat/Directline channel in Python bot HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from botframework-webchat.