From a4ad28b98170cc596757fa9cbe8a33ef04a73e58 Mon Sep 17 00:00:00 2001
From: Bastien DUMONT <bdumont@grandlyon.com>
Date: Mon, 9 Jan 2023 10:59:01 +0100
Subject: [PATCH] wip

---
 package.json                  |  6 ++---
 src/targets/browser/index.tsx |  6 +++--
 yarn.lock                     | 41 +++++++++++++++++++++++++----------
 3 files changed, 37 insertions(+), 16 deletions(-)

diff --git a/package.json b/package.json
index 82066d4cb..ec0e1e0ab 100644
--- a/package.json
+++ b/package.json
@@ -68,12 +68,13 @@
     "global": "^4.4.0",
     "handlebars": "^4.7.7",
     "handlebars-loader": "^1.7.1",
+    "history": "^5.3.0",
     "lodash": "^4.17.15",
     "mjml-browser": "^4.10.2",
     "null-loader": "^4.0.1",
     "object-hash": "^3.0.0",
     "react": "18.2.0",
-    "react-dom": "18.2.0",
+    "react-dom": "^18.2.0",
     "react-redux": "^7.2.2",
     "react-router-dom": "6.4.5",
     "react-swipeable-views": "0.14.0",
@@ -87,7 +88,6 @@
     "@types/d3": "^6.0.0",
     "@types/enzyme": "^3.10.8",
     "@types/file-saver": "^2.0.5",
-    "@types/history": "^4.7.5",
     "@types/jest": "^29.0.0",
     "@types/lodash": "^4.14.149",
     "@types/luxon": "^3.0.0",
@@ -102,7 +102,7 @@
     "@typescript-eslint/eslint-plugin": "^5.37.0",
     "@typescript-eslint/parser": "^5.37.0",
     "babel-polyfill": "^6.26.0",
-    "babel-preset-cozy-app": "2.0.3",
+    "babel-preset-cozy-app": "2.0.4",
     "copy-webpack-plugin": "6.4.1",
     "cozy-app-publish": "^0.31.0",
     "cozy-jobs-cli": "^1.13.6",
diff --git a/src/targets/browser/index.tsx b/src/targets/browser/index.tsx
index f6ae85303..988fb2239 100644
--- a/src/targets/browser/index.tsx
+++ b/src/targets/browser/index.tsx
@@ -15,7 +15,7 @@ import schema from 'doctypes'
 import { createBrowserHistory, History } from 'history'
 import { memoize } from 'lodash'
 import React from 'react'
-import { render } from 'react-dom'
+import { createRoot } from 'react-dom/client'
 import { Provider } from 'react-redux'
 import { HashRouter } from 'react-router-dom'
 import EnvironmentService from 'services/environment.service'
@@ -100,7 +100,9 @@ const init = () => {
 
   if (handleOAuthResponse()) return
   const App = require('components/App').default
-  render(
+  // not needed ?
+  const rootRender = createRoot(root!)
+  rootRender.render(
     <Provider store={store}>
       <CozyProvider client={client}>
         <I18n lang={locale} polyglot={polyglot}>
diff --git a/yarn.lock b/yarn.lock
index 29d53e337..844759b96 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1480,6 +1480,13 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
+"@babel/runtime@^7.7.6":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
+  integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
+  dependencies:
+    regenerator-runtime "^0.13.11"
+
 "@babel/template@^7.16.7", "@babel/template@^7.18.10":
   version "7.18.10"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
@@ -2779,7 +2786,7 @@
   dependencies:
     "@types/node" "*"
 
-"@types/history@^4.7.11", "@types/history@^4.7.5":
+"@types/history@^4.7.11":
   version "4.7.11"
   resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64"
   integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==
@@ -4072,10 +4079,10 @@ babel-preset-cozy-app@1.9.2:
     browserslist-config-cozy "^0.3.1"
     lodash "4.17.19"
 
-babel-preset-cozy-app@2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/babel-preset-cozy-app/-/babel-preset-cozy-app-2.0.3.tgz#7056c783383e88f1787908642e4926c10cf95116"
-  integrity sha512-Cgcx+B9QbrLWvYQ7stV9tQq5Q0tVV99OuW8tzvBYNhXDvQ7rT8V6OL8LHN5AtFAkcKn7keNXEorxY8nHtU9q6g==
+babel-preset-cozy-app@2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/babel-preset-cozy-app/-/babel-preset-cozy-app-2.0.4.tgz#95b39ba124c8938223f40d2357fff43f6e97c0b5"
+  integrity sha512-X3XvvIvEt+x9xbGmERjdFJSrjOr7yXcMrb4Z8X42xES6YNyzM2ZourgnxZHczv/aFQMoPu5q9Bd/VGCNZAzSOw==
   dependencies:
     "@babel/core" "7.16.12"
     "@babel/eslint-parser" "^7.16.3"
@@ -4087,7 +4094,7 @@ babel-preset-cozy-app@2.0.3:
     "@babel/preset-react" "^7.16.0"
     "@babel/preset-typescript" "^7.16.0"
     "@babel/runtime" "^7.16.3"
-    browserslist-config-cozy "^0.4.0"
+    browserslist-config-cozy "^0.4.1"
     lodash "^4.17.21"
     typescript "^4.5.2"
 
@@ -4411,10 +4418,10 @@ browserslist-config-cozy@^0.3.1:
   resolved "https://registry.yarnpkg.com/browserslist-config-cozy/-/browserslist-config-cozy-0.3.2.tgz#0a06ed1357480e4e90bbe826aa3159c7e8bc85b3"
   integrity sha512-d3wUIrKK8OYUPpgY3FJdb2I3xoDLtia7s2hhNfVUvQMldhw/xivmbtrPlkDdtsOjXa/SXKNhJT45uiS1QOhqVg==
 
-browserslist-config-cozy@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/browserslist-config-cozy/-/browserslist-config-cozy-0.4.0.tgz#0b3fd831ce59c69e70b799a4e57a206535468878"
-  integrity sha512-t2q4UoWotfnT9Zw/GKXgSh0nMyvUCQEji+EObSQXsUCnEwhac8Ae3AJYd2ySsEHZ/ufEX8f6kR6jPbWJqBpUUw==
+browserslist-config-cozy@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/browserslist-config-cozy/-/browserslist-config-cozy-0.4.1.tgz#dae35324732f88b439cc4ff4ac2eff43a8291b47"
+  integrity sha512-VPuwME74kEWXml6Zadydm8SoKS0zdzZJ2DINKAScbE/xK9+9gPV+TljdPZA7FUTlVwmf9szcYMKGqqycD4I27w==
 
 browserslist@^4.11.1, browserslist@^4.20.2, browserslist@^4.21.0, browserslist@^4.3.4:
   version "4.21.1"
@@ -8935,6 +8942,13 @@ highlight.js@^10.7.1:
   resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
   integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
 
+history@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
+  integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
+  dependencies:
+    "@babel/runtime" "^7.7.6"
+
 hmac-drbg@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -13721,7 +13735,7 @@ react-chartjs-2@4.1.0:
   resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-4.1.0.tgz#2a123df16d3a987c54eb4e810ed766d3c03adf8d"
   integrity sha512-AsUihxEp8Jm1oBhbEovE+w50m9PVNhz1sfwEIT4hZduRC0m14gHWHd0cUaxkFDb8HNkdMIGzsNlmVqKiOpU74g==
 
-react-dom@18.2.0:
+react-dom@^18.2.0:
   version "18.2.0"
   resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
   integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -14233,6 +14247,11 @@ regenerator-runtime@^0.12.0:
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
   integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
 
+regenerator-runtime@^0.13.11:
+  version "0.13.11"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
+  integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
+
 regenerator-runtime@^0.13.4:
   version "0.13.9"
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
-- 
GitLab