From 8543895d2a9f6960cdf318cbb35acf25a72ce506 Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Fri, 13 Jun 2025 16:34:21 +0800 Subject: [PATCH 1/4] Fix: mWeb/Safari - Unable to toggle test tool modal --- .../Navigators/TestToolsModalNavigator.tsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx index b8077cb61c3c..757e3952d819 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx @@ -1,7 +1,6 @@ import React, {useCallback, useRef} from 'react'; import type {MouseEvent} from 'react'; -import {View} from 'react-native'; -import type {GestureResponderEvent} from 'react-native'; +import {Pressable, View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import FocusTrapForScreens from '@components/FocusTrap/FocusTrapForScreen'; import TestToolsModalPage from '@components/TestToolsModalPage'; @@ -24,14 +23,13 @@ function TestToolsModalNavigator() { const outerViewRef = useRef(null); const isAuthenticated = useIsAuthenticated(); - const handleOuterClick = useCallback((e: MouseEvent | GestureResponderEvent) => { - e.preventDefault(); + const handleOuterClick = useCallback(() => { requestAnimationFrame(() => { toggleTestToolsModal(); }); }, []); - const handleInnerPress = useCallback((e: GestureResponderEvent) => { + const handleInnerClick = useCallback((e: MouseEvent) => { e.stopPropagation(); }, []); @@ -40,16 +38,15 @@ function TestToolsModalNavigator() { return ( - e.stopPropagation()} - onTouchEnd={handleInnerPress} + onStartShouldSetResponder={() => true} + onClick={handleInnerClick} style={styles.getTestToolsNavigatorInnerView(shouldUseNarrowLayout, isAuthenticated)} > @@ -60,7 +57,7 @@ function TestToolsModalNavigator() { - + ); } From f3f4cf561b5cd1f09ab0089c0cf69bba5adaaecf Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Fri, 13 Jun 2025 17:05:37 +0800 Subject: [PATCH 2/4] lint fix --- .../AppNavigator/Navigators/TestToolsModalNavigator.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx index 757e3952d819..1dd8063db676 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx @@ -1,7 +1,8 @@ import React, {useCallback, useRef} from 'react'; import type {MouseEvent} from 'react'; -import {Pressable, View} from 'react-native'; +import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; +import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback'; import FocusTrapForScreens from '@components/FocusTrap/FocusTrapForScreen'; import TestToolsModalPage from '@components/TestToolsModalPage'; import useIsAuthenticated from '@hooks/useIsAuthenticated'; @@ -38,10 +39,12 @@ function TestToolsModalNavigator() { return ( - - + ); } From 237389b87e7f810ebbe0495a7a14d85728ea973d Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Fri, 13 Jun 2025 17:15:34 +0800 Subject: [PATCH 3/4] prettier --- .../AppNavigator/Navigators/TestToolsModalNavigator.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx index 1dd8063db676..d7c79a577724 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/TestToolsModalNavigator.tsx @@ -2,8 +2,8 @@ import React, {useCallback, useRef} from 'react'; import type {MouseEvent} from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; -import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback'; import FocusTrapForScreens from '@components/FocusTrap/FocusTrapForScreen'; +import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback'; import TestToolsModalPage from '@components/TestToolsModalPage'; import useIsAuthenticated from '@hooks/useIsAuthenticated'; import useKeyboardShortcut from '@hooks/useKeyboardShortcut'; From af62723e354a6c0b808969d2f68d06f709bc8af7 Mon Sep 17 00:00:00 2001 From: Hans Date: Sat, 14 Jun 2025 00:00:56 +0700 Subject: [PATCH 4/4] revert to correct condition --- src/components/TestToolsModalPage.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/TestToolsModalPage.tsx b/src/components/TestToolsModalPage.tsx index 51df3233427e..bf61d3c02c5e 100644 --- a/src/components/TestToolsModalPage.tsx +++ b/src/components/TestToolsModalPage.tsx @@ -2,10 +2,12 @@ import React from 'react'; import {View} from 'react-native'; import useIsAuthenticated from '@hooks/useIsAuthenticated'; import useLocalize from '@hooks/useLocalize'; +import useOnyx from '@hooks/useOnyx'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import Navigation from '@navigation/Navigation'; import {shouldShowProfileTool} from '@userActions/TestTool'; +import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import Button from './Button'; import ClientSideLoggingToolMenu from './ClientSideLoggingToolMenu'; @@ -25,6 +27,7 @@ function TestToolsModalPage() { const styles = useThemeStyles(); const {translate} = useLocalize(); const activeRoute = Navigation.getActiveRoute(); + const [shouldStoreLogs = false] = useOnyx(ONYXKEYS.SHOULD_STORE_LOGS, {canBeMissing: true}); const isAuthenticated = useIsAuthenticated(); const route = getRouteBasedOnAuthStatus(isAuthenticated, activeRoute); @@ -43,7 +46,7 @@ function TestToolsModalPage() { {shouldShowProfileTool() && } - {!!false && ( + {!!shouldStoreLogs && (