diff --git a/native/chat/swipeable-message.react.js b/native/chat/swipeable-message.react.js
--- a/native/chat/swipeable-message.react.js
+++ b/native/chat/swipeable-message.react.js
@@ -26,6 +26,9 @@
 const primaryThreshold = 40;
 const secondaryThreshold = 120;
 
+const panGestureHandlerActiveOffsetX = [-4, 4];
+const panGestureHandlerFailOffsetY = [-5, 5];
+
 function dividePastDistance(value, distance, factor) {
   'worklet';
   const absValue = Math.abs(value);
@@ -239,6 +242,11 @@
 
   const { contentStyle, children } = props;
 
+  const panGestureHandlerStyle = React.useMemo(
+    () => [contentStyle, transformContentStyle],
+    [contentStyle, transformContentStyle],
+  );
+
   if (!triggerReply && !triggerSidebar) {
     return (
       <PanGestureHandler enabled={false}>
@@ -305,15 +313,13 @@
   snakes.push(
     <PanGestureHandler
       maxPointers={1}
-      activeOffsetX={[-4, 4]}
+      activeOffsetX={panGestureHandlerActiveOffsetX}
       onGestureEvent={swipeEvent}
       failOffsetX={isViewer ? 5 : -5}
-      failOffsetY={[-5, 5]}
+      failOffsetY={panGestureHandlerFailOffsetY}
       key="gesture"
     >
-      <Animated.View style={[contentStyle, transformContentStyle]}>
-        {children}
-      </Animated.View>
+      <Animated.View style={panGestureHandlerStyle}>{children}</Animated.View>
     </PanGestureHandler>,
   );