diff --git a/.editorconfig b/.editorconfig index 87f4c70ae1..8587533002 100644 --- a/.editorconfig +++ b/.editorconfig @@ -26,4 +26,4 @@ trim_trailing_whitespace = true indent_size = 4 [package.json] -indent_size = 2 +indent_size = 4 diff --git a/package.json b/package.json index f0c0828cee..2086c117f0 100644 --- a/package.json +++ b/package.json @@ -67,8 +67,8 @@ "update:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js" }, "resolutions": { - "@types/react-dom": "17.0.21", - "@types/react": "17.0.68" + "@types/react-dom": "18.2.25", + "@types/react": "18.2.79" }, "dependencies": { "@matrix-org/olm": "3.2.15", @@ -80,8 +80,8 @@ "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^1.3.1", - "react": "17.0.2", - "react-dom": "17.0.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", "ua-parser-js": "^1.0.0" }, "devDependencies": { @@ -108,7 +108,7 @@ "@principalstudio/html-webpack-inject-preload": "^1.2.7", "@sentry/webpack-plugin": "^2.7.1", "@svgr/webpack": "^8.0.0", - "@testing-library/react": "^12.1.5", + "@testing-library/react": "^14", "@types/commonmark": "^0.27.9", "@types/content-type": "^1.1.8", "@types/counterpart": "^0.18.4", @@ -127,9 +127,9 @@ "@types/node-fetch": "^2.6.4", "@types/pako": "^2.0.3", "@types/qrcode": "^1.5.5", - "@types/react": "17.0.68", + "@types/react": "18.2.79", "@types/react-beautiful-dnd": "^13.1.7", - "@types/react-dom": "17.0.21", + "@types/react-dom": "18.2.25", "@types/react-transition-group": "^4.4.9", "@types/sanitize-html": "^2.9.5", "@types/sdp-transform": "^2.4.9", diff --git a/src/components/views/auth/VectorAuthPage.tsx b/src/components/views/auth/VectorAuthPage.tsx index e04dfcefd7..d6ed2c12fa 100644 --- a/src/components/views/auth/VectorAuthPage.tsx +++ b/src/components/views/auth/VectorAuthPage.tsx @@ -19,7 +19,7 @@ import SdkConfig from "matrix-react-sdk/src/SdkConfig"; import VectorAuthFooter from "./VectorAuthFooter"; -export default class VectorAuthPage extends React.PureComponent { +export default class VectorAuthPage extends React.PureComponent { private static welcomeBackgroundUrl?: string; // cache the url as a static to prevent it changing without refreshing diff --git a/test/app-tests/loading-test.tsx b/test/app-tests/loading-test.tsx index fffdd95945..486b871d78 100644 --- a/test/app-tests/loading-test.tsx +++ b/test/app-tests/loading-test.tsx @@ -336,22 +336,19 @@ describe("loading:", function () { }); }); - it("shows a home page by default if we have no joined rooms", function () { + it("shows a home page by default if we have no joined rooms", async () => { localStorage.removeItem("mx_last_room_id"); loadApp(); - return awaitLoggedIn(matrixChat!) - .then(() => { - // we are logged in - let the sync complete - return expectAndAwaitSync(); - }) - .then(() => { - // once the sync completes, we should have a home page - httpBackend.verifyNoOutstandingExpectation(); - expect(matrixChat?.container.querySelector(".mx_HomePage")).toBeTruthy(); - expect(windowLocation?.hash).toEqual("#/home"); - }); + await awaitLoggedIn(matrixChat!); + // we are logged in - let the sync complete + await expectAndAwaitSync(); + // once the sync completes, we should have a home page + httpBackend.verifyNoOutstandingExpectation(); + await waitFor(() => matrixChat?.container.querySelector(".mx_HomePage")); + expect(matrixChat?.container.querySelector(".mx_HomePage")).toBeTruthy(); + expect(windowLocation?.hash).toEqual("#/home"); }); it("shows a room view if we followed a room link", function () { diff --git a/yarn.lock b/yarn.lock index 18be69d3ec..355e6d81ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2842,10 +2842,10 @@ "@svgr/plugin-jsx" "8.1.0" "@svgr/plugin-svgo" "8.1.0" -"@testing-library/dom@^8.0.0": - version "8.20.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== +"@testing-library/dom@^9.0.0": + version "9.3.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -2864,14 +2864,14 @@ "@babel/runtime" "^7.12.5" react-error-boundary "^3.1.0" -"@testing-library/react@^12.1.5": - version "12.1.5" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b" - integrity sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg== +"@testing-library/react@^14": + version "14.3.1" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.3.1.tgz#29513fc3770d6fb75245c4e1245c470e4ffdd830" + integrity sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.0.0" - "@types/react-dom" "<18.0.0" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" "@tootallnate/once@2": version "2.0.0" @@ -3280,12 +3280,12 @@ dependencies: "@types/react" "*" -"@types/react-dom@17.0.21", "@types/react-dom@<18.0.0": - version "17.0.21" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.21.tgz#85d56965483ce4850f5f03f9234e54a1f47786e5" - integrity sha512-3rQEFUNUUz2MYiRwJJj6UekcW7rFLOtmK7ajQP7qJpjNdggInl3I/xM4I3Hq1yYPdCGVMgax1gZsB7BBTtayXg== +"@types/react-dom@18.2.25", "@types/react-dom@^18.0.0": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.25.tgz#2946a30081f53e7c8d585eb138277245caedc521" + integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== dependencies: - "@types/react" "^17" + "@types/react" "*" "@types/react-redux@^7.1.20": version "7.1.28" @@ -3304,13 +3304,12 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@17.0.68", "@types/react@^17": - version "17.0.68" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.68.tgz#99b17f567e258f5e7be855a281ac67b49a34f9f2" - integrity sha512-y8heXejd/Gi43S28GOqIFmr6BzhLa3anMlPojRu4rHh3MtRrrpB+BtLEcqP3XPO1urXByzBdkOLU7sodYWnpkA== +"@types/react@*", "@types/react@18.2.79": + version "18.2.79" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.79.tgz#c40efb4f255711f554d47b449f796d1c7756d865" + integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/retry@0.12.0": @@ -3330,11 +3329,6 @@ dependencies: htmlparser2 "^8.0.0" -"@types/scheduler@*": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" - integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== - "@types/sdp-transform@^2.4.9": version "2.4.9" resolved "https://registry.yarnpkg.com/@types/sdp-transform/-/sdp-transform-2.4.9.tgz#26ef39f487a6909b0512f580b80920a366b27f52" @@ -10038,6 +10032,14 @@ react-dom@17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" +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== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + react-error-boundary@^3.1.0: version "3.1.4" resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0" @@ -10130,6 +10132,13 @@ react@17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -10481,6 +10490,13 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"