Uploaded image for project: 'OpenShift Console'
  1. OpenShift Console
  2. CONSOLE-4997

Figure out changes needed for React 18 upgrade

XMLWordPrintable

    • Icon: Spike Spike
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • None
    • None

      AC:

        • Wow  
      • Figure out what remaining changes are needed in order to make React 18 work in console
      • Figure out whether we can allow React 17 dynamic plugins to load in React 18 (without compatibility guarantees)
        • Probably..? We can probably allow plugins to continue suppress shared module warnings if they really can't upgrade, and we could loosen the shared module semver range during runtime so that stuff will try to work. However due to changes in rendering behavior, we cannot guarantee everything will work
      • Figure out why some pages like Topology and +Add in developer perspective don't work in React 18 non-concurrent rendering mode (ReactDOM.render)
        • It was probably LazyRoutePage
      • Figure out why console does not load at all in React 18 concurrent rendering mode (createRoot)
        • TBD
      • Identify where we should use new React 18 hooks like useSyncExternalStore and useId to better support concurrent rendering mode
        • TBD
      • Determine whether we should follow the React-recommended pattern of wrapping our app with React.StrictMode to enable debugging concurrent mode problems easier
        • Probably because our code is also very old and so I don't have much confidence that our effects will still work fine after being run twice. Enabling this also forces plugin authors to use always use StrictMode which they might not want to
        • I would love to do this though so maybe a stretch goal can be enabling strict mode and fixing all strict-mode related stuff

              rh-ee-jaclee Jackson Lee
              rh-ee-jaclee Jackson Lee
              None
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: