Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32159689
D15128.1765038965.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
21 KB
Referenced Files
None
Subscribers
None
D15128.1765038965.diff
View Options
diff --git a/native/account/auth-components/auth-content-container.react.js b/native/account/auth-components/auth-content-container.react.js
--- a/native/account/auth-components/auth-content-container.react.js
+++ b/native/account/auth-components/auth-content-container.react.js
@@ -3,8 +3,7 @@
import { useHeaderHeight } from '@react-navigation/elements';
import * as React from 'react';
import { ScrollView } from 'react-native';
-
-import KeyboardAvoidingView from '../../components/keyboard-avoiding-view.react.js';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
type ViewProps = React.ElementConfig<typeof ScrollView>;
type Props = {
diff --git a/native/account/logged-out-modal.react.js b/native/account/logged-out-modal.react.js
--- a/native/account/logged-out-modal.react.js
+++ b/native/account/logged-out-modal.react.js
@@ -13,6 +13,7 @@
BackHandler,
ActivityIndicator,
} from 'react-native';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import {
Easing,
useSharedValue,
@@ -35,7 +36,6 @@
import type { LogInState } from './log-in-panel.react.js';
import LoggedOutStaffInfo from './logged-out-staff-info.react.js';
import PromptButton from './prompt-button.react.js';
-import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js';
import ConnectedStatusBar from '../connected-status-bar.react.js';
import { useRatchetingKeyboardHeight } from '../keyboard/animated-keyboard.js';
import { createIsForegroundSelector } from '../navigation/nav-selectors.js';
diff --git a/native/calendar/calendar.react.js b/native/calendar/calendar.react.js
--- a/native/calendar/calendar.react.js
+++ b/native/calendar/calendar.react.js
@@ -7,9 +7,9 @@
import { createStackNavigator } from '@react-navigation/stack';
import * as React from 'react';
import { View } from 'react-native';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import CalendarScreen from './calendar-screen.react.js';
-import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js';
import CommunityDrawerButton from '../navigation/community-drawer-button.react.js';
import {
CalendarScreenRouteName,
diff --git a/native/chat/chat.react.js b/native/chat/chat.react.js
--- a/native/chat/chat.react.js
+++ b/native/chat/chat.react.js
@@ -26,6 +26,7 @@
import * as React from 'react';
import { Platform, View, useWindowDimensions } from 'react-native';
import type { MeasureOnSuccessCallback } from 'react-native/src/private/types/HostInstance.js';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import MessageStorePruner from 'lib/components/message-store-pruner.react.js';
import ThreadDraftUpdater from 'lib/components/thread-draft-updater.react.js';
@@ -59,7 +60,6 @@
import ThreadScreenPruner from './thread-screen-pruner.react.js';
import ThreadSettingsButton from './thread-settings-button.react.js';
import ThreadSettingsHeaderTitle from './thread-settings-header-title.react.js';
-import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js';
import { NUXHandler } from '../components/nux-handler.react.js';
import {
nuxTip,
diff --git a/native/community-creation/community-creation-content-container.react.js b/native/community-creation/community-creation-content-container.react.js
--- a/native/community-creation/community-creation-content-container.react.js
+++ b/native/community-creation/community-creation-content-container.react.js
@@ -3,8 +3,7 @@
import { useHeaderHeight } from '@react-navigation/elements';
import * as React from 'react';
import { View } from 'react-native';
-
-import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
type ViewProps = React.ElementConfig<typeof View>;
type Props = ViewProps;
diff --git a/native/components/modal.react.js b/native/components/modal.react.js
--- a/native/components/modal.react.js
+++ b/native/components/modal.react.js
@@ -3,9 +3,9 @@
import { useNavigation } from '@react-navigation/native';
import * as React from 'react';
import { View, TouchableWithoutFeedback, StyleSheet } from 'react-native';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import { SafeAreaView } from 'react-native-safe-area-context';
-import KeyboardAvoidingView from './keyboard-avoiding-view.react.js';
import { useStyles } from '../themes/colors.js';
import type { ViewStyle } from '../types/styles.js';
import {
diff --git a/native/ios/Podfile.lock b/native/ios/Podfile.lock
--- a/native/ios/Podfile.lock
+++ b/native/ios/Podfile.lock
@@ -2089,6 +2089,35 @@
- SocketRocket
- react-native-in-app-message (1.0.2):
- React
+ - react-native-keyboard-controller (1.18.1):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-renderercss
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
- react-native-netinfo (11.4.1):
- React-Core
- react-native-orientation-locker (1.5.0):
@@ -3041,6 +3070,7 @@
- React-Mapbuffer (from `../../node_modules/react-native/ReactCommon`)
- React-microtasksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
- react-native-in-app-message (from `../node_modules/react-native-in-app-message`)
+ - react-native-keyboard-controller (from `../node_modules/react-native-keyboard-controller`)
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
- react-native-pager-view (from `../node_modules/react-native-pager-view`)
@@ -3247,6 +3277,8 @@
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
react-native-in-app-message:
:path: "../node_modules/react-native-in-app-message"
+ react-native-keyboard-controller:
+ :path: "../node_modules/react-native-keyboard-controller"
react-native-netinfo:
:path: "../node_modules/@react-native-community/netinfo"
react-native-orientation-locker:
@@ -3428,6 +3460,7 @@
React-Mapbuffer: 9a7c65078c6851397c1999068989e4fc239d0c80
React-microtasksnativemodule: 4f1ef719ba6c7ebbd2d75346ffa2916f9b4771c9
react-native-in-app-message: f91de5009620af01456531118264c93e249b83ec
+ react-native-keyboard-controller: 67ade97aef69b23d03c4e46ef0889de00b6056a2
react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac
react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba
react-native-pager-view: fb71fc7749da79d194e0e3e455d02fc0211c0042
diff --git a/native/package.json b/native/package.json
--- a/native/package.json
+++ b/native/package.json
@@ -96,6 +96,7 @@
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "~2.26.0",
"react-native-in-app-message": "^1.0.2",
+ "react-native-keyboard-controller": "^1.17.5",
"react-native-keyboard-input": "6.0.1",
"react-native-keychain": "^8.0.0",
"react-native-orientation-locker": "^1.5.0",
diff --git a/native/profile/profile.react.js b/native/profile/profile.react.js
--- a/native/profile/profile.react.js
+++ b/native/profile/profile.react.js
@@ -9,6 +9,7 @@
import { createStackNavigator } from '@react-navigation/stack';
import * as React from 'react';
import { View, useWindowDimensions } from 'react-native';
+import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import AddKeyserver from './add-keyserver.react.js';
import AppearancePreferences from './appearance-preferences.react.js';
@@ -30,7 +31,6 @@
import ProfileScreen from './profile-screen.react.js';
import RelationshipList from './relationship-list.react.js';
import TunnelbrokerMenu from './tunnelbroker-menu.react.js';
-import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js';
import CommunityDrawerButton from '../navigation/community-drawer-button.react.js';
import HeaderBackButton from '../navigation/header-back-button.react.js';
import {
diff --git a/native/root.react.js b/native/root.react.js
--- a/native/root.react.js
+++ b/native/root.react.js
@@ -15,6 +15,7 @@
import * as React from 'react';
import { StyleSheet } from 'react-native';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
+import { KeyboardProvider } from 'react-native-keyboard-controller';
import Orientation from 'react-native-orientation-locker';
import {
SafeAreaProvider,
@@ -346,101 +347,103 @@
}
return (
<DebugLogsContextProvider>
- <GestureHandlerRootView style={styles.app}>
- <StaffContextProvider>
- <IdentityServiceContextProvider>
- <UserIdentityCacheProvider>
- <ENSCacheProvider
- ethersProvider={ethersProvider}
- alchemyKey={alchemyKey}
- >
- <NeynarClientProvider apiKey={neynarKey}>
- <UserDataRestoreProvider>
- <TunnelbrokerProvider>
- <ErrorBoundary>
- <IdentitySearchProvider>
- <SecondaryDeviceQRAuthContextProvider
- parseTunnelbrokerQRAuthMessage={
- parseTunnelbrokerQRAuthMessage
- }
- composeTunnelbrokerQRAuthMessage={
- composeTunnelbrokerQRAuthMessage
- }
- generateAESKey={generateQRAuthAESKey}
- onLogInError={handleSecondaryDeviceLogInError}
- >
- <FeatureFlagsProvider>
- <NavContext.Provider value={navContext}>
- <RootContext.Provider value={rootContext}>
- <InputStateContainer>
- <MessageEditingContextProvider>
- <SafeAreaProvider
- initialMetrics={initialWindowMetrics}
- >
- <ActionSheetProvider>
- <MediaCacheProvider
- persistence={filesystemMediaCache}
- >
- <EditUserAvatarProvider>
- <NativeEditThreadAvatarProvider>
- <MarkdownContextProvider>
- <MessageSearchProvider>
- <BottomSheetProvider>
- <RegistrationContextProvider>
- <SQLiteDataHandler />
- <ConnectedStatusBar />
- <ReduxPersistGate
- persistor={getPersistor()}
- >
- {gated}
- </ReduxPersistGate>
- <PersistedStateGate>
- <ColdStartTracker />
- <KeyserverConnectionsHandler
- socketComponent={
- Socket
- }
- detectUnsupervisedBackgroundRef={
- detectUnsupervisedBackgroundRef
- }
- />
- <DMActivityHandler />
- <VersionSupportedChecker />
- <PlatformDetailsSynchronizer />
- <PrekeysHandler />
- <ReportHandler />
- <FarcasterChannelPrefetchHandler />
- <AutoJoinCommunityHandler />
- <SyncCommunityStoreHandler />
- <InitialStateSharingHandler />
- <SecondaryDevicesBackupHandler />
- </PersistedStateGate>
- {navigation}
- </RegistrationContextProvider>
- </BottomSheetProvider>
- </MessageSearchProvider>
- </MarkdownContextProvider>
- </NativeEditThreadAvatarProvider>
- </EditUserAvatarProvider>
- </MediaCacheProvider>
- </ActionSheetProvider>
- </SafeAreaProvider>
- </MessageEditingContextProvider>
- </InputStateContainer>
- </RootContext.Provider>
- </NavContext.Provider>
- </FeatureFlagsProvider>
- </SecondaryDeviceQRAuthContextProvider>
- </IdentitySearchProvider>
- </ErrorBoundary>
- </TunnelbrokerProvider>
- </UserDataRestoreProvider>
- </NeynarClientProvider>
- </ENSCacheProvider>
- </UserIdentityCacheProvider>
- </IdentityServiceContextProvider>
- </StaffContextProvider>
- </GestureHandlerRootView>
+ <KeyboardProvider>
+ <GestureHandlerRootView style={styles.app}>
+ <StaffContextProvider>
+ <IdentityServiceContextProvider>
+ <UserIdentityCacheProvider>
+ <ENSCacheProvider
+ ethersProvider={ethersProvider}
+ alchemyKey={alchemyKey}
+ >
+ <NeynarClientProvider apiKey={neynarKey}>
+ <UserDataRestoreProvider>
+ <TunnelbrokerProvider>
+ <ErrorBoundary>
+ <IdentitySearchProvider>
+ <SecondaryDeviceQRAuthContextProvider
+ parseTunnelbrokerQRAuthMessage={
+ parseTunnelbrokerQRAuthMessage
+ }
+ composeTunnelbrokerQRAuthMessage={
+ composeTunnelbrokerQRAuthMessage
+ }
+ generateAESKey={generateQRAuthAESKey}
+ onLogInError={handleSecondaryDeviceLogInError}
+ >
+ <FeatureFlagsProvider>
+ <NavContext.Provider value={navContext}>
+ <RootContext.Provider value={rootContext}>
+ <InputStateContainer>
+ <MessageEditingContextProvider>
+ <SafeAreaProvider
+ initialMetrics={initialWindowMetrics}
+ >
+ <ActionSheetProvider>
+ <MediaCacheProvider
+ persistence={filesystemMediaCache}
+ >
+ <EditUserAvatarProvider>
+ <NativeEditThreadAvatarProvider>
+ <MarkdownContextProvider>
+ <MessageSearchProvider>
+ <BottomSheetProvider>
+ <RegistrationContextProvider>
+ <SQLiteDataHandler />
+ <ConnectedStatusBar />
+ <ReduxPersistGate
+ persistor={getPersistor()}
+ >
+ {gated}
+ </ReduxPersistGate>
+ <PersistedStateGate>
+ <ColdStartTracker />
+ <KeyserverConnectionsHandler
+ socketComponent={
+ Socket
+ }
+ detectUnsupervisedBackgroundRef={
+ detectUnsupervisedBackgroundRef
+ }
+ />
+ <DMActivityHandler />
+ <VersionSupportedChecker />
+ <PlatformDetailsSynchronizer />
+ <PrekeysHandler />
+ <ReportHandler />
+ <FarcasterChannelPrefetchHandler />
+ <AutoJoinCommunityHandler />
+ <SyncCommunityStoreHandler />
+ <InitialStateSharingHandler />
+ <SecondaryDevicesBackupHandler />
+ </PersistedStateGate>
+ {navigation}
+ </RegistrationContextProvider>
+ </BottomSheetProvider>
+ </MessageSearchProvider>
+ </MarkdownContextProvider>
+ </NativeEditThreadAvatarProvider>
+ </EditUserAvatarProvider>
+ </MediaCacheProvider>
+ </ActionSheetProvider>
+ </SafeAreaProvider>
+ </MessageEditingContextProvider>
+ </InputStateContainer>
+ </RootContext.Provider>
+ </NavContext.Provider>
+ </FeatureFlagsProvider>
+ </SecondaryDeviceQRAuthContextProvider>
+ </IdentitySearchProvider>
+ </ErrorBoundary>
+ </TunnelbrokerProvider>
+ </UserDataRestoreProvider>
+ </NeynarClientProvider>
+ </ENSCacheProvider>
+ </UserIdentityCacheProvider>
+ </IdentityServiceContextProvider>
+ </StaffContextProvider>
+ </GestureHandlerRootView>
+ </KeyboardProvider>
</DebugLogsContextProvider>
);
}
diff --git a/yarn.lock b/yarn.lock
--- a/yarn.lock
+++ b/yarn.lock
@@ -21374,6 +21374,13 @@
resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz#64e10851abd9d176cbf2b40562f751622bde3358"
integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==
+react-native-keyboard-controller@^1.17.5:
+ version "1.18.1"
+ resolved "https://registry.yarnpkg.com/react-native-keyboard-controller/-/react-native-keyboard-controller-1.18.1.tgz#aca911f3321925dbff152bc2029fb62fa0b5046c"
+ integrity sha512-5zBRLNq4BDmMIs7G/fe4udcmCu9uxnRIQ+WciGPwL2TGaIrAC+mngiFzPO8rm8DzN1ghDrDPzmy8wV2GEwYLMw==
+ dependencies:
+ react-native-is-edge-to-edge "^1.2.1"
+
react-native-keyboard-input@6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/react-native-keyboard-input/-/react-native-keyboard-input-6.0.1.tgz#996a0c00c2232b09e30cdee37dd8c086c688e1f7"
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 6, 4:36 PM (21 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5839590
Default Alt Text
D15128.1765038965.diff (21 KB)
Attached To
Mode
D15128: [native][RN80][skip-ci] Use KeyboardAvoidingView from react-native-keyboard-controller
Attached
Detach File
Event Timeline
Log In to Comment