diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b1ed48d01..dd7bb0974 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13,7 +13,7 @@ "@radix-ui/react-collapsible": "^1.1.2", "@radix-ui/react-dialog": "^1.1.5", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.98.0", + "@tanstack/react-router": "^1.98.4", "@tanstack/router-zod-adapter": "^1.81.5", "@vector-im/compound-design-tokens": "3.0.1", "@vector-im/compound-web": "^7.6.2", @@ -44,8 +44,8 @@ "@storybook/react-vite": "^8.5.2", "@storybook/test": "^8.5.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/router-devtools": "^1.98.0", - "@tanstack/router-vite-plugin": "^1.98.0", + "@tanstack/router-devtools": "^1.98.4", + "@tanstack/router-vite-plugin": "^1.98.6", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@testing-library/user-event": "^14.6.1", @@ -5993,9 +5993,9 @@ } }, "node_modules/@tanstack/history": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.98.0.tgz", - "integrity": "sha512-zFGRdwz/+lLLSKPfKJ0AA8yVb7lXGrI2WwzhQqYXMKg6npUjlq06+XnrIIml99tQGZi+LFVZidtjBZTi2C/4+A==", + "version": "1.98.1", + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.98.1.tgz", + "integrity": "sha512-fDu7eOUSUB0MK7YYdCVHQczwJr6p8Fyzso4FKt3xm9MGaRMs9RTmsmk0KQOygGxFOgD44ETavMah5/0JOqFDaw==", "license": "MIT", "engines": { "node": ">=12" @@ -6061,14 +6061,14 @@ } }, "node_modules/@tanstack/react-router": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.98.0.tgz", - "integrity": "sha512-mnYadj+fOC8o0lIJBnvxYrVy6/5Vh+rLX1l8UuCfpIyRBxHxXarQwfgkczIdpljtQ43QU2mDtYyWdN1ADyko2A==", + "version": "1.98.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.98.4.tgz", + "integrity": "sha512-h+NZF0JTeEVqNcwXukiTrPUHGEzW7lRa2zKev+ib726Eedviy+WP9Jw7vIBKjjg8vAjCWyHTKxVo3M5lo74Jog==", "license": "MIT", "dependencies": { - "@tanstack/history": "1.98.0", + "@tanstack/history": "1.98.1", "@tanstack/react-store": "^0.7.0", - "@tanstack/router-core": "^1.98.0", + "@tanstack/router-core": "^1.98.1", "jsesc": "^3.1.0", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" @@ -6104,12 +6104,12 @@ } }, "node_modules/@tanstack/router-core": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.98.0.tgz", - "integrity": "sha512-ExfX1njbU5OksaB/LLPDnspTsxFXyfsblGEesUg5wxlV0s6doeh3gWj4PK06oNvSbW/S+ryu00HRv0F3y4wIsA==", + "version": "1.98.1", + "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.98.1.tgz", + "integrity": "sha512-s0ZBWTB5oIUP/Fb2z0OFK3wZTa831qZzG2ju0hSYhSxwX2d8ZDjXO4aClrGg1tK1O9+ZOb6n+PHdghpF1K9QTg==", "license": "MIT", "dependencies": { - "@tanstack/history": "1.98.0", + "@tanstack/history": "1.98.1", "@tanstack/store": "^0.7.0" }, "engines": { @@ -6121,9 +6121,9 @@ } }, "node_modules/@tanstack/router-devtools": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.98.0.tgz", - "integrity": "sha512-EbOJk/IihWBMqWv/g9B7v4T0MIqKmRwdKQxRfymMs0IOjsiJZIlhNek+uIxJs5H/P8v9ZR68SQvgObK7ezJ+QQ==", + "version": "1.98.4", + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.98.4.tgz", + "integrity": "sha512-Pa7zRqoKm1mRJ4TbsVOn52MELDMoWRsuWDOEC1j2VQhLFoWIvdZU2ZLRzfZbZ8pMRZcilCKDa4iXfb18IjOEEw==", "dev": true, "license": "MIT", "dependencies": { @@ -6138,19 +6138,19 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-router": "^1.98.0", + "@tanstack/react-router": "^1.98.4", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "node_modules/@tanstack/router-generator": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.98.0.tgz", - "integrity": "sha512-Bwejqnaj7TIDxSRw9MUT9GcTeBAXMoY839Oct8FuFodRg6a4YnjxcDDIWztmQJMOWrtERvVy+O6nqAakfP0DIQ==", + "version": "1.98.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.98.6.tgz", + "integrity": "sha512-3TQwtIafN2n3P6ydkp+NlTFWIBRKGY+VTI7g2wo4Ac2XuIhYavgxE/ME4kNoThsytcPinD/qCTvBhYNfKoeAVg==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/virtual-file-routes": "^1.98.0", + "@tanstack/virtual-file-routes": "^1.98.1", "prettier": "^3.4.2", "tsx": "^4.19.2", "zod": "^3.24.1" @@ -6163,7 +6163,7 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-router": "^1.98.0" + "@tanstack/react-router": "^1.98.4" }, "peerDependenciesMeta": { "@tanstack/react-router": { @@ -6172,31 +6172,26 @@ } }, "node_modules/@tanstack/router-plugin": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.98.0.tgz", - "integrity": "sha512-NjTLWaajcgrQckW6K71bL2sMXNmqjkFq4Qr+mbSgehGZJzXXJIkvGrYKigNFCIGvVrOklUIPgcGS8yGH0cSB/w==", + "version": "1.98.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.98.6.tgz", + "integrity": "sha512-cMDO6y+eIXY309jzFm9piYRlBRLR9NIVGBtEpIO0r0eaQ6Ns2ue7vRC2Cf70dC5Fb4eo50RIMN/QP11jCOwcsA==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.26.7", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", "@babel/plugin-syntax-jsx": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9", "@babel/template": "^7.25.9", "@babel/traverse": "^7.26.7", "@babel/types": "^7.26.7", - "@tanstack/router-generator": "^1.98.0", - "@tanstack/virtual-file-routes": "^1.98.0", + "@tanstack/router-generator": "^1.98.6", + "@tanstack/router-utils": "^1.98.5", + "@tanstack/virtual-file-routes": "^1.98.1", "@types/babel__core": "^7.20.5", - "@types/babel__generator": "^7.6.8", "@types/babel__template": "^7.4.4", "@types/babel__traverse": "^7.20.6", - "@types/diff": "^6.0.0", "babel-dead-code-elimination": "^1.0.8", - "chalk": "^5.4.1", "chokidar": "^3.6.0", - "diff": "^7.0.0", "unplugin": "^2.1.2", "zod": "^3.24.1" }, @@ -6224,19 +6219,6 @@ } } }, - "node_modules/@tanstack/router-plugin/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@tanstack/router-plugin/node_modules/unplugin": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.1.2.tgz", @@ -6251,14 +6233,34 @@ "node": ">=18.12.0" } }, + "node_modules/@tanstack/router-utils": { + "version": "1.98.5", + "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.98.5.tgz", + "integrity": "sha512-+2G9yqHgh9Xxhw4a5gg5r5WiuXgCQne9j82/RLyKRAG1JK9iGwPc6qPUHQdV359Yf5BO21MvaDeI8iB5y6wTDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "ansis": "^3.5.2", + "diff": "^7.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@tanstack/router-vite-plugin": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/router-vite-plugin/-/router-vite-plugin-1.98.0.tgz", - "integrity": "sha512-tJZZdYelUcHHLXdY9j5ydquy1KsDC5qL4CMvksGLVj/PcC6aiVpBD2uiSb76VxcDMmChZzZf4wsIoeQDq4GSIw==", + "version": "1.98.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-vite-plugin/-/router-vite-plugin-1.98.6.tgz", + "integrity": "sha512-tgjitUnnke4xLiVrB+xrFnvpv6a8ihG4ATI+sVyGOp0MZ+rscIprBTHah51uPq3om/7JcOfTsS+AGAPUybMWJA==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/router-plugin": "^1.98.0" + "@tanstack/router-plugin": "^1.98.6" }, "engines": { "node": ">=12" @@ -6296,9 +6298,9 @@ } }, "node_modules/@tanstack/virtual-file-routes": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.98.0.tgz", - "integrity": "sha512-L9xZy8eu/zyvz3lWj/C/YpBTgzCoZ7XTKIjQ++uWEFRVPdmTVrp+/O/2/ZYnGa315UNEK2+sEtE3/F/2ZPYMWA==", + "version": "1.98.1", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.98.1.tgz", + "integrity": "sha512-LBO5HEs6F9oeEgvqmu5ghJSyIQ242KwUJSlxq34AmMYDFOm5m9pVzRMbqbXFKva5CjDQcN8a7SNSy/hYovAwLg==", "dev": true, "license": "MIT", "engines": { @@ -6472,13 +6474,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/diff": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/diff/-/diff-6.0.0.tgz", - "integrity": "sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/doctrine": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", @@ -7124,6 +7119,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansis": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.10.0.tgz", + "integrity": "sha512-hxDKLYT7hy3Y4sF3HxI926A3urzPxi73mZBB629m9bCVF+NyKNxbwCqqm+C/YrGPtxLwnl6d8/ZASCsz6SyvJA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 4b2763022..b27596a60 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,7 +23,7 @@ "@radix-ui/react-collapsible": "^1.1.2", "@radix-ui/react-dialog": "^1.1.5", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.98.0", + "@tanstack/react-router": "^1.98.4", "@tanstack/router-zod-adapter": "^1.81.5", "@vector-im/compound-design-tokens": "3.0.1", "@vector-im/compound-web": "^7.6.2", @@ -54,8 +54,8 @@ "@storybook/react-vite": "^8.5.2", "@storybook/test": "^8.5.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/router-devtools": "^1.98.0", - "@tanstack/router-vite-plugin": "^1.98.0", + "@tanstack/router-devtools": "^1.98.4", + "@tanstack/router-vite-plugin": "^1.98.6", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@testing-library/user-event": "^14.6.1", diff --git a/frontend/src/router.tsx b/frontend/src/router.tsx index 02d3ed55d..db2076e0a 100644 --- a/frontend/src/router.tsx +++ b/frontend/src/router.tsx @@ -13,6 +13,7 @@ import { routeTree } from "./routeTree.gen"; // Create a new router instance export const router = createRouter({ routeTree, + scrollRestoration: true, basepath: config.root, defaultPendingComponent: LoadingScreen, defaultPreload: "intent", diff --git a/frontend/src/routes/__root.tsx b/frontend/src/routes/__root.tsx index 21ca5d8e2..a4ab23b30 100644 --- a/frontend/src/routes/__root.tsx +++ b/frontend/src/routes/__root.tsx @@ -9,7 +9,6 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { type ErrorRouteComponent, Outlet, - ScrollRestoration, createRootRouteWithContext, } from "@tanstack/react-router"; import { TanStackRouterDevtools } from "@tanstack/router-devtools"; @@ -28,7 +27,6 @@ export const Route = createRootRouteWithContext<{ }>()({ component: () => ( <> - {import.meta.env.DEV && diff --git a/frontend/tests/routes/__snapshots__/reset-cross-signing.test.tsx.snap b/frontend/tests/routes/__snapshots__/reset-cross-signing.test.tsx.snap index 19666f3b4..5964df356 100644 --- a/frontend/tests/routes/__snapshots__/reset-cross-signing.test.tsx.snap +++ b/frontend/tests/routes/__snapshots__/reset-cross-signing.test.tsx.snap @@ -48,6 +48,9 @@ exports[`Reset cross signing > renders the cancelled page 1`] = `

+ `; @@ -234,6 +237,9 @@ exports[`Reset cross signing > renders the deep link page 1`] = `

+ `; @@ -322,6 +328,9 @@ exports[`Reset cross signing > renders the errored page 1`] = `

+ `; @@ -508,6 +517,9 @@ exports[`Reset cross signing > renders the page 1`] = `

+ `; @@ -554,6 +566,9 @@ exports[`Reset cross signing > renders the success page 1`] = `

+ `; @@ -600,5 +615,8 @@ exports[`Reset cross signing > renders the success page 2`] = `

+ `; diff --git a/frontend/tests/routes/account/__snapshots__/index.test.tsx.snap b/frontend/tests/routes/account/__snapshots__/index.test.tsx.snap index 48fa1e3be..3b0948a4e 100644 --- a/frontend/tests/routes/account/__snapshots__/index.test.tsx.snap +++ b/frontend/tests/routes/account/__snapshots__/index.test.tsx.snap @@ -736,5 +736,8 @@ exports[`Account home page > renders the page 1`] = `

+ `;