diff --git a/src/screens/Messages/Conversation/MessagesList.tsx b/src/screens/Messages/Conversation/MessagesList.tsx
index 167cc72b..ce466d95 100644
--- a/src/screens/Messages/Conversation/MessagesList.tsx
+++ b/src/screens/Messages/Conversation/MessagesList.tsx
@@ -1,5 +1,5 @@
import React, {useCallback, useRef} from 'react'
-import {FlatList, View} from 'react-native'
+import {FlatList, LayoutChangeEvent, View} from 'react-native'
import {
KeyboardStickyView,
useKeyboardHandler,
@@ -292,14 +292,24 @@ export function MessagesList({
)
// -- List layout changes (opening emoji keyboard, etc.)
- const onListLayout = React.useCallback(() => {
- if (isWeb || !keyboardIsOpening.value) {
- flatListRef.current?.scrollToEnd({
- animated: !layoutScrollWithoutAnimation.value,
- })
- layoutScrollWithoutAnimation.value = false
- }
- }, [flatListRef, keyboardIsOpening.value, layoutScrollWithoutAnimation])
+ const onListLayout = React.useCallback(
+ (e: LayoutChangeEvent) => {
+ layoutHeight.value = e.nativeEvent.layout.height
+
+ if (isWeb || !keyboardIsOpening.value) {
+ flatListRef.current?.scrollToEnd({
+ animated: !layoutScrollWithoutAnimation.value,
+ })
+ layoutScrollWithoutAnimation.value = false
+ }
+ },
+ [
+ flatListRef,
+ keyboardIsOpening.value,
+ layoutScrollWithoutAnimation,
+ layoutHeight,
+ ],
+ )
const scrollToEndOnPress = React.useCallback(() => {
flatListRef.current?.scrollToOffset({
@@ -347,9 +357,9 @@ export function MessagesList({
footer
) : (
<>
- {isConvoActive(convoState) && convoState.items.length === 0 && (
-
- )}
+ {isConvoActive(convoState) &&
+ !convoState.isFetchingHistory &&
+ convoState.items.length === 0 && }
>
)}