microsoft / microsoft/BotFramework-WebChat

BotFramework Web Chat 4.19.1 is still incompatible with React 19 due to removed react-dom APIs

Open
#5,850 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bot Services bug customer-reported
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?
  1. Install react@19 and react-dom@19.
  2. Install botframework-webchat@4.19.1.
  3. Import and use BotFramework Web Chat in the application.
  4. Build with a bundler that validates ESM named exports, such as Webpack 5.
  5. Observe the build errors caused by the removed react-dom exports.
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

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.