alkem-io / client-web

Default web frontend, enabling browsing the Alkemio platform - so the hosted Challenges and communities collaborating around those Challenges.
https://alkem.io
European Union Public License 1.2
16 stars 6 forks source link

React 18 upgrade #7113

Open bobbykolev opened 1 month ago

bobbykolev commented 1 month ago

Description

As a user I want more performant application. As a developer I want up-to-date technology.

Acceptance criteria

Additional Context

⚠️ Convert to spike if there are breaking changes or dependencies and the upgrade requires more than a day.

Screen shots / UX designs / data that are relevant.

Areas that will be affected

Enitre web client.

thalacheva commented 5 days ago

Plan for the upgrade:

  1. @mui/styles is legacy and not compatible with React 18. Before the upgrade it should be replaced with @mui/system - migration doc. Some of the places it is used are deprecated components, so we need to discuss if we should rework the deprecated component or replace its usages with the new alternative.
  2. xstate should also be migrated first from v4 to v5 - it is used just in few places in the application, so maybe discuss if we need it at all.
  3. react-chat-widget - it has forked version that works with React 18 - https://www.npmjs.com/package/react-chat-widget-react-18 - discuss if we want to use this or another alternative.
  4. Finally upgrade react and all related packages, including @testing-library.