diff --git a/android/app/src/main/java/com/mattermost/rnbeta/MattermostCredentialsHelper.java b/android/app/src/main/java/com/mattermost/rnbeta/MattermostCredentialsHelper.java index 26d474a73..efc034b40 100644 --- a/android/app/src/main/java/com/mattermost/rnbeta/MattermostCredentialsHelper.java +++ b/android/app/src/main/java/com/mattermost/rnbeta/MattermostCredentialsHelper.java @@ -37,6 +37,11 @@ public class MattermostCredentialsHelper { HashMap asyncStorageResults = asyncStorage.multiGet(asyncStorageKeys); String serverUrl = asyncStorageResults.get(CURRENT_SERVER_URL); final WritableMap options = Arguments.createMap(); + // KeyChain module fails if `authenticationPrompt` is not set + final WritableMap authPrompt = Arguments.createMap(); + authPrompt.putString("title", "Authenticate to retrieve secret"); + authPrompt.putString("cancel", "Cancel"); + options.putMap("authenticationPrompt", authPrompt); options.putString("service", serverUrl); keychainModule.getGenericPasswordForOptions(options, promise); diff --git a/app/screens/notification/index.tsx b/app/screens/notification/index.tsx index 1084f757f..2cd5deb39 100644 --- a/app/screens/notification/index.tsx +++ b/app/screens/notification/index.tsx @@ -7,6 +7,7 @@ import * as Animatable from 'react-native-animatable'; import {Navigation} from 'react-native-navigation'; import {PanGestureHandler} from 'react-native-gesture-handler'; import {useDispatch} from 'react-redux'; +import {useSafeAreaInsets} from 'react-native-safe-area-context'; import {popToRoot, dismissAllModals, dismissOverlay} from '@actions/navigation'; import {loadFromPushNotification} from '@actions/views/root'; @@ -44,6 +45,7 @@ const initialAnimation: SlideAnimation = { const Notification = ({componentId, notification}: NotificationProps) => { const [animation, setAnimation] = useState(initialAnimation); + const insets = useSafeAreaInsets(); const dispatch = useDispatch(); const dismissTimerRef = useRef(null); const tapped = useRef(false); @@ -121,7 +123,7 @@ const Notification = ({componentId, notification}: NotificationProps) => { > { @@ -44,11 +44,34 @@ index 3bfbc0b..cdb0d05 100644 } }); } +diff --git a/node_modules/react-native-navigation/lib/ios/RNNOverlayWindow.m b/node_modules/react-native-navigation/lib/ios/RNNOverlayWindow.m +index 815e1c6..a35a087 100644 +--- a/node_modules/react-native-navigation/lib/ios/RNNOverlayWindow.m ++++ b/node_modules/react-native-navigation/lib/ios/RNNOverlayWindow.m +@@ -1,5 +1,7 @@ + #import "RNNOverlayWindow.h" + #import "RNNReactView.h" ++#import ++#import + + @implementation RNNOverlayWindow + +@@ -7,7 +9,9 @@ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { + UIView *hitTestResult = [super hitTest:point withEvent:event]; + + if ([hitTestResult isKindOfClass:[UIWindow class]] || +- [hitTestResult.subviews.firstObject isKindOfClass:RNNReactView.class]) { ++ [hitTestResult.subviews.firstObject isKindOfClass:RNNReactView.class] || ++ [hitTestResult isKindOfClass:[RNCSafeAreaView class]] || ++ [hitTestResult isKindOfClass:[RNCSafeAreaProvider class]]) { + return nil; + } + diff --git a/node_modules/react-native-navigation/lib/ios/RNNViewLocation.m b/node_modules/react-native-navigation/lib/ios/RNNViewLocation.m -index f5187d9..d97e766 100644 +index 6b9981d..f725701 100644 --- a/node_modules/react-native-navigation/lib/ios/RNNViewLocation.m +++ b/node_modules/react-native-navigation/lib/ios/RNNViewLocation.m -@@ -32,11 +32,7 @@ - (CGFloat)getClippedCornerRadius:(UIView *)view { +@@ -31,11 +31,7 @@ - (CGFloat)getClippedCornerRadius:(UIView *)view { - (CATransform3D)getTransform:(UIView *)view { if (view) {