diff --git a/apps/mobile/src/features/threads/ThreadComposer.tsx b/apps/mobile/src/features/threads/ThreadComposer.tsx
index aab896efe03..1b026964c92 100644
--- a/apps/mobile/src/features/threads/ThreadComposer.tsx
+++ b/apps/mobile/src/features/threads/ThreadComposer.tsx
@@ -21,6 +21,7 @@ import {
Image,
Platform,
Pressable,
+ StyleSheet,
useColorScheme,
View,
type ViewStyle,
@@ -698,11 +699,22 @@ export const ThreadComposer = memo(function ThreadComposer(props: ThreadComposer
style={{
paddingTop: isExpanded ? 8 : 6,
paddingBottom: (props.bottomInset ?? 0) + (isExpanded ? 8 : 6),
- experimental_backgroundImage: isDarkMode
- ? "linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 55%, rgba(0,0,0,0.9) 100%)"
- : "linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 55%, rgba(255,255,255,0.9) 100%)",
}}
>
+ {/* The backdrop gradient lives on a plain View: Reanimated's Animated.View
+ silently drops experimental_backgroundImage on Android, which left this
+ strip fully transparent and the feed text legible through the composer. */}
+