diff --git a/src/screens/Messages/components/MessagesList.tsx b/src/screens/Messages/components/MessagesList.tsx
index ce189459e9..90cbab2a7e 100644
--- a/src/screens/Messages/components/MessagesList.tsx
+++ b/src/screens/Messages/components/MessagesList.tsx
@@ -12,7 +12,6 @@ import {ReanimatedScrollEvent} from 'react-native-reanimated/lib/typescript/hook
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {AppBskyEmbedRecord, AppBskyRichtextFacet, RichText} from '@atproto/api'
-import {clamp} from '#/lib/numbers'
import {ScrollProvider} from '#/lib/ScrollContext'
import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip'
import {
@@ -238,7 +237,7 @@ export function MessagesList({
// -- Keyboard animation handling
const {bottom: bottomInset} = useSafeAreaInsets()
- const bottomOffset = isWeb ? 0 : clamp(60 + bottomInset, 60, 75)
+ const bottomOffset = isWeb ? 0 : 60 + bottomInset
const keyboardHeight = useSharedValue(0)
const keyboardIsOpening = useSharedValue(false)
diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx
index e4b09cf0f8..0a50214ad7 100644
--- a/src/view/com/composer/Composer.tsx
+++ b/src/view/com/composer/Composer.tsx
@@ -63,7 +63,6 @@ import {
} from '#/lib/constants'
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
import {useEmail} from '#/lib/hooks/useEmail'
-import {useIsKeyboardVisible} from '#/lib/hooks/useIsKeyboardVisible'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
import {usePalette} from '#/lib/hooks/usePalette'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
@@ -170,7 +169,6 @@ export const ComposePost = ({
const {closeAllDialogs} = useDialogStateControlContext()
const {closeAllModals} = useModalControls()
- const [isKeyboardVisible] = useIsKeyboardVisible({iosUseWillEvents: true})
const [isPublishing, setIsPublishing] = useState(false)
const [publishingStage, setPublishingStage] = useState('')
const [error, setError] = useState('')
@@ -263,10 +261,9 @@ export const ComposePost = ({
const viewStyles = useMemo(
() => ({
paddingTop: isAndroid ? insets.top : 0,
- paddingBottom:
- isAndroid || (isIOS && !isKeyboardVisible) ? insets.bottom : 0,
+ paddingBottom: 0,
}),
- [insets, isKeyboardVisible],
+ [insets],
)
const onPressCancel = useCallback(() => {
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx
index a0073b02f9..58e97d84c5 100644
--- a/src/view/com/post-thread/PostThread.tsx
+++ b/src/view/com/post-thread/PostThread.tsx
@@ -13,7 +13,6 @@ import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform'
import {useSetTitle} from '#/lib/hooks/useSetTitle'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
-import {clamp} from '#/lib/numbers'
import {ScrollProvider} from '#/lib/ScrollContext'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {cleanError} from '#/lib/strings/errors'
@@ -714,7 +713,7 @@ function MobileComposePrompt({onPressReply}: {onPressReply: () => unknown}) {
styles.prompt,
fabMinimalShellTransform,
{
- bottom: clamp(safeAreaInsets.bottom, 13, 30),
+ bottom: safeAreaInsets.bottom,
},
]}>
diff --git a/src/view/com/util/fab/FABInner.tsx b/src/view/com/util/fab/FABInner.tsx
index 77e283625c..5f213e8eaa 100644
--- a/src/view/com/util/fab/FABInner.tsx
+++ b/src/view/com/util/fab/FABInner.tsx
@@ -8,7 +8,6 @@ import {PressableScale} from '#/lib/custom-animations/PressableScale'
import {useHaptics} from '#/lib/haptics'
import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
-import {clamp} from '#/lib/numbers'
import {gradients} from '#/lib/styles'
import {isWeb} from '#/platform/detection'
import {ios} from '#/alf'
@@ -29,7 +28,7 @@ export function FABInner({testID, icon, onPress, ...props}: FABProps) {
const tabletSpacing = isTablet
? {right: 50, bottom: 50}
- : {right: 24, bottom: clamp(insets.bottom, 15, 60) + 15}
+ : {right: 24, bottom: insets.bottom + 30}
return (
@@ -134,7 +135,7 @@ export function BottomBar({navigation}: BottomTabBarProps) {
styles.bottomBar,
pal.view,
pal.border,
- {paddingBottom: clamp(safeAreaInsets.bottom, 15, 30)},
+ {paddingBottom: safeAreaInsets.bottom},
footerMinimalShellTransform,
]}
onLayout={e => {