Skip to content

Upgrade to React 19, Storybook 8, and Node 22#1291

Open
Aryan-Verma-999 wants to merge 3 commits intoRocketChat:developfrom
Aryan-Verma-999:react-19-upgrade
Open

Upgrade to React 19, Storybook 8, and Node 22#1291
Aryan-Verma-999 wants to merge 3 commits intoRocketChat:developfrom
Aryan-Verma-999:react-19-upgrade

Conversation

@Aryan-Verma-999
Copy link
Copy Markdown

@Aryan-Verma-999 Aryan-Verma-999 commented May 9, 2026

Upgrade to React 19, Storybook 8, and Node 22

This PR modernizes the EmbeddedChat core infrastructure by upgrading the foundational stack to React 19 and Storybook 8, while aligning the development environment with Node 22 (LTS).

Acceptance Criteria fulfillment

  • React 19 Upgrade: Bumped react and react-dom to v19.0.0 across all packages.
  • Node 22 (LTS): Updated .nvmrc and workspace engine requirements to Node 22.
  • Storybook 8: Migrated UI documentation and component stories to Storybook 8.
  • Component Optimization: Refactored LoginForm to use useRef for input state management, significantly reducing unnecessary re-renders.
  • DDP Connection Resilience: Implemented a connection promise guard in EmbeddedChatApi to prevent race conditions and redundant connection attempts (critical for React 19 StrictMode behavior).
  • Rendering Logic: Updated ChatInput, ChatBody, and message handling to resolve issues stemming from React 19's updated rendering engine and lifecycle changes.

Video/Screenshots

PR Test Details

All core features, including authentication, messaging, and real-time updates, have been verified as working.

Note: The file upload functionality is currently excluded from this PR as it is being resolved separately in PR #1231.

Note: The PR will be ready for live testing at https://rocketchat.github.io/EmbeddedChat/pulls/pr-1291 after approval. Contributors are requested to replace <pr_number> with the actual PR number.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant