From af3b084d54efa59692d2db7f4b3319eab56e183c Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 21 Aug 2025 09:23:18 +0200 Subject: [PATCH 01/12] Bump react-native-web --- package-lock.json | 15 ++++--------- package.json | 2 +- patches/react-native-web/details.md | 22 +++++++++---------- ...ative-web+0.20.0+011+fix-memory-leak.patch | 12 ---------- ...react-native-web+0.21.1+001+initial.patch} | 0 ...native-web+0.21.1+002+fixLastSpacer.patch} | 0 ...web+0.21.1+003+image-header-support.patch} | 0 ...-web+0.21.1+004+fixPointerEventDown.patch} | 0 ...tive-web+0.21.1+005+osr-improvement.patch} | 0 ....1+006+remove-focus-trap-from-modal.patch} | 0 ...1+007+fix-scrollable-overflown-text.patch} | 0 ...8+fix-nested-flatlist-scroll-on-web.patch} | 0 ...009+fix-two-direction-scroll-on-web.patch} | 0 ...ve-web+0.21.1+010+fullstory-support.patch} | 0 14 files changed, 16 insertions(+), 35 deletions(-) delete mode 100644 patches/react-native-web/react-native-web+0.20.0+011+fix-memory-leak.patch rename patches/react-native-web/{react-native-web+0.20.0+001+initial.patch => react-native-web+0.21.1+001+initial.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+002+fixLastSpacer.patch => react-native-web+0.21.1+002+fixLastSpacer.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+003+image-header-support.patch => react-native-web+0.21.1+003+image-header-support.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+004+fixPointerEventDown.patch => react-native-web+0.21.1+004+fixPointerEventDown.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+005+osr-improvement.patch => react-native-web+0.21.1+005+osr-improvement.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+006+remove-focus-trap-from-modal.patch => react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+007+fix-scrollable-overflown-text.patch => react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+008+fix-nested-flatlist-scroll-on-web.patch => react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+009+fix-two-direction-scroll-on-web.patch => react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+010+fullstory-support.patch => react-native-web+0.21.1+010+fullstory-support.patch} (100%) diff --git a/package-lock.json b/package-lock.json index 0e6902e83d7b7..d27e9c3e87a1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -130,7 +130,7 @@ "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.0", - "react-native-web": "0.20.0", + "react-native-web": "0.21.1", "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", @@ -21803,13 +21803,6 @@ "undici-types": "~6.21.0" } }, - "node_modules/electron/node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, "node_modules/emittery": { "version": "0.13.1", "dev": true, @@ -35183,9 +35176,9 @@ } }, "node_modules/react-native-web": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.20.0.tgz", - "integrity": "sha512-OOSgrw+aON6R3hRosCau/xVxdLzbjEcsLysYedka0ZON4ZZe6n9xgeN9ZkoejhARM36oTlUgHIQqxGutEJ9Wxg==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.21.1.tgz", + "integrity": "sha512-BeNsgwwe4AXUFPAoFU+DKjJ+CVQa3h54zYX77p7GVZrXiiNo3vl03WYDYVEy5R2J2HOPInXtQZB5gmj3vuzrKg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.6", diff --git a/package.json b/package.json index 5b95ff18a6d5e..10b64ca43770b 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,7 @@ "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.0", - "react-native-web": "0.20.0", + "react-native-web": "0.21.1", "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", diff --git a/patches/react-native-web/details.md b/patches/react-native-web/details.md index 6629cf89a0472..f1ad5a53b6a07 100644 --- a/patches/react-native-web/details.md +++ b/patches/react-native-web/details.md @@ -1,6 +1,6 @@ # `react-native-web` patches -### [react-native-web+0.20.0+001+initial.patch](react-native-web+0.20.0+001+initial.patch) +### [react-native-web+0.21.1+001+initial.patch](react-native-web+0.21.1+001+initial.patch) - Reason: @@ -12,7 +12,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/24482 -### [react-native-web+0.20.0+002+fixLastSpacer.patch](react-native-web+0.20.0+002+fixLastSpacer.patch) +### [react-native-web+0.21.1+002+fixLastSpacer.patch](react-native-web+0.21.1+002+fixLastSpacer.patch) - Reason: @@ -24,7 +24,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/32843 -### [react-native-web+0.20.0+003+image-header-support.patch](react-native-web+0.20.0+003+image-header-support.patch) +### [react-native-web+0.21.1+003+image-header-support.patch](react-native-web+0.21.1+003+image-header-support.patch) - Reason: @@ -36,7 +36,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/13036 -### [react-native-web+0.20.0+004+fixPointerEventDown.patch](react-native-web+0.20.0+004+fixPointerEventDown.patch) +### [react-native-web+0.21.1+004+fixPointerEventDown.patch](react-native-web+0.21.1+004+fixPointerEventDown.patch) - Reason: @@ -48,7 +48,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/38494 -### [react-native-web+0.20.0+005+osr-improvement.patch](react-native-web+0.20.0+005+osr-improvement.patch) +### [react-native-web+0.21.1+005+osr-improvement.patch](react-native-web+0.21.1+005+osr-improvement.patch) - Reason: @@ -60,7 +60,7 @@ - E/App issue: 🛑 - PR introducing patch: -### [react-native-web+0.20.0+006+remove-focus-trap-from-modal.patch](react-native-web+0.20.0+006+remove-focus-trap-from-modal.patch) +### [react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch](react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch) - Reason: @@ -72,7 +72,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/39520 -### [react-native-web+0.20.0+007+fix-scrollable-overflown-text.patch](react-native-web+0.20.0+007+fix-scrollable-overflown-text.patch) +### [react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch](react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch) - Reason: @@ -84,7 +84,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/47532 -### [react-native-web+0.20.0+008+fix-nested-flatlist-scroll-on-web.patch](react-native-web+0.20.0+008+fix-nested-flatlist-scroll-on-web.patch) +### [react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch](react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch) - Reason: @@ -96,7 +96,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/60174 -### [react-native-web+0.20.0+009+fix-two-direction-scroll-on-web.patch](react-native-web+0.20.0+009+fix-two-direction-scroll-on-web.patch) +### [react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch](react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch) - Reason: @@ -108,7 +108,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/60340 -### [react-native-web+0.20.0+010+fullstory-support.patch](react-native-web+0.20.0+010+fullstory-support.patch) +### [react-native-web+0.21.1+010+fullstory-support.patch](react-native-web+0.21.1+010+fullstory-support.patch) - Reason: @@ -120,7 +120,7 @@ - E/App issue: As explained above the current solution can't be applied to upstream because it's tailored to Fullstory needs. - PR introducing patch: https://github.com/Expensify/App/pull/67552 -### [react-native-web+0.20.0+011+fix-memory-leak.patch](react-native-web+0.20.0+011+fix-memory-leak.patch) +### [react-native-web+0.21.1+011+fix-memory-leak.patch](react-native-web+0.21.1+011+fix-memory-leak.patch) - Reason: ``` diff --git a/patches/react-native-web/react-native-web+0.20.0+011+fix-memory-leak.patch b/patches/react-native-web/react-native-web+0.20.0+011+fix-memory-leak.patch deleted file mode 100644 index bd749e123c7da..0000000000000 --- a/patches/react-native-web/react-native-web+0.20.0+011+fix-memory-leak.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js b/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js -index 9ba3336..2d67005 100644 ---- a/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js -+++ b/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js -@@ -68,6 +68,7 @@ class AnimatedProps extends AnimatedNode { - if (this.__isNative && this._animatedView) { - this.__disconnectAnimatedView(); - } -+ this._animatedView = null - for (var key in this._props) { - var value = this._props[key]; - if (value instanceof AnimatedNode) { diff --git a/patches/react-native-web/react-native-web+0.20.0+001+initial.patch b/patches/react-native-web/react-native-web+0.21.1+001+initial.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+001+initial.patch rename to patches/react-native-web/react-native-web+0.21.1+001+initial.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+002+fixLastSpacer.patch b/patches/react-native-web/react-native-web+0.21.1+002+fixLastSpacer.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+002+fixLastSpacer.patch rename to patches/react-native-web/react-native-web+0.21.1+002+fixLastSpacer.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+003+image-header-support.patch b/patches/react-native-web/react-native-web+0.21.1+003+image-header-support.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+003+image-header-support.patch rename to patches/react-native-web/react-native-web+0.21.1+003+image-header-support.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+004+fixPointerEventDown.patch b/patches/react-native-web/react-native-web+0.21.1+004+fixPointerEventDown.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+004+fixPointerEventDown.patch rename to patches/react-native-web/react-native-web+0.21.1+004+fixPointerEventDown.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+005+osr-improvement.patch b/patches/react-native-web/react-native-web+0.21.1+005+osr-improvement.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+005+osr-improvement.patch rename to patches/react-native-web/react-native-web+0.21.1+005+osr-improvement.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+006+remove-focus-trap-from-modal.patch b/patches/react-native-web/react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+006+remove-focus-trap-from-modal.patch rename to patches/react-native-web/react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+007+fix-scrollable-overflown-text.patch b/patches/react-native-web/react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+007+fix-scrollable-overflown-text.patch rename to patches/react-native-web/react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+008+fix-nested-flatlist-scroll-on-web.patch b/patches/react-native-web/react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+008+fix-nested-flatlist-scroll-on-web.patch rename to patches/react-native-web/react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+009+fix-two-direction-scroll-on-web.patch b/patches/react-native-web/react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+009+fix-two-direction-scroll-on-web.patch rename to patches/react-native-web/react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+010+fullstory-support.patch b/patches/react-native-web/react-native-web+0.21.1+010+fullstory-support.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+010+fullstory-support.patch rename to patches/react-native-web/react-native-web+0.21.1+010+fullstory-support.patch From cdf932671f7710cf5035dd07918bcb3d9ade993d Mon Sep 17 00:00:00 2001 From: Samran Ahmed Date: Sat, 11 Oct 2025 21:26:49 +0500 Subject: [PATCH 02/12] refactor: use RenderHTML for function based translation --- src/components/FocusModeNotification.tsx | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/components/FocusModeNotification.tsx b/src/components/FocusModeNotification.tsx index aa69e7e397e94..8a8387d9ed104 100644 --- a/src/components/FocusModeNotification.tsx +++ b/src/components/FocusModeNotification.tsx @@ -1,14 +1,13 @@ import React from 'react'; +import {View} from 'react-native'; import useEnvironment from '@hooks/useEnvironment'; import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; -import {openLink} from '@libs/actions/Link'; import colors from '@styles/theme/colors'; import ConfirmModal from './ConfirmModal'; import {ThreeLeggedLaptopWoman} from './Icon/Illustrations'; -import Text from './Text'; -import TextLinkWithRef from './TextLink'; +import RenderHTML from './RenderHTML'; type FocusModeNotificationProps = { onClose: () => void; @@ -19,7 +18,7 @@ function FocusModeNotification({onClose}: FocusModeNotificationProps) { const StyleUtils = useStyleUtils(); const {environmentURL} = useEnvironment(); const {translate} = useLocalize(); - const href = `${environmentURL}/settings/preferences/priority-mode`; + const priorityModePageUrl = `${environmentURL}/settings/preferences/priority-mode`; return ( - {translate('focusModeUpdateModal.prompt')} - { - onClose(); - openLink(href, environmentURL); - }} - > - {translate('focusModeUpdateModal.settings')} - - . - + + + } isVisible image={ThreeLeggedLaptopWoman} From bf5b1c44f96cc918d906c27c2327938d48911150 Mon Sep 17 00:00:00 2001 From: Samran Ahmed Date: Sat, 11 Oct 2025 21:28:24 +0500 Subject: [PATCH 03/12] fix: close the notification model on navigation --- src/components/PriorityModeController.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/components/PriorityModeController.tsx b/src/components/PriorityModeController.tsx index 7625c4c2fc7a1..d6ec18d02f581 100644 --- a/src/components/PriorityModeController.tsx +++ b/src/components/PriorityModeController.tsx @@ -88,6 +88,18 @@ export default function PriorityModeController() { hasSwitched.current = true; }, [accountID, currentRouteName, hasTriedFocusMode, hasTriedFocusModeMetadata, isInFocusMode, isInFocusModeMetadata, isLoadingReportData, validReportCount]); + useEffect(() => { + if (!shouldShowModal) { + return; + } + const isNarrowLayout = getIsNarrowLayout(); + const shouldHideModelOnNavigation = (isNarrowLayout && currentRouteName !== SCREENS.HOME) || (!isNarrowLayout && currentRouteName !== SCREENS.REPORT); + + if (shouldHideModelOnNavigation) { + setShouldShowModal(false); + } + }, [currentRouteName, shouldShowModal]); + return shouldShowModal ? : null; } From 952c64fee0c419a3ec5760ac3eb9af682d027b3e Mon Sep 17 00:00:00 2001 From: Samran Ahmed Date: Sat, 11 Oct 2025 21:32:58 +0500 Subject: [PATCH 04/12] fix copy in all locals --- src/languages/de.ts | 5 +++-- src/languages/en.ts | 5 +++-- src/languages/es.ts | 5 +++-- src/languages/fr.ts | 5 +++-- src/languages/it.ts | 5 +++-- src/languages/ja.ts | 5 +++-- src/languages/nl.ts | 5 +++-- src/languages/params.ts | 5 +++++ src/languages/pl.ts | 5 +++-- src/languages/pt-BR.ts | 5 +++-- src/languages/zh-hans.ts | 5 +++-- 11 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index 1585943d14d55..4d0f78f8ed4dc 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2686,8 +2687,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Willkommen im #Fokus-Modus!', - prompt: 'Bleiben Sie auf dem Laufenden, indem Sie nur ungelesene Chats oder Chats sehen, die Ihre Aufmerksamkeit erfordern. Keine Sorge, Sie können dies jederzeit in ändern.', - settings: 'Einstellungen', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Bleiben Sie auf dem Laufenden, indem Sie nur ungelesene Chats oder Chats sehen, die Ihre Aufmerksamkeit erfordern. Keine Sorge, Sie können dies jederzeit in Einstellungen ändern.`, }, notFound: { chatYouLookingForCannotBeFound: 'Der gesuchte Chat kann nicht gefunden werden.', diff --git a/src/languages/en.ts b/src/languages/en.ts index f1c455870bd65..c45864b8e4a6b 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -106,6 +106,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2685,8 +2686,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Welcome to #focus mode!', - prompt: "Stay on top of things by only seeing unread chats or chats that need your attention. Don't worry, you can change this at any point in ", - settings: 'settings', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Stay on top of things by only seeing unread chats or chats that need your attention. Don’t worry, you can change this at any point in settings.`, }, notFound: { chatYouLookingForCannotBeFound: 'The chat you are looking for cannot be found.', diff --git a/src/languages/es.ts b/src/languages/es.ts index 040d4b309225e..2e131b93efaac 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -104,6 +104,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2650,8 +2651,8 @@ const translations = { }, focusModeUpdateModal: { title: '¡Bienvenido al modo #concentración!', - prompt: 'Mantente al tanto de todo viendo sólo los chats no leídos o los que necesitan tu atención. No te preocupes, puedes cambiar el ajuste en cualquier momento desde la ', - settings: 'configuración', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Mantente al tanto de todo viendo sólo los chats no leídos o los que necesitan tu atención. No te preocupes, puedes cambiar el ajuste en cualquier momento desde la configuración.`, }, notFound: { chatYouLookingForCannotBeFound: 'El chat que estás buscando no se pudo encontrar.', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 83319062adc25..e34fa6dc1b824 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2686,8 +2687,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Bienvenue en mode #focus !', - prompt: 'Restez au courant des choses en ne voyant que les discussions non lues ou celles qui nécessitent votre attention. Ne vous inquiétez pas, vous pouvez changer cela à tout moment dans', - settings: 'paramètres', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Restez au courant des choses en ne voyant que les discussions non lues ou celles qui nécessitent votre attention. Ne vous inquiétez pas, vous pouvez changer cela à tout moment dans paramètres.`, }, notFound: { chatYouLookingForCannotBeFound: 'Le chat que vous recherchez est introuvable.', diff --git a/src/languages/it.ts b/src/languages/it.ts index 134725d957970..c877eef0f3ecf 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2697,8 +2698,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Benvenuto in modalità #focus!', - prompt: 'Rimani al passo vedendo solo le chat non lette o quelle che richiedono la tua attenzione. Non preoccuparti, puoi cambiare questa impostazione in qualsiasi momento in', - settings: 'impostazioni', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Rimani al passo vedendo solo le chat non lette o quelle che richiedono la tua attenzione. Non preoccuparti, puoi cambiare questa impostazione in qualsiasi momento in impostazioni.`, }, notFound: { chatYouLookingForCannotBeFound: 'La chat che stai cercando non può essere trovata.', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 56b0e9b4797a9..f96217336067c 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2688,8 +2689,8 @@ const translations = { }, focusModeUpdateModal: { title: '#focusモードへようこそ!', - prompt: '未読のチャットや注意が必要なチャットのみを表示することで、物事を把握しましょう。心配しないでください、これはいつでも変更できます。', - settings: '設定', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `未読のチャットや注意が必要なチャットのみを表示することで、物事を把握しましょう。心配しないでください、これはいつでも設定で変更できます。`, }, notFound: { chatYouLookingForCannotBeFound: 'お探しのチャットが見つかりません。', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index 0eabbaf95b02c..f08bd0cfdec81 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2697,8 +2698,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Welkom in de #focusmodus!', - prompt: 'Blijf op de hoogte door alleen ongelezen chats of chats die uw aandacht nodig hebben te bekijken. Maak je geen zorgen, je kunt dit op elk moment wijzigen in', - settings: 'instellingen', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Blijf op de hoogte door alleen ongelezen chats of chats die uw aandacht nodig hebben te bekijken. Maak je geen zorgen, je kunt dit op elk moment wijzigen in instellingen.`, }, notFound: { chatYouLookingForCannotBeFound: 'De chat die je zoekt kan niet worden gevonden.', diff --git a/src/languages/params.ts b/src/languages/params.ts index c091b76af4b36..8de9a6b9fec26 100644 --- a/src/languages/params.ts +++ b/src/languages/params.ts @@ -942,6 +942,10 @@ type MergeAccountIntoParams = { login: string; }; +type FocusModeUpdateParams = { + priorityModePageUrl: string; +}; + export type { ContactMethodsRouteParams, ContactMethodParams, @@ -1253,4 +1257,5 @@ export type { ErrorODIntegrationParams, DisconnectYourBankAccountParams, MergeAccountIntoParams, + FocusModeUpdateParams, }; diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 2750496004931..0a889491f821d 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2693,8 +2694,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Witamy w trybie #focus!', - prompt: 'Bądź na bieżąco, widząc tylko nieprzeczytane czaty lub czaty, które wymagają Twojej uwagi. Nie martw się, możesz to zmienić w dowolnym momencie w', - settings: 'ustawienia', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Bądź na bieżąco, widząc tylko nieprzeczytane czaty lub czaty, które wymagają Twojej uwagi. Nie martw się, możesz to zmienić w dowolnym momencie w ustawienia.`, }, notFound: { chatYouLookingForCannotBeFound: 'Nie można znaleźć czatu, którego szukasz.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index e899132bb9a69..aa9b44e3689fd 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2696,8 +2697,8 @@ const translations = { }, focusModeUpdateModal: { title: 'Bem-vindo ao modo #focus!', - prompt: 'Mantenha-se atualizado vendo apenas os chats não lidos ou que precisam da sua atenção. Não se preocupe, você pode mudar isso a qualquer momento em', - settings: 'configurações', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `Mantenha-se atualizado vendo apenas os chats não lidos ou que precisam da sua atenção. Não se preocupe, você pode mudar isso a qualquer momento em configurações.`, }, notFound: { chatYouLookingForCannotBeFound: 'O chat que você está procurando não pode ser encontrado.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 6a0b180c00374..733138fe343da 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -117,6 +117,7 @@ import type { FiltersAmountBetweenParams, FlightLayoverParams, FlightParams, + FocusModeUpdateParams, FormattedMaxLengthParams, GoBackMessageParams, ImportedTagsMessageParams, @@ -2659,8 +2660,8 @@ const translations = { }, focusModeUpdateModal: { title: '欢迎进入#专注模式!', - prompt: '通过仅查看未读聊天或需要您注意的聊天来保持对事物的掌控。别担心,您可以随时在', - settings: '设置', + prompt: ({priorityModePageUrl}: FocusModeUpdateParams) => + `通过仅查看未读聊天或需要您注意的聊天来保持对事物的掌控。别担心,您可以随时在设置中更改。`, }, notFound: { chatYouLookingForCannotBeFound: '您要查找的聊天无法找到。', From 3fcd70ca2a9f82ab88f7f82d447824f5f363fdd7 Mon Sep 17 00:00:00 2001 From: Samran Ahmed Date: Thu, 16 Oct 2025 19:05:48 +0500 Subject: [PATCH 05/12] fix typo in variable name --- src/components/PriorityModeController.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/PriorityModeController.tsx b/src/components/PriorityModeController.tsx index d6ec18d02f581..94c460d9fdfff 100644 --- a/src/components/PriorityModeController.tsx +++ b/src/components/PriorityModeController.tsx @@ -93,9 +93,9 @@ export default function PriorityModeController() { return; } const isNarrowLayout = getIsNarrowLayout(); - const shouldHideModelOnNavigation = (isNarrowLayout && currentRouteName !== SCREENS.HOME) || (!isNarrowLayout && currentRouteName !== SCREENS.REPORT); + const shouldHideModalOnNavigation = (isNarrowLayout && currentRouteName !== SCREENS.HOME) || (!isNarrowLayout && currentRouteName !== SCREENS.REPORT); - if (shouldHideModelOnNavigation) { + if (shouldHideModalOnNavigation) { setShouldShowModal(false); } }, [currentRouteName, shouldShowModal]); From d5cd93199560c70cc0edb16e1c0ba4e285a6a37f Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 20 Oct 2025 13:05:05 +0200 Subject: [PATCH 06/12] Bump react-native-web to 0.21.2 --- package-lock.json | 6 ++++-- package.json | 2 +- ...tial.patch => react-native-web+0.21.2+001+initial.patch} | 0 ...atch => react-native-web+0.21.2+002+fixLastSpacer.patch} | 0 ... react-native-web+0.21.2+003+image-header-support.patch} | 0 ...> react-native-web+0.21.2+004+fixPointerEventDown.patch} | 0 ...ch => react-native-web+0.21.2+005+osr-improvement.patch} | 0 ...ative-web+0.21.2+006+remove-focus-trap-from-modal.patch} | 0 ...tive-web+0.21.2+007+fix-scrollable-overflown-text.patch} | 0 ...-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch} | 0 ...ve-web+0.21.2+009+fix-two-direction-scroll-on-web.patch} | 0 ... => react-native-web+0.21.2+010+fullstory-support.patch} | 0 ...react-native-web+0.21.2+012+fix-overscroll-recoil.patch} | 0 13 files changed, 5 insertions(+), 3 deletions(-) rename patches/react-native-web/{react-native-web+0.21.1+001+initial.patch => react-native-web+0.21.2+001+initial.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+002+fixLastSpacer.patch => react-native-web+0.21.2+002+fixLastSpacer.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+003+image-header-support.patch => react-native-web+0.21.2+003+image-header-support.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+004+fixPointerEventDown.patch => react-native-web+0.21.2+004+fixPointerEventDown.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+005+osr-improvement.patch => react-native-web+0.21.2+005+osr-improvement.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch => react-native-web+0.21.2+006+remove-focus-trap-from-modal.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch => react-native-web+0.21.2+007+fix-scrollable-overflown-text.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch => react-native-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch => react-native-web+0.21.2+009+fix-two-direction-scroll-on-web.patch} (100%) rename patches/react-native-web/{react-native-web+0.21.1+010+fullstory-support.patch => react-native-web+0.21.2+010+fullstory-support.patch} (100%) rename patches/react-native-web/{react-native-web+0.20.0+012+fix-overscroll-recoil.patch => react-native-web+0.21.2+012+fix-overscroll-recoil.patch} (100%) diff --git a/package-lock.json b/package-lock.json index 97b480338a9b4..f7ad6a95f95ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -137,7 +137,7 @@ "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.2", - "react-native-web": "0.20.0", + "react-native-web": "0.21.2", "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", @@ -32564,7 +32564,9 @@ } }, "node_modules/react-native-web": { - "version": "0.20.0", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.21.2.tgz", + "integrity": "sha512-SO2t9/17zM4iEnFvlu2DA9jqNbzNhoUP+AItkoCOyFmDMOhUnBBznBDCYN92fGdfAkfQlWzPoez6+zLxFNsZEg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.6", diff --git a/package.json b/package.json index 8544222e793ca..5dc641721e6b9 100644 --- a/package.json +++ b/package.json @@ -208,7 +208,7 @@ "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.2", - "react-native-web": "0.20.0", + "react-native-web": "0.21.2", "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", diff --git a/patches/react-native-web/react-native-web+0.21.1+001+initial.patch b/patches/react-native-web/react-native-web+0.21.2+001+initial.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+001+initial.patch rename to patches/react-native-web/react-native-web+0.21.2+001+initial.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+002+fixLastSpacer.patch b/patches/react-native-web/react-native-web+0.21.2+002+fixLastSpacer.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+002+fixLastSpacer.patch rename to patches/react-native-web/react-native-web+0.21.2+002+fixLastSpacer.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+003+image-header-support.patch b/patches/react-native-web/react-native-web+0.21.2+003+image-header-support.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+003+image-header-support.patch rename to patches/react-native-web/react-native-web+0.21.2+003+image-header-support.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+004+fixPointerEventDown.patch b/patches/react-native-web/react-native-web+0.21.2+004+fixPointerEventDown.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+004+fixPointerEventDown.patch rename to patches/react-native-web/react-native-web+0.21.2+004+fixPointerEventDown.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+005+osr-improvement.patch b/patches/react-native-web/react-native-web+0.21.2+005+osr-improvement.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+005+osr-improvement.patch rename to patches/react-native-web/react-native-web+0.21.2+005+osr-improvement.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch b/patches/react-native-web/react-native-web+0.21.2+006+remove-focus-trap-from-modal.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch rename to patches/react-native-web/react-native-web+0.21.2+006+remove-focus-trap-from-modal.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch b/patches/react-native-web/react-native-web+0.21.2+007+fix-scrollable-overflown-text.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch rename to patches/react-native-web/react-native-web+0.21.2+007+fix-scrollable-overflown-text.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch b/patches/react-native-web/react-native-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch rename to patches/react-native-web/react-native-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch b/patches/react-native-web/react-native-web+0.21.2+009+fix-two-direction-scroll-on-web.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch rename to patches/react-native-web/react-native-web+0.21.2+009+fix-two-direction-scroll-on-web.patch diff --git a/patches/react-native-web/react-native-web+0.21.1+010+fullstory-support.patch b/patches/react-native-web/react-native-web+0.21.2+010+fullstory-support.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.1+010+fullstory-support.patch rename to patches/react-native-web/react-native-web+0.21.2+010+fullstory-support.patch diff --git a/patches/react-native-web/react-native-web+0.20.0+012+fix-overscroll-recoil.patch b/patches/react-native-web/react-native-web+0.21.2+012+fix-overscroll-recoil.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.20.0+012+fix-overscroll-recoil.patch rename to patches/react-native-web/react-native-web+0.21.2+012+fix-overscroll-recoil.patch From a1cac77e5a1226de90eeb178c663f6b7488a2186 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 21 Oct 2025 10:09:18 +0200 Subject: [PATCH 07/12] Update details.md for react-native-web patches --- patches/react-native-web/details.md | 24 +++++++++---------- ...eb+0.21.2+011+fix-overscroll-recoil.patch} | 0 2 files changed, 12 insertions(+), 12 deletions(-) rename patches/react-native-web/{react-native-web+0.21.2+012+fix-overscroll-recoil.patch => react-native-web+0.21.2+011+fix-overscroll-recoil.patch} (100%) diff --git a/patches/react-native-web/details.md b/patches/react-native-web/details.md index 0d62178746c6f..3b86ebf16bc2e 100644 --- a/patches/react-native-web/details.md +++ b/patches/react-native-web/details.md @@ -1,6 +1,6 @@ # `react-native-web` patches -### [react-native-web+0.21.1+001+initial.patch](react-native-web+0.21.1+001+initial.patch) +### [react-native-web+0.21.2+001+initial.patch](react-native-web+0.21.2+001+initial.patch) - Reason: @@ -12,7 +12,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/24482 -### [react-native-web+0.21.1+002+fixLastSpacer.patch](react-native-web+0.21.1+002+fixLastSpacer.patch) +### [react-native-web+0.21.2+002+fixLastSpacer.patch](react-native-web+0.21.2+002+fixLastSpacer.patch) - Reason: @@ -24,7 +24,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/32843 -### [react-native-web+0.21.1+003+image-header-support.patch](react-native-web+0.21.1+003+image-header-support.patch) +### [react-native-web+0.21.2+003+image-header-support.patch](react-native-web+0.21.2+003+image-header-support.patch) - Reason: @@ -36,7 +36,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/13036 -### [react-native-web+0.21.1+004+fixPointerEventDown.patch](react-native-web+0.21.1+004+fixPointerEventDown.patch) +### [react-native-web+0.21.2+004+fixPointerEventDown.patch](react-native-web+0.21.2+004+fixPointerEventDown.patch) - Reason: @@ -48,7 +48,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/38494 -### [react-native-web+0.21.1+005+osr-improvement.patch](react-native-web+0.21.1+005+osr-improvement.patch) +### [react-native-web+0.21.2+005+osr-improvement.patch](react-native-web+0.21.2+005+osr-improvement.patch) - Reason: @@ -60,7 +60,7 @@ - E/App issue: 🛑 - PR introducing patch: -### [react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch](react-native-web+0.21.1+006+remove-focus-trap-from-modal.patch) +### [react-native-web+0.21.2+006+remove-focus-trap-from-modal.patch](react-native-web+0.21.2+006+remove-focus-trap-from-modal.patch) - Reason: @@ -72,7 +72,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/39520 -### [react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch](react-native-web+0.21.1+007+fix-scrollable-overflown-text.patch) +### [react-native-web+0.21.2+007+fix-scrollable-overflown-text.patch](react-native-web+0.21.2+007+fix-scrollable-overflown-text.patch) - Reason: @@ -84,7 +84,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/47532 -### [react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch](react-native-web+0.21.1+008+fix-nested-flatlist-scroll-on-web.patch) +### [react-native-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch](react-native-web+0.21.2+008+fix-nested-flatlist-scroll-on-web.patch) - Reason: @@ -96,7 +96,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/60174 -### [react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch](react-native-web+0.21.1+009+fix-two-direction-scroll-on-web.patch) +### [react-native-web+0.21.2+009+fix-two-direction-scroll-on-web.patch](react-native-web+0.21.2+009+fix-two-direction-scroll-on-web.patch) - Reason: @@ -108,7 +108,7 @@ - E/App issue: 🛑 - PR introducing patch: https://github.com/Expensify/App/pull/60340 -### [react-native-web+0.21.1+010+fullstory-support.patch](react-native-web+0.21.1+010+fullstory-support.patch) +### [react-native-web+0.21.2+010+fullstory-support.patch](react-native-web+0.21.2+010+fullstory-support.patch) - Reason: @@ -120,7 +120,7 @@ - E/App issue: As explained above the current solution can't be applied to upstream because it's tailored to Fullstory needs. - PR introducing patch: https://github.com/Expensify/App/pull/67552 -### [react-native-web+0.21.1+011+fix-memory-leak.patch](react-native-web+0.21.1+011+fix-memory-leak.patch) +### [react-native-web+0.21.2+011+fix-memory-leak.patch](react-native-web+0.21.2+011+fix-memory-leak.patch) - Reason: ``` @@ -131,7 +131,7 @@ - E/App issue: https://github.com/Expensify/App/issues/65820 - PR introducing patch: https://github.com/Expensify/App/pull/68834 -### [react-native-web+0.20.0+012+fix-overscroll-recoil.patch](react-native-web+0.20.0+012+fix-overscroll-recoil.patch) +### [react-native-web+0.21.2+011+fix-overscroll-recoil.patch](react-native-web+0.21.2+011+fix-overscroll-recoil.patch) - Reason: diff --git a/patches/react-native-web/react-native-web+0.21.2+012+fix-overscroll-recoil.patch b/patches/react-native-web/react-native-web+0.21.2+011+fix-overscroll-recoil.patch similarity index 100% rename from patches/react-native-web/react-native-web+0.21.2+012+fix-overscroll-recoil.patch rename to patches/react-native-web/react-native-web+0.21.2+011+fix-overscroll-recoil.patch From 827a00b6a86c09b9ebb3d95b113f6d65316de0f8 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 21 Oct 2025 10:11:28 +0200 Subject: [PATCH 08/12] Revert .nvmrc change --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index f234c57bc4b15..f5b3751f5dd27 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.19.3 +20.19.4 From 7797069fd6b5b10e43e39524049b9bb85f29a0cc Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 21 Oct 2025 10:27:32 +0200 Subject: [PATCH 09/12] Retrigger tests, since they pass locally From 2d1d6d3d9419557104119d888bb658fda3a3b842 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 21 Oct 2025 13:07:35 +0200 Subject: [PATCH 10/12] Update details.md for react-native-web patches --- patches/react-native-web/details.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/patches/react-native-web/details.md b/patches/react-native-web/details.md index 3b86ebf16bc2e..8c7df48f3ea27 100644 --- a/patches/react-native-web/details.md +++ b/patches/react-native-web/details.md @@ -120,17 +120,6 @@ - E/App issue: As explained above the current solution can't be applied to upstream because it's tailored to Fullstory needs. - PR introducing patch: https://github.com/Expensify/App/pull/67552 -### [react-native-web+0.21.2+011+fix-memory-leak.patch](react-native-web+0.21.2+011+fix-memory-leak.patch) -- Reason: - - ``` - Fixes memory leak on web caused by Animated API used in @react-navigation package - ``` - -- Upstream PR/issue: https://github.com/necolas/react-native-web/pull/2800 -- E/App issue: https://github.com/Expensify/App/issues/65820 -- PR introducing patch: https://github.com/Expensify/App/pull/68834 - ### [react-native-web+0.21.2+011+fix-overscroll-recoil.patch](react-native-web+0.21.2+011+fix-overscroll-recoil.patch) - Reason: From 056c04edd536b2668a7cd8432a7d1e9c77d1a7fb Mon Sep 17 00:00:00 2001 From: Stephanie Elliott <31225194+stephanieelliott@users.noreply.github.com> Date: Tue, 21 Oct 2025 13:40:20 -1000 Subject: [PATCH 11/12] Update redirects.csv --- docs/redirects.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/redirects.csv b/docs/redirects.csv index 1eab00a4933cb..a3284338ba5cc 100644 --- a/docs/redirects.csv +++ b/docs/redirects.csv @@ -891,3 +891,4 @@ https://help.expensify.com/articles/expensify-classic/expensify-card/Set-Up-the- https://help.expensify.com/classic,https://help.expensify.com/expensify-classic/hubs/ https://help.expensify.com/articles/new-expensify/expensify-card/Enable-Expensify-Card-notifications,https://help.expensify.com/articles/new-expensify/expensify-card/Expensify-Card-Notifications https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts.md/Add-or-remove-a-business-bank-account,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account +https://help.expensify.com/articles/Unlisted/Compliance-Documentation,https://help.expensify.com/articles/new-expensify/settings/Encryption-and-Data-Security From 573427eef51ded5e560dccc9723704a0ff716001 Mon Sep 17 00:00:00 2001 From: Stephanie Elliott <31225194+stephanieelliott@users.noreply.github.com> Date: Tue, 21 Oct 2025 14:17:49 -1000 Subject: [PATCH 12/12] Update redirects.csv --- docs/redirects.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/redirects.csv b/docs/redirects.csv index a3284338ba5cc..08e5a82fcf4b9 100644 --- a/docs/redirects.csv +++ b/docs/redirects.csv @@ -892,3 +892,4 @@ https://help.expensify.com/classic,https://help.expensify.com/expensify-classic/ https://help.expensify.com/articles/new-expensify/expensify-card/Enable-Expensify-Card-notifications,https://help.expensify.com/articles/new-expensify/expensify-card/Expensify-Card-Notifications https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts.md/Add-or-remove-a-business-bank-account,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account https://help.expensify.com/articles/Unlisted/Compliance-Documentation,https://help.expensify.com/articles/new-expensify/settings/Encryption-and-Data-Security +https://drive.google.com/file/d/1kxttniCMLFah4uPNjhknxs0Zor6tWGWE/view,https://s3-us-west-1.amazonaws.com/concierge-responses-expensify-com/uploads%2F1759782614043-Bridge_Letter_for_SOC_1_and_SOC_2_-_Sept_30_2025.pdf