diff --git a/package-lock.json b/package-lock.json index 434aa9ce84cd..37aca4fc46dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,12 +45,12 @@ "@react-native-firebase/app": "^22.2.1", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.11.3", - "@react-navigation/bottom-tabs": "7.15.5", - "@react-navigation/core": "7.21.12", - "@react-navigation/material-top-tabs": "7.4.19", - "@react-navigation/native": "7.1.33", - "@react-navigation/native-stack": "7.14.5", - "@react-navigation/stack": "7.8.5", + "@react-navigation/bottom-tabs": "7.19.1", + "@react-navigation/core": "7.22.1", + "@react-navigation/material-top-tabs": "7.7.1", + "@react-navigation/native": "7.4.1", + "@react-navigation/native-stack": "7.19.1", + "@react-navigation/stack": "7.11.1", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.3.2", "@sbaiahmed1/react-native-biometrics": "0.15.0", @@ -188,7 +188,7 @@ "@react-native-community/cli-platform-ios": "20.1.0", "@react-native/babel-preset": "0.86.0", "@react-native/metro-config": "0.86.0", - "@react-navigation/devtools": "7.0.52", + "@react-navigation/devtools": "7.1.15", "@rock-js/platform-android": "0.13.4", "@rock-js/platform-ios": "0.13.4", "@rock-js/plugin-metro": "0.13.4", @@ -15118,17 +15118,17 @@ } }, "node_modules/@react-navigation/bottom-tabs": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.15.5.tgz", - "integrity": "sha512-wQHredlCrRmShWQ1vF4HUcLdaiJ8fUgnbaeQH7BJ7MQVQh4mdzab0IOY/4QSmUyNRB350oyu1biTycyQ5FKWMQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.19.1.tgz", + "integrity": "sha512-LE4CFDkwVQ1H+0CMTdanFJkXlgy4xaYoZMFrwS65iyMPDGfNBnGrqrNcn7nCiYWbodG2bYSbFmXlEyRE+Qh2xw==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.9.10", + "@react-navigation/elements": "^2.9.42", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { - "@react-navigation/native": "^7.1.33", + "@react-navigation/native": "^7.4.1", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", @@ -15136,16 +15136,15 @@ } }, "node_modules/@react-navigation/core": { - "version": "7.21.12", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.21.12.tgz", - "integrity": "sha512-FopGMGy5df+IMqUYg9w7ygwK0oP4RaQbMnpb7VFP30+vZdd8MqsAGc+bZZwdiVSnzK9hzhgJtZV9XF0ZFlUYOQ==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.22.1.tgz", + "integrity": "sha512-6JAaYM4u6RPtVMUjN5ovX5DNBdBZtDqebk7kEwlncUP6fP4P94+qEYv1bRmtxSFs7UxiZwQQs+jzTsBaW2WeyA==", "license": "MIT", "dependencies": { "@react-navigation/routers": "^7.6.4", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", - "query-string": "^7.1.3", "react-is": "^19.1.0", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" @@ -15155,15 +15154,15 @@ } }, "node_modules/@react-navigation/core/node_modules/react-is": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", - "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.3.0.tgz", + "integrity": "sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA==", "license": "MIT" }, "node_modules/@react-navigation/devtools": { - "version": "7.0.52", - "resolved": "https://registry.npmjs.org/@react-navigation/devtools/-/devtools-7.0.52.tgz", - "integrity": "sha512-YqSr1c4USLCdTttltfwOXoPNHlEhnLmSSehGPt7j7yrXDXj55qRQA4aNF0p02paTN2phN17oBaBPcC2nSbqtfw==", + "version": "7.1.15", + "resolved": "https://registry.npmjs.org/@react-navigation/devtools/-/devtools-7.1.15.tgz", + "integrity": "sha512-NLwHCr4vcQ7hvUaFol+GyOje0oMCTMIRCITFVkcpST6auejSpwT3/obk8lI2b+k+B9J4vb7gKy+3inW1ZlqG/A==", "dev": true, "license": "MIT", "dependencies": { @@ -15176,9 +15175,9 @@ } }, "node_modules/@react-navigation/elements": { - "version": "2.9.14", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.14.tgz", - "integrity": "sha512-lKqzu+su2pI/YIZmR7L7xdOs4UL+rVXKJAMpRMBrwInEy96SjIFst6QDGpE89Dunnu3VjVpjWfByo9f2GWBHDQ==", + "version": "2.9.42", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.42.tgz", + "integrity": "sha512-3U1ZmXXoSrJEex+f8I4sRAzVL0OwLpgTEzORgjQGExWLjGrvn7QofK8cjNgBQHjRiTTQXAl8QMZvrdejg7yJAA==", "license": "MIT", "dependencies": { "color": "^4.2.3", @@ -15187,7 +15186,7 @@ }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", - "@react-navigation/native": "^7.2.2", + "@react-navigation/native": "^7.4.1", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" @@ -15199,17 +15198,17 @@ } }, "node_modules/@react-navigation/material-top-tabs": { - "version": "7.4.19", - "resolved": "https://registry.npmjs.org/@react-navigation/material-top-tabs/-/material-top-tabs-7.4.19.tgz", - "integrity": "sha512-jYGgItg51bjy3ypKeLm7sNEmGh0tFLn0VLV/p06iUprwKzuIvQESFin9M2+HUHa0pE1+g5tnf/ECKQJiAw712Q==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@react-navigation/material-top-tabs/-/material-top-tabs-7.7.1.tgz", + "integrity": "sha512-1oH+mpnxzfsQ7Zvok+f+7uynaJzHQ/O+PL8LC4gUXK345WsaeIaXLRqs+eRTyyzNU7II8IL8s3MedQzZJmW3BQ==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.9.10", + "@react-navigation/elements": "^2.9.42", "color": "^4.2.3", - "react-native-tab-view": "^4.3.0" + "react-native-tab-view": "^4.3.2" }, "peerDependencies": { - "@react-navigation/native": "^7.1.33", + "@react-navigation/native": "^7.4.1", "react": ">= 18.2.0", "react-native": "*", "react-native-pager-view": ">= 6.0.0", @@ -15217,15 +15216,16 @@ } }, "node_modules/@react-navigation/native": { - "version": "7.1.33", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.33.tgz", - "integrity": "sha512-DpFdWGcgLajKZ1TuIvDNQsblN2QaUFWpTQaB8v7WRP9Mix8H/6TFoIrZd93pbymI2hybd6UYrD+lI408eWVcfw==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.4.1.tgz", + "integrity": "sha512-pEnu5XzAXV6RWr6A6pmZ7qLB+O6TJWMhBO25AjckMdr596UWulMPHQCtBcnOUfg6K+2h9ZUctHF2E5Xu4vcOrQ==", "license": "MIT", "dependencies": { - "@react-navigation/core": "^7.16.1", + "@react-navigation/core": "^7.22.1", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", + "standard-navigation": "^0.0.8", "use-latest-callback": "^0.2.4" }, "peerDependencies": { @@ -15234,18 +15234,18 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.14.5.tgz", - "integrity": "sha512-NuyMf21kKk3jODvYgpcDA+HwyWr/KEj72ciqquyEupZlsmQ3WNUGgdaixEB3A19+iPOvHLQzDLcoTrrqZk8Leg==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.19.1.tgz", + "integrity": "sha512-YB3DLKXe1CLZAtJWgH/F3M5fWRALm1VbgVm91FppGYqPYfVZrD7mJaINaif2RIC4sZW7BziCE57IZ68vlINdkg==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.9.10", + "@react-navigation/elements": "^2.9.42", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0", "warn-once": "^0.1.1" }, "peerDependencies": { - "@react-navigation/native": "^7.1.33", + "@react-navigation/native": "^7.4.1", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", @@ -15262,17 +15262,17 @@ } }, "node_modules/@react-navigation/stack": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.8.5.tgz", - "integrity": "sha512-ZOD1gUhWpbI+1PD5mKZFnLBh3Vfq2bqhO5/NeEruaQwNdXkiiHpi59OUKMnFRQURjjYXf/skTM9hJa6zHdiyFw==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.11.1.tgz", + "integrity": "sha512-OoqgwCGtnb7mgweFncMV/KBgebATJG5Bq7LN2E68ZDDJtCeDcHbVMJS3KOAkXwkuB+1LhDds4eGi7KBxe3YqAg==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.9.10", + "@react-navigation/elements": "^2.9.42", "color": "^4.2.3", "use-latest-callback": "^0.2.4" }, "peerDependencies": { - "@react-navigation/native": "^7.1.33", + "@react-navigation/native": "^7.4.1", "react": ">= 18.2.0", "react-native": "*", "react-native-gesture-handler": ">= 2.0.0", @@ -25062,15 +25062,6 @@ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "license": "MIT" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -28061,15 +28052,6 @@ "node": ">=8" } }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/find-babel-config": { "version": "2.0.0", "dev": true, @@ -36957,24 +36939,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "license": "MIT", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -38258,9 +38222,9 @@ } }, "node_modules/react-native-tab-view": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-4.3.0.tgz", - "integrity": "sha512-qPMF75uz/7+MuVG2g+YETdGMzlWZnhC6iI4h/7EBbwIBwNBIBi2z4OA6KhY3IOOBwGHXEIz5IyA6doDqifYBHg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-4.3.2.tgz", + "integrity": "sha512-QCHX9bTGMeME5pt4jJ1/H7oshX7Z2nA/Ts3m7FpKUbWfPPIL8rlNLZwkedgV273Eqau8jj8deRtfSZl9LCctCw==", "license": "MIT", "dependencies": { "use-latest-callback": "^0.2.4" @@ -40209,15 +40173,6 @@ "integrity": "sha512-D50hKrjZgBzqD3FT2Ek53f2dcDLAQT8SSGrzj3vidNH5ISRgceeGVJ2dQIthKOuayqFXfFjXheHNo4bbt9LhRQ==", "license": "MIT" }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -40383,6 +40338,15 @@ "node": ">=8" } }, + "node_modules/standard-navigation": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/standard-navigation/-/standard-navigation-0.0.8.tgz", + "integrity": "sha512-TyVbo7INUDWtsUWDFn8RR7kwR87U0S4xHfLfbbnyeC581TmmyqQ+eM+nPw8rQTSD8QitRVcYfPaSHr/QJiUy1g==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/statuses": { "version": "2.0.1", "license": "MIT", @@ -41127,15 +41091,6 @@ "node": ">= 0.10.0" } }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/string_decoder": { "version": "1.1.1", "devOptional": true, diff --git a/package.json b/package.json index 4739db2b92b7..78708b286b36 100644 --- a/package.json +++ b/package.json @@ -121,12 +121,12 @@ "@react-native-firebase/app": "^22.2.1", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.11.3", - "@react-navigation/bottom-tabs": "7.15.5", - "@react-navigation/core": "7.21.12", - "@react-navigation/material-top-tabs": "7.4.19", - "@react-navigation/native": "7.1.33", - "@react-navigation/native-stack": "7.14.5", - "@react-navigation/stack": "7.8.5", + "@react-navigation/bottom-tabs": "7.19.1", + "@react-navigation/core": "7.22.1", + "@react-navigation/material-top-tabs": "7.7.1", + "@react-navigation/native": "7.4.1", + "@react-navigation/native-stack": "7.19.1", + "@react-navigation/stack": "7.11.1", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.3.2", "@sbaiahmed1/react-native-biometrics": "0.15.0", @@ -264,7 +264,7 @@ "@react-native-community/cli-platform-ios": "20.1.0", "@react-native/babel-preset": "0.86.0", "@react-native/metro-config": "0.86.0", - "@react-navigation/devtools": "7.0.52", + "@react-navigation/devtools": "7.1.15", "@rock-js/platform-android": "0.13.4", "@rock-js/platform-ios": "0.13.4", "@rock-js/plugin-metro": "0.13.4", diff --git a/patches/react-native-tab-view/details.md b/patches/react-native-tab-view/details.md index c6952b53e27b..1edc11f5121c 100644 --- a/patches/react-native-tab-view/details.md +++ b/patches/react-native-tab-view/details.md @@ -1,6 +1,6 @@ # `react-native-tab-view` patches -### [react-native-tab-view+4.3.0+001+fix-tab-animation.patch](react-native-tab-view+4.3.0+001+fix-tab-animation.patch) +### [react-native-tab-view+4.3.2+001+fix-tab-animation.patch](react-native-tab-view+4.3.2+001+fix-tab-animation.patch) - Reason: @@ -13,18 +13,22 @@ - E/App issue: 🛑 - PR Introducing Patch: [#39854](https://github.com/Expensify/App/pull/39854) -### [react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch](react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch) +### [react-native-tab-view+4.3.2+002+fix-glitching-on-initial-load.patch](react-native-tab-view+4.3.2+002+fix-glitching-on-initial-load.patch) - Reason: ``` There was a visible glitching on initial load. The glitch was visible because two animated values: position and translateX were equal to 0 for a brief moment before changing to a proper value. ``` + + The 4.3.2 re-port dropped the `lib/typescript/src/PanResponderAdapter.d.ts.map` hunk. It only rewrites a + source map for declaration files, which nothing at runtime reads, and its base content changed in 4.3.2. + The `PanResponderAdapter.js` and `.js.map` hunks are carried over unchanged. - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/12627#issuecomment-2945055209 - E/App issue: https://github.com/Expensify/App/issues/62346 - PR Introducing Patch: [#63570](https://github.com/Expensify/App/pull/63570) -### [react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch](react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch) +### [react-native-tab-view+4.3.2+003+fix-web-onTabSelect-on-mount.patch](react-native-tab-view+4.3.2+003+fix-web-onTabSelect-on-mount.patch) - Reason: ``` @@ -35,7 +39,7 @@ - E/App issue: https://github.com/Expensify/App/issues/71913#issuecomment-3584103273 - PR Introducing Patch: [#76586](https://github.com/Expensify/App/pull/76586) -### [react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch](react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch) +### [react-native-tab-view+4.3.2+004+fix-native-onTabSelect-on-mount.patch](react-native-tab-view+4.3.2+004+fix-native-onTabSelect-on-mount.patch) - Reason: ``` @@ -46,7 +50,7 @@ - Upstream PR/issue: 🛑 (must merge https://github.com/react-navigation/react-navigation/pull/12627 first) - E/App issue: https://github.com/Expensify/App/issues/83010 -### [react-native-tab-view+4.3.0+005+fix-pager-scrollleft-91610.patch](react-native-tab-view+4.3.0+005+fix-pager-scrollleft-91610.patch) +### [react-native-tab-view+4.3.2+005+fix-pager-scrollleft-91610.patch](react-native-tab-view+4.3.2+005+fix-pager-scrollleft-91610.patch) - Reason: ``` diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.2+001+fix-tab-animation.patch similarity index 84% rename from patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.2+001+fix-tab-animation.patch index ff7f28cbb451..688814ff9bc4 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.2+001+fix-tab-animation.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx -index d4a0a0e..0000001 100644 +index d4a0a0e..d66b0cb 100644 --- a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx +++ b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx @@ -134,9 +134,10 @@ export function PagerViewAdapter({ @@ -14,10 +14,7 @@ index d4a0a0e..0000001 100644 ); return children({ -@@ -163,9 +164,11 @@ export function PagerViewAdapter({ - ], - { useNativeDriver } - )} +@@ -166,6 +167,8 @@ export function PagerViewAdapter({ onPageSelected={(e) => { const index = e.nativeEvent.position; indexRef.current = index; diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.2+002+fix-glitching-on-initial-load.patch similarity index 90% rename from patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.2+002+fix-glitching-on-initial-load.patch index bb6e9c1a5857..01e6a306a1f5 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.2+002+fix-glitching-on-initial-load.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -index 22c1705..0000002 100644 +index 22c1705..fdb8c83 100644 --- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js +++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js @@ -79,10 +79,38 @@ export function PanResponderAdapter({ @@ -85,12 +85,3 @@ index 95b628e..2a31760 100644 -{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","useLayoutEffect","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","length","startGesture","stopAnimation","setOffset","_value","respondToGesture","position","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","maxTranslate","translateX","multiply","interpolate","inputRange","outputRange","extrapolate","useMemo","divide","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} +{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","position","setPosition","useState","translateX","setTranslateX","divide","maxTranslate","length","multiply","interpolate","inputRange","outputRange","extrapolate","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","startGesture","stopAnimation","setOffset","_value","respondToGesture","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} \ No newline at end of file -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -index f477de0..4d55ccb 100644 ---- a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -+++ b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EA8QV"} -\ No newline at end of file -+{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EAiSV"} -\ No newline at end of file diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.2+003+fix-web-onTabSelect-on-mount.patch similarity index 88% rename from patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.2+003+fix-web-onTabSelect-on-mount.patch index ff1df355c8df..37cd3b30b474 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.2+003+fix-web-onTabSelect-on-mount.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -index 0000002..0000003 100644 +index fdb8c83..7ae690b 100644 --- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js +++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js @@ -39,6 +39,7 @@ export function PanResponderAdapter({ @@ -10,14 +10,15 @@ index 0000002..0000003 100644 const swipeVelocityThreshold = 0.15; const swipeDistanceThreshold = layout.width / 1.75; const jumpToIndex = useLatestCallback((index, animate = animationEnabled) => { -@@ -94,5 +95,6 @@ export function PanResponderAdapter({ +@@ -94,6 +95,7 @@ export function PanResponderAdapter({ setPosition(null); // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect setTranslateX(null); + hasCalledInitialTabSelectRef.current = false; return; } -@@ -110,5 +112,11 @@ export function PanResponderAdapter({ + +@@ -110,6 +112,12 @@ export function PanResponderAdapter({ outputRange: [-maxTranslate, 0], extrapolate: 'clamp' }), layoutDirection === 'rtl' ? -1 : 1)); @@ -29,3 +30,4 @@ index 0000002..0000003 100644 + } }, [layout.width, panX, routes.length, layoutDirection]); React.useEffect(() => { + if (keyboardDismissMode === 'auto') { diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.2+004+fix-native-onTabSelect-on-mount.patch similarity index 97% rename from patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.2+004+fix-native-onTabSelect-on-mount.patch index 3ea408f3ca68..a7eed8165abe 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.2+004+fix-native-onTabSelect-on-mount.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx -index 0000001..01e208c 100644 +index d66b0cb..01e208c 100644 --- a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx +++ b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx @@ -57,14 +57,28 @@ export function PagerViewAdapter({ diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+005+fix-pager-scrollleft-91610.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.2+005+fix-pager-scrollleft-91610.patch similarity index 92% rename from patches/react-native-tab-view/react-native-tab-view+4.3.0+005+fix-pager-scrollleft-91610.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.2+005+fix-pager-scrollleft-91610.patch index 6ec3f56eec6c..bbeb68f07d30 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.3.0+005+fix-pager-scrollleft-91610.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.2+005+fix-pager-scrollleft-91610.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native-tab-view/lib/module/TabView.js b/node_modules/react-native-tab-view/lib/module/TabView.js -index 0000004..0000005 100644 +index 079ee72..2153b63 100644 --- a/node_modules/react-native-tab-view/lib/module/TabView.js +++ b/node_modules/react-native-tab-view/lib/module/TabView.js -@@ -41,6 +41,27 @@ +@@ -41,6 +41,27 @@ export function TabView({ height: 0, ...initialLayout }); @@ -30,7 +30,7 @@ index 0000004..0000005 100644 const jumpToIndex = index => { if (index !== navigationState.index) { onIndexChange(index); -@@ -66,6 +87,7 @@ +@@ -66,6 +87,7 @@ export function TabView({ ...sceneOptions?.[route.key] }])); return /*#__PURE__*/_jsx(View, { diff --git a/patches/react-navigation/@react-navigation+bottom-tabs+7.15.5+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+bottom-tabs+7.19.1+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+bottom-tabs+7.15.5+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+bottom-tabs+7.19.1+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+core+7.21.12+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+core+7.22.1+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+core+7.21.12+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+core+7.22.1+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+core+7.21.12+002+platform-navigation-stack-types.patch b/patches/react-navigation/@react-navigation+core+7.22.1+002+platform-navigation-stack-types.patch similarity index 99% rename from patches/react-navigation/@react-navigation+core+7.21.12+002+platform-navigation-stack-types.patch rename to patches/react-navigation/@react-navigation+core+7.22.1+002+platform-navigation-stack-types.patch index 65c6d6e0948a..94ab2b672599 100644 --- a/patches/react-navigation/@react-navigation+core+7.21.12+002+platform-navigation-stack-types.patch +++ b/patches/react-navigation/@react-navigation+core+7.22.1+002+platform-navigation-stack-types.patch @@ -57,7 +57,7 @@ index dfd9de7..0d14027 100644 // @ts-expect-error: we check for function but TS still complains typeof curr !== 'function' ? curr : curr({ diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 2ed8725..8147d8f 100644 +index f01bdd6..6427dab 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js @@ -167,7 +167,7 @@ const getStateFromParams = (params, type) => { @@ -79,7 +79,7 @@ index 2ed8725..8147d8f 100644 state, navigation, diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index 0b4f4c2..4dc5941 100644 +index 23af668..feb6f47 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts @@ -109,7 +109,16 @@ declare global { @@ -161,7 +161,7 @@ index 5e37fe4..f0129f1 100644 dispatch(action: Readonly<{ type: string; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 36566fb..fc4eb26 100644 +index ab8f81e..1819ea3 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts @@ -1,6 +1,6 @@ @@ -182,7 +182,7 @@ index 36566fb..fc4eb26 100644 navigation: { dispatch(action: Readonly<{ diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index 68e52ae..4eb998a 100644 +index 580f300..f3c6ca9 100644 --- a/node_modules/@react-navigation/core/src/types.tsx +++ b/node_modules/@react-navigation/core/src/types.tsx @@ -157,6 +157,29 @@ declare global { @@ -362,7 +362,7 @@ index 320efcf..e78fa6d 100644 return optionsList.reduce( (acc, curr) => diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 9f0d412..bc976eb 100644 +index 16e44a5..2ad3322 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx @@ -27,6 +27,7 @@ import { NavigationStateContext } from './NavigationStateContext'; diff --git a/patches/react-navigation/@react-navigation+core+7.22.1+003+root-state-not-undefined.patch b/patches/react-navigation/@react-navigation+core+7.22.1+003+root-state-not-undefined.patch new file mode 100644 index 000000000000..15ea671710c6 --- /dev/null +++ b/patches/react-navigation/@react-navigation+core+7.22.1+003+root-state-not-undefined.patch @@ -0,0 +1,26 @@ +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index feb6f47..4dc5941 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -720,7 +720,7 @@ export type NavigationContainerRef = NavigationHelpers = + /** + * Get the rehydrated navigation state of the navigation tree. + */ +- getRootState(): NavigationState | undefined; ++ getRootState(): NavigationState; + /** + * Get the currently focused navigation route. + */ diff --git a/patches/react-navigation/@react-navigation+elements+2.9.14+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+elements+2.9.42+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+elements+2.9.14+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+elements+2.9.42+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+material-top-tabs+7.7.1+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+material-top-tabs+7.7.1+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch b/patches/react-navigation/@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch deleted file mode 100644 index 4d7806ce3819..000000000000 --- a/patches/react-navigation/@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js ---- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -+++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -@@ -189,10 +189,14 @@ - cb: done - }); - -- // If navigation didn't happen within 100ms, assume that it won't happen -+ // If navigation didn't happen within 1000ms, assume that it won't happen - // This may not be accurate, but hopefully it won't take so much time - // In Chrome, navigation seems to happen instantly in next microtask -- // But on Firefox, it seems to take much longer, around 50ms from our testing -+ // But on Firefox the traversal can take 500ms+ when the main thread is busy -+ // (measured up to ~900ms while rendering a newly pushed screen). A 100ms timeout -+ // routinely resolved before the traversal finished and removed the pending entry, -+ // so the late `popstate` was misclassified by `listen` as a user-initiated -+ // back/forward navigation and reset the app to a stale route - // We're using a hacky timeout since there doesn't seem to be way to know for sure - const timer = setTimeout(() => { - const foundIndex = pending.findIndex(it => it.ref === done); -@@ -201,7 +205,7 @@ - pending.splice(foundIndex, 1); - } - index = this.index; -- }, 100); -+ }, 1000); - const onPopState = () => { - // Fix createMemoryHistory.index variable's value - // as it may go out of sync when navigating in the browser. diff --git a/patches/react-navigation/@react-navigation+native+7.1.33+001+initial.patch b/patches/react-navigation/@react-navigation+native+7.4.1+001+initial.patch similarity index 77% rename from patches/react-navigation/@react-navigation+native+7.1.33+001+initial.patch rename to patches/react-navigation/@react-navigation+native+7.4.1+001+initial.patch index 6c845817d9b0..a47cdcba1660 100644 --- a/patches/react-navigation/@react-navigation+native+7.1.33+001+initial.patch +++ b/patches/react-navigation/@react-navigation+native+7.4.1+001+initial.patch @@ -1,12 +1,13 @@ diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -index 474db5e..4d94ed8 100644 +index 9034278..d639a23 100644 --- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -@@ -1,10 +1,27 @@ +@@ -1,11 +1,28 @@ "use strict"; import { nanoid } from 'nanoid/non-secure'; +import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; + const getPathWithoutHash = path => path.split('#')[0] ?? ''; export function createMemoryHistory() { let index = 0; let items = []; @@ -30,19 +31,17 @@ index 474db5e..4d94ed8 100644 // Pending callbacks for `history.go(n)` // We might modify the callback stored if it was interrupted, so we have a ref to identify it const pending = []; -@@ -17,7 +34,10 @@ export function createMemoryHistory() { - it.cb = () => cb(true); +@@ -19,6 +36,9 @@ export function createMemoryHistory() { }); }; -- const history = { -+ return { + const history = { + get items() { + return items; + }, get index() { // We store an id in the state instead of an index // Index could get out of sync with in-memory values if page reloads -@@ -32,12 +52,13 @@ export function createMemoryHistory() { +@@ -33,7 +53,8 @@ export function createMemoryHistory() { return items[index]; }, backIndex({ @@ -50,15 +49,18 @@ index 474db5e..4d94ed8 100644 + path, + state }) { - // We need to find the index from the element before current to get closest path to go back to - for (let i = index - 1; i >= 0; i--) { - const item = items[i]; -- if (item.path === path) { -+ if (item.path === path && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { + const pathWithoutHash = getPathWithoutHash(path); + +@@ -43,7 +64,7 @@ export function createMemoryHistory() { + if (item == null) { + continue; + } +- if (item.path === pathWithoutHash) { ++ if (item.path === pathWithoutHash && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { return i; } } -@@ -77,7 +98,7 @@ export function createMemoryHistory() { +@@ -85,7 +106,7 @@ export function createMemoryHistory() { // Need to keep the hash part of the path if there was no previous history entry // or the previous history entry had the same path @@ -67,13 +69,6 @@ index 474db5e..4d94ed8 100644 const hash = pathWithHash.includes('#') ? '' : location.hash; if (!items.length || items.findIndex(item => item.id === id) < 0) { // There are two scenarios for creating an array with only one history record: -@@ -211,6 +232,5 @@ export function createMemoryHistory() { - return () => window.removeEventListener('popstate', onPopState); - } - }; -- return history; - } - //# sourceMappingURL=createMemoryHistory.js.map diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js new file mode 100644 index 0000000..b996822 @@ -89,18 +84,18 @@ index 0000000..b996822 +} +//# sourceMappingURL=findFocusedRouteKey.js.map diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js -index d30009f..0dab822 100644 +index af0cd61..fb06350 100644 --- a/node_modules/@react-navigation/native/lib/module/useLinking.js +++ b/node_modules/@react-navigation/native/lib/module/useLinking.js -@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP +@@ -4,6 +4,7 @@ import { CommonActions, findFocusedRoute, getActionFromState as getActionFromSta import isEqual from 'fast-deep-equal'; import * as React from 'react'; import { createMemoryHistory } from "./createMemoryHistory.js"; +import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; import { ServerContext } from "./ServerContext.js"; + /** - * Find the matching navigation state that changed between 2 navigation states -@@ -45,6 +46,43 @@ export const series = cb => { +@@ -114,6 +115,43 @@ export const series = cb => { return callback; }; const linkingHandlers = []; @@ -144,17 +139,17 @@ index d30009f..0dab822 100644 export function useLinking(ref, { enabled = true, config, -@@ -256,6 +294,9 @@ export function useLinking(ref, { - // Otherwise it's likely a change triggered by `popstate` - path !== pendingPath) { - const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); +@@ -411,6 +449,9 @@ export function useLinking(ref, { + const historyDelta = getHistoryLength(focusedState) - getHistoryLength(previousFocusedState) - ( + // Subtract the delta already applied by the browser to sync only the remaining changes + pendingPopStateDelta ?? 0); + + // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state + const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); if (historyDelta > 0) { // If history length is increased, we should pushState // Note that path might not actually change here, for example, drawer open should pushState -@@ -267,7 +308,8 @@ export function useLinking(ref, { +@@ -422,7 +463,8 @@ export function useLinking(ref, { // If history length is decreased, i.e. entries were removed, we want to go back const nextIndex = history.backIndex({ @@ -164,15 +159,7 @@ index d30009f..0dab822 100644 }); const currentIndex = history.index; try { -@@ -276,11 +318,26 @@ export function useLinking(ref, { - history.get(nextIndex)) { - // An existing entry for this path exists and it's less than current index, go back to that - await history.go(nextIndex - currentIndex); -+ history.replace({ -+ path, -+ state -+ }); - } else { +@@ -435,7 +477,18 @@ export function useLinking(ref, { // We couldn't find an existing entry to go back to, so we'll go back by the delta // This won't be correct if multiple routes were pushed in one go before // Usually this shouldn't happen and this is a fallback for that @@ -192,7 +179,7 @@ index d30009f..0dab822 100644 } // Store the updated state as well as fix the path if incorrect -@@ -293,10 +350,22 @@ export function useLinking(ref, { +@@ -448,10 +501,22 @@ export function useLinking(ref, { } } else { // If history length is unchanged, we want to replaceState diff --git a/patches/react-navigation/@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+native+7.4.1+002+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+native+7.4.1+002+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+native-stack+7.19.1+002+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+native-stack+7.19.1+002+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch b/patches/react-navigation/@react-navigation+stack+7.11.1+001+edge-drag-gesture.patch similarity index 94% rename from patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch rename to patches/react-navigation/@react-navigation+stack+7.11.1+001+edge-drag-gesture.patch index 1bc7bf7ad90a..d05c705d1de3 100644 --- a/patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch +++ b/patches/react-navigation/@react-navigation+stack+7.11.1+001+edge-drag-gesture.patch @@ -67,10 +67,10 @@ index 0000000..9c7b703 +//# sourceMappingURL=edgeDragGestureMonitor.native.js.map \ No newline at end of file diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index 0000000..0000000 100644 +index d737bbc..f6c06f0 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -@@ -6,6 +6,7 @@ import * as React from 'react'; +@@ -6,6 +6,7 @@ import { Animated, Platform, StyleSheet, View } from 'react-native'; import useLatestCallback from 'use-latest-callback'; import { CardAnimationContext } from "../../utils/CardAnimationContext.js"; import { gestureActivationCriteria } from "../../utils/gestureActivationCriteria.js"; @@ -78,8 +78,7 @@ index 0000000..0000000 100644 import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js"; import { getShadowStyle } from "../../utils/getShadowStyle.js"; -@@ -134,7 +135,9 @@ export function Card({ - if (animated) { +@@ -150,6 +151,8 @@ function Card({ onStartInteraction(); animation(gesture, { ...spec.config, @@ -88,9 +87,8 @@ index 0000000..0000000 100644 velocity, toValue, useNativeDriver, -@@ -143,7 +145,10 @@ export function Card({ - finished - }) => { +@@ -163,6 +166,9 @@ function Card({ + isAnimatingRef.current = false; onEndInteraction(); clearTimeout(pendingGestureCallbackRef.current); + @@ -100,7 +98,7 @@ index 0000000..0000000 100644 onFinish(); } diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 0000000..0000000 100644 +index a3c1efd..326f0c6 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js @@ -5,6 +5,7 @@ import * as React from 'react'; @@ -111,8 +109,7 @@ index 0000000..0000000 100644 import { findLastIndex } from "../../utils/findLastIndex.js"; import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js"; -@@ -261,7 +262,9 @@ export class CardStack extends React.Component { - }; +@@ -261,6 +262,8 @@ export class CardStack extends React.Component { } constructor(props) { super(props); diff --git a/patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch b/patches/react-navigation/@react-navigation+stack+7.11.1+002+dontDetachScreen.patch similarity index 85% rename from patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch rename to patches/react-navigation/@react-navigation+stack+7.11.1+002+dontDetachScreen.patch index 0b10a2777532..eff88fe489d0 100644 --- a/patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch +++ b/patches/react-navigation/@react-navigation+stack+7.11.1+002+dontDetachScreen.patch @@ -1,8 +1,20 @@ +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js +index 44c8f10..93673f8 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js +@@ -27,6 +27,7 @@ export const CardA11yWrapper = /*#__PURE__*/React.forwardRef(({ + overflow: active ? undefined : 'hidden', + // We use visibility on web + display: Platform.OS !== 'web' && isHidden ? 'none' : 'flex', ++ zIndex: Platform.OS === 'web' ? 'auto' : undefined, + // Hide unfocused screens when animation isn't enabled + // This is also necessary for a11y on web + // @ts-expect-error visibility is only available on web diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 0000000..0000000 100644 +index 326f0c6..381ca43 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -@@ -427,6 +430,7 @@ export class CardStack extends React.Component { +@@ -430,10 +430,11 @@ export class CardStack extends React.Component { const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal'; const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false; const activityState = isPreloaded ? STATE_INACTIVE : activeStates[index]; @@ -10,16 +22,12 @@ index 0000000..0000000 100644 return /*#__PURE__*/_jsx(MaybeScreen, { style: [StyleSheet.absoluteFill], enabled: detachInactiveScreens, -@@ -430,7 +434,7 @@ export class CardStack extends React.Component { - return /*#__PURE__*/_jsx(MaybeScreen, { - style: [StyleSheet.absoluteFill], - enabled: detachInactiveScreens, - active: activityState, + active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : activityState, freezeOnBlur: freezeOnBlur, shouldFreeze: activityState === STATE_INACTIVE && !isPreloaded, homeIndicatorHidden: autoHideHomeIndicator, -@@ -465,7 +469,7 @@ export class CardStack extends React.Component { +@@ -468,7 +469,7 @@ export class CardStack extends React.Component { onTransitionStart: onTransitionStart, onTransitionEnd: onTransitionEnd, isNextScreenTransparent: isNextScreenTransparent, @@ -28,15 +36,3 @@ index 0000000..0000000 100644 preloaded: isPreloaded }) }, route.key); -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js -index 0000000..0000000 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js -@@ -27,6 +27,7 @@ export const CardA11yWrapper = /*#__PURE__*/React.forwardRef(({ - overflow: active ? undefined : 'hidden', - // We use visibility on web - display: Platform.OS !== 'web' && isHidden ? 'none' : 'flex', -+ zIndex: Platform.OS === 'web' ? 'auto' : undefined, - // Hide unfocused screens when animation isn't enabled - // This is also necessary for a11y on web - // @ts-expect-error visibility is only available on web diff --git a/patches/react-navigation/@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+stack+7.11.1+004+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+stack+7.11.1+004+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 7e5f8c7caa01..eede2d2ea8dd 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -1,14 +1,14 @@ # `@react-navigation` patches ### @react-navigation+package-name+7+fix-failing-jest-by-disabling-esmodule.patch -#### [@react-navigation+bottom-tabs+7.15.5+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+bottom-tabs+7.15.5+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+core+7.21.12+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+core+7.21.12+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+elements+2.9.14+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+elements+2.9.14+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+bottom-tabs+7.19.1+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+bottom-tabs+7.19.1+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+core+7.22.1+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+core+7.22.1+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+elements+2.9.42+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+elements+2.9.42+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+material-top-tabs+7.7.1+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+material-top-tabs+7.7.1+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+native-stack+7.19.1+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native-stack+7.19.1+002+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+native+7.4.1+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native+7.4.1+002+fix-failing-jest-by-disabling-esmodule.patch) #### [@react-navigation+routers+7.6.4+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+routers+7.6.4+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+stack+7.11.1+004+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+stack+7.11.1+004+fix-failing-jest-by-disabling-esmodule.patch) - Reason: Necessary to run Jest with the obligatory `--experimental-vm-modules` flag. Currently we transpile all the code to `commonjs`, but Jest looks up to individual `package.jsons` to see whether the package is `commonjs` or `ESModule`. That causes a conflict, which can be solved by removing `{"type":"module"}` from `lib/module/package.json`. This might be an issue with Jest, but it would require much more investigation. More: https://github.com/react-navigation/react-navigation/issues/12637 - Upstream PR/issue: https://github.com/react-navigation/react-navigation/issues/12637 @@ -16,54 +16,56 @@ - PR Introducing Patch: [#64155](https://github.com/Expensify/App/pull/64155) - PR Updating Patch: N/A -### [@react-navigation+core+7.21.12+002+platform-navigation-stack-types.patch](@react-navigation+core+7.21.12+002+platform-navigation-stack-types.patch) +### [@react-navigation+core+7.22.1+002+platform-navigation-stack-types.patch](@react-navigation+core+7.22.1+002+platform-navigation-stack-types.patch) - Reason: Enables passing custom `ScreenOptions` and adjusts typing to have everything fully type-checked and make sure only the proper (common) platform-specific options are passed - Upstream PR/issue: N/A - E/App issue: [#29948](https://github.com/Expensify/App/issues/29948) - PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) -- PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155), [#98097](https://github.com/Expensify/App/pull/98097) +- PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155), [#98097](https://github.com/Expensify/App/pull/98097), [#101715](https://github.com/Expensify/App/issues/101715) +- Note: Re-ported onto 7.22.1. Every hunk applied without changes. +- Note: Core 7.22.0 made `useNavigationBuilder` return a `render` callback and deprecated the `NavigationContent` output it returned before. Our only builder call site, `createPlatformStackNavigatorComponent` (shared by `createRootStackNavigator`, `createRightModalNavigator`, `createSplitNavigator` and `createSearchFullscreenNavigator`), still uses `NavigationContent`, and the `convertCustomScreenOptions` argument this patch adds has no upstream equivalent, so move to `render` and re-check this patch together when `NavigationContent` eventually disappears. -### [@react-navigation+native+7.1.33+001+initial.patch](@react-navigation+native+7.1.33+001+initial.patch) +### [@react-navigation+core+7.22.1+003+root-state-not-undefined.patch](@react-navigation+core+7.22.1+003+root-state-not-undefined.patch) + +- Reason: Keep `NavigationContainerRef.getRootState()` typed as `NavigationState` instead of `NavigationState | undefined`. Types only, no runtime change: the implementation already returned `undefined` before the container ref mounted in 7.21.12, the type just did not admit it. Around 30 call sites (including `navigationRef.current?.getRootState().routes` in the navigation tests) hand the result straight to helpers that require a state object, and they all run behind the app's readiness gate (`NavigationRoot`'s `onReady`, `navigationRef.isReady()`), so guarding each one is a separate refactor rather than part of an upgrade. +- Upstream PR/issue: https://github.com/react-navigation/react-navigation/commit/4e6eaaac6fad57d09ab5a828484b8ffeb4cfc6e5 (core 7.21.13, "fix return type of getRootState") +- E/App issue: [#101715](https://github.com/Expensify/App/issues/101715) +- PR Introducing Patch: N/A +- Note: Drop this patch once call sites handle the missing state explicitly (a guarded `getRootState()` helper in `src/libs/Navigation` would cover most of them). Until then, calling `getRootState()` before the container mounts logs react-navigation's `NOT_INITIALIZED_ERROR` and returns `undefined` at runtime while the type claims otherwise - same as before the upgrade. + +### [@react-navigation+native+7.4.1+001+initial.patch](@react-navigation+native+7.4.1+001+initial.patch) - Reason: Allows us to use some more advanced navigation actions without messing up the browser history - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/12751 (`route.history` + `pushParams`, added upstream for this use case); originating issue https://github.com/react-navigation/react-navigation/issues/12460. On the v8 upgrade, evaluate adopting `pushParams` to shrink this patch. - E/App issue: [#21356](https://github.com/Expensify/App/issues/21356) - PR Introducing Patch: [#24165](https://github.com/Expensify/App/pull/24165) -- PR Updating Patch: [#32087](https://github.com/Expensify/App/pull/32087) [#42465](https://github.com/Expensify/App/pull/42465) [#64155](https://github.com/Expensify/App/pull/64155) +- PR Updating Patch: [#32087](https://github.com/Expensify/App/pull/32087) [#42465](https://github.com/Expensify/App/pull/42465) [#64155](https://github.com/Expensify/App/pull/64155) [#101715](https://github.com/Expensify/App/issues/101715) +- Note: Re-ported onto 7.4.1. `createMemoryHistory` and `useLinking` were refactored upstream (`getPathWithoutHash`, `getHistoryLength`, `pendingPopStateDelta`, `isPoppingLastEntry`), so the hunks were re-anchored instead of applied verbatim: `backIndex` keeps upstream's hash handling and adds the focused-route-key match, and `useLinking` keeps upstream's `pendingPopStateDelta` guard and `getHistoryLength` delta while re-adding `historyDeltaByKeys`/`getStaleHistoryDiff`. Two parts of the old patch became redundant and were dropped: the `findFocusedRouteKey` helper file now matches upstream's own module, and the extra `history.replace` right after `history.go(nextIndex - currentIndex)` duplicated the replace that upstream already runs at the end of the same `try` block. -### [@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch](@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch) +### [@react-navigation+stack+7.11.1+001+edge-drag-gesture.patch](@react-navigation+stack+7.11.1+001+edge-drag-gesture.patch) - Reason: Adds `edgeDragGestureMonitor` implementation - Upstream PR/issue: N/A - E/App issue: [#15849](https://github.com/Expensify/App/issues/15849) - PR Introducing Patch: [#18402](https://github.com/Expensify/App/pull/18402) -- PR Updating Patch: [#22678](https://github.com/Expensify/App/pull/22678) [#22437](https://github.com/Expensify/App/pull/22437) [#64155](https://github.com/Expensify/App/pull/64155) +- PR Updating Patch: [#22678](https://github.com/Expensify/App/pull/22678) [#22437](https://github.com/Expensify/App/pull/22437) [#64155](https://github.com/Expensify/App/pull/64155) [#101715](https://github.com/Expensify/App/issues/101715) +- Note: Re-ported onto 7.11.1. The added and removed lines are unchanged; only the surrounding context moved, because 7.10.x wrapped the gesture animation in `animationIdRef`/`isAnimatingRef` guards. `resetExpectingTouchendWithDelay()` still runs after those guards, so a stale animation callback that returns early no longer resets the monitor. -### [@react-navigation+stack+7.8.5+002+dontDetachScreen.patch](@react-navigation+stack+7.8.5+002+dontDetachScreen.patch) +### [@react-navigation+stack+7.11.1+002+dontDetachScreen.patch](@react-navigation+stack+7.11.1+002+dontDetachScreen.patch) - Reason: Prevents the second screen in the stack from being detached too early. Additionally, setting `zIndex: Platform.OS === 'web' ? 'auto' : undefined` helps avoid issues in Safari where the home screen might be hidden due to `overflow: hidden`. - Upstream PR/issue: N/A - E/App issue: [#22372](https://github.com/Expensify/App/issues/22372) - PR Introducing Patch: [#22437](https://github.com/Expensify/App/pull/22437) -- PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) [#65119](https://github.com/Expensify/App/issues/65119) +- PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) [#65119](https://github.com/Expensify/App/issues/65119) [#101715](https://github.com/Expensify/App/issues/101715) - Note: Not fully covered by the public `detachPreviousScreen` option (this also forces `activityState`). v8 replaces `detachInactiveScreens`/`detachPreviousScreen`/`freezeOnBlur` with a single `inactiveBehavior` option — re-evaluate this patch then. +- Note: Re-ported onto 7.11.1 unchanged. `STATE_TRANSITIONING_OR_BELOW_TOP` is now a module-level constant upstream, so the patch no longer declares it, and `CardA11yWrapper.js` is byte-for-byte identical to 7.8.5, so the `zIndex` hunk still applies (the 7.11.x `overflow` handling change did not touch this file). -### [@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch](@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch) +### Removed patches -- Reason: +- `@react-navigation+native+7.1.33+003+increase-history-go-popstate-fallback-timeout.patch` was dropped: upstream raised the `createMemoryHistory.go()` fallback timeout from 100ms to 1000ms in 7.3.18 (https://github.com/react-navigation/react-navigation/pull/13217), with the same Firefox rationale as our patch. Original context: [#94571](https://github.com/Expensify/App/issues/94571) / [#95980](https://github.com/Expensify/App/pull/95980), upstream issue https://github.com/react-navigation/react-navigation/issues/11145. - ``` - createMemoryHistory.go() waits for the browser's popstate after history.go(n) but gives up - after a 100ms fallback timer and deletes its pending record of the traversal. Firefox can - take 500ms+ to deliver the popstate when the main thread is busy (e.g. rendering the newly - created group chat report). Once the record is deleted, the late popstate is misclassified - by listen() as a user-initiated back/forward navigation and react-navigation resets state - to the previous route. Raising the timeout to 1000ms keeps the pending record alive until - the traversal actually settles. Fixes group/DM creation not opening the new report on - Firefox (#94571). - ``` + One behaviour difference is worth a Firefox regression check on #94571: when the timeout does fire, upstream removes its own `popstate` listener and rejects the `go()` promise if the browser hasn't landed on the expected entry (`window.history.state?.id !== targetId`), whereas it used to resolve. That check came from 7.3.8 (https://github.com/react-navigation/react-navigation/commit/788d7c565554d85fc7d3c3b9d1a7829e1847b8da), not from the timeout change. Rejecting skips the trailing `history.replace`, which upstream documents as deliberate: the entry we are on may not be the one we intended to land on. Both variants still deliver a late `popstate` to external listeners, so this only changes what happens to the history record in the >1s case. -- Upstream PR/issue: https://github.com/react-navigation/react-navigation/issues/11145 -- E/App issue: [#94571](https://github.com/Expensify/App/issues/94571) -- PR Introducing Patch: [#95980](https://github.com/Expensify/App/pull/95980) + `tests/unit/Navigation/createMemoryHistoryTest.ts` covered the old contract and now asserts the new one: a timed-out traversal rejects, and the in-time case points `window.history.state` at the target entry first, the way a real traversal does. diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 5ef88b1e7cc3..97c108e1e221 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -54,6 +54,7 @@ function PlatformNavigatorImpl, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index d18614af86c0..c474eeeafea1 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -55,6 +55,7 @@ function PlatformNavigatorImpl, diff --git a/tests/unit/Navigation/createMemoryHistoryTest.ts b/tests/unit/Navigation/createMemoryHistoryTest.ts index 2d661b1ca11b..88e0cb4df5b5 100644 --- a/tests/unit/Navigation/createMemoryHistoryTest.ts +++ b/tests/unit/Navigation/createMemoryHistoryTest.ts @@ -5,6 +5,8 @@ type MemoryHistory = { push: (options: {path: string; state: NavigationState}) => void; go: (distance: number) => Promise | undefined; listen: (listener: () => void) => () => void; + // Exposed by our `initial` patch on @react-navigation/native + items: Array<{path: string; state: NavigationState; id: string}>; }; const { @@ -47,6 +49,10 @@ describe('createMemoryHistory', () => { const stopListening = history.listen(listener); const navigation = history.go(-1); + // `history.go` is mocked, so nothing moves the browser entry on its own. Point the browser + // state at the entry we asked to land on, the way a real traversal would, otherwise the + // library treats the traversal as failed (see `targetId` in createMemoryHistory). + window.history.replaceState({id: history.items.at(0)?.id}, '', '/r/1'); jest.advanceTimersByTime(900); window.dispatchEvent(new PopStateEvent('popstate')); @@ -61,17 +67,23 @@ describe('createMemoryHistory', () => { const listener = jest.fn(); const stopListening = history.listen(listener); const resolved = jest.fn(); + const rejected = jest.fn(); const navigation = history.go(-1); - navigation?.then(resolved); + navigation?.then(resolved, rejected); jest.advanceTimersByTime(999); await Promise.resolve(); expect(resolved).not.toHaveBeenCalled(); + expect(rejected).not.toHaveBeenCalled(); + // The traversal never happened, so the library reports it as a failed navigation instead of + // pretending it succeeded. That is intentional: resolving here would let callers write history + // for an entry the browser never landed on. jest.advanceTimersByTime(1); - await expect(navigation).resolves.toBeUndefined(); - expect(resolved).toHaveBeenCalledTimes(1); + await expect(navigation).rejects.toThrow('History was changed during navigation.'); + expect(resolved).not.toHaveBeenCalled(); + expect(rejected).toHaveBeenCalledTimes(1); window.dispatchEvent(new PopStateEvent('popstate')); expect(listener).toHaveBeenCalledTimes(1);