Fix "Tried to synchronously call a Remote Function" crash (#11517)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Tomasz Zawadzki
2026-08-20 17:56:50 +02:00
committed by GitHub
parent 56e16fcdf1
commit a892057e29
13 changed files with 31 additions and 39 deletions
+10 -16
View File
@@ -119,16 +119,12 @@ export default function ImageViewRoot({
// https://github.com/software-mansion/react-native-reanimated/issues/6677
rAF_FIXED(() => {
openProgress.set(() =>
isAnimated ? withClampedSpring(1, SLOW_SPRING) : 1,
)
openProgress.set(isAnimated ? withClampedSpring(1, SLOW_SPRING) : 1)
})
return () => {
// https://github.com/software-mansion/react-native-reanimated/issues/6677
rAF_FIXED(() => {
openProgress.set(() =>
isAnimated ? withClampedSpring(0, SLOW_SPRING) : 0,
)
openProgress.set(isAnimated ? withClampedSpring(0, SLOW_SPRING) : 0)
})
}
}, [nextLightbox, openProgress, thumbRects])
@@ -591,25 +587,23 @@ function LightboxImage({
// This is a bug in Reanimated, but for now we'll work around it like this.
dismissSwipeTranslateY.set(1)
}
dismissSwipeTranslateY.set(() => {
'worklet'
return withDecay({
dismissSwipeTranslateY.set(
withDecay({
velocity: e.velocityY,
velocityFactor: Math.max(3500 / Math.abs(e.velocityY), 1), // Speed up if it's too slow.
deceleration: 1, // Danger! This relies on the reaction below stopping it.
reduceMotion: ReduceMotion.Never, // If this animation doesn't run, the image gets stuck - therefore override Reduce Motion
})
})
}),
)
} else {
dismissSwipeTranslateY.set(() => {
'worklet'
return withSpring(0, {
dismissSwipeTranslateY.set(
withSpring(0, {
stiffness: 700,
damping: 50,
mass: 1,
reduceMotion: ReduceMotion.Never,
})
})
}),
)
}
})