microsoft / microsoft/BotFramework-WebChat
BotFramework Web Chat 4.19.1 is still incompatible with React 19 due to removed react-dom APIs
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1.8k
- Forks
- 1.6k
- Avg merge
- 22h 58m
- Merged PRs (30d)
- 2
Description
Is it an issue related to Adaptive Cards?
No
Is this an accessibility issue?
No
What version of Web Chat are you using?
Latest production
Which distribution are you using Web Chat from?
NPM
Which hosting environment does this issue primarily affect?
Web apps
Which browsers and platforms do the issue happened?
No response
Which area does this issue affect?
Development experience
Which theme pack does this issue affect?
I did not test it on other theme packs
What is the public URL for the website?
No response
Please describe the bug
This is a follow-up to #5552, reported in August 2025.
Although BotFramework Web Chat has since been released as 4.19.1, the published botframework-webchat-component@4.19.1 package is still incompatible with React 19. It continues to import APIs that React 19 removed:
import { render, unmountComponentAtNode } from 'react-dom';
This blocks React 19 upgrades for downstream applications and packages, including users of @microsoft/omnichannel-chat-widget.
Do you see any errors in console log?
export 'render' was not found in 'react-dom'
export 'unmountComponentAtNode' was not found in 'react-dom'
How to reproduce the issue?
- Install
react@19andreact-dom@19. - Install
botframework-webchat@4.19.1. - Import and use BotFramework Web Chat in the application.
- Build with a bundler that validates ESM named exports, such as Webpack 5.
- Observe the build errors caused by the removed
react-domexports.
What do you expect?
BotFramework Web Chat should support React 19 by replacing the removed APIs with the React root API:
createRoot(...).render(...)root.unmount()
The published package should build and run with React 19. Alternatively, if React 19 is not supported yet, the package metadata and documentation should make that limitation explicit.
What actually happened?
The build fails because React 19 no longer exports render or unmountComponentAtNode from react-dom.
We verified that these imports are still present in the published botframework-webchat-component artifacts for both 4.19.0 and 4.19.1. They are also still present in the current main source.
Do you have any screenshots or recordings to repro the issue?
No response
Adaptive Card JSON
Additional context
- Original React 19 compatibility report: https://github.com/microsoft/BotFramework-WebChat/issues/5552
- Current implementation on
main: https://github.com/microsoft/BotFramework-WebChat/blob/main/packages/component/src/providers/CustomElements/customElements/wrapAsCustomElement.ts - React 19 upgrade guide: https://react.dev/blog/2024/04/25/react-19-upgrade-guide
The current peer dependency ranges (react >= 16.8.6 and react-dom >= 16.8.6) accept React 19 even though the implementation does not work with it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/component/src/providers/CustomElements/customElements/wrapAsCustomElement.ts and reproduce the issue using React 19, react-dom 19, botframework-webchat@4.19.1, and a bundler such as Webpack 5. Update the removed react-dom API usage to the React root API, then verify that the published package builds and runs with React 19.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react
- Domain
- developer-experience, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100