You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I checked for existing issues that might answer my question.
Bug Summary
First of all love the library, amazing stuff, you have my support. I noticed an issue recently with sheet dismissal particularly when using swipe back gestures when the sheet is presented in a stack with default card animation. You'll see from the 1st clip as soon as the swipe back or swipe down gesture is initiated, the thread is blocked until the sheet dismisses fully, and then the swipe animation jumps and resumes animating at the position relative to where your finger is. If I swipe quickly and release, the native screen transition won't trigger at all, only the sheet will dismiss, and I have to swipe back again to have it actually go back in the stack.
This is tested on the latest beta 3.9.0-beta.1 and the latest stable 3.8.2 version using iPhone 17 Pro running both SDK 55 and SDK 54. The 1st video shows the effect occurring on a stripped starter expo project on SDK 54 with only true sheet as external dep. The 2nd video is my project on SDK 55, where the sheet acts like an always-active chat sheet.
Ideally the sheet dismisses in parallel without blocking the navigation. Interpolating the sheet dismissal progress with the transition progress from react-native-screens could also be interesting: import { useTransitionProgress } from "react-native-screens"; const { progress } = useTransitionProgress();
Affected Platforms
iOS
Android
Web
Other
Library Version
3.8.2 - 3.9.0-beta.1
Environment Info
System:
OS: macOS 26.1
CPU: (12) arm64 Apple M4 Pro
Memory: 1016.63 MB / 24.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.16.0
path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/node
Yarn:
version: 1.22.22
path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/yarn
npm:
version: 10.9.2
path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.2
- iOS 26.2
- macOS 26.2
- tvOS 26.2
- visionOS 26.2
- watchOS 26.2
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 26.2/17C52
path: /usr/bin/xcodebuild
Languages:
Java: Not Found
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.1.1
wanted: latest
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.5
wanted: 0.81.5
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Steps to Reproduce
Create simple layout with two screens, origin and destination using expo-router.
Add a TrueSheet to the destination screen with some initial detent and make the sheet be visible on mount with initialDetentIndex={0}.
Before submitting a new issue
Bug Summary
First of all love the library, amazing stuff, you have my support. I noticed an issue recently with sheet dismissal particularly when using swipe back gestures when the sheet is presented in a stack with default card animation. You'll see from the 1st clip as soon as the swipe back or swipe down gesture is initiated, the thread is blocked until the sheet dismisses fully, and then the swipe animation jumps and resumes animating at the position relative to where your finger is. If I swipe quickly and release, the native screen transition won't trigger at all, only the sheet will dismiss, and I have to swipe back again to have it actually go back in the stack.
This is tested on the latest beta 3.9.0-beta.1 and the latest stable 3.8.2 version using iPhone 17 Pro running both SDK 55 and SDK 54. The 1st video shows the effect occurring on a stripped starter expo project on SDK 54 with only true sheet as external dep. The 2nd video is my project on SDK 55, where the sheet acts like an always-active chat sheet.
Ideally the sheet dismisses in parallel without blocking the navigation. Interpolating the sheet dismissal progress with the transition progress from react-native-screens could also be interesting:
import { useTransitionProgress } from "react-native-screens"; const { progress } = useTransitionProgress();Affected Platforms
Library Version
3.8.2 - 3.9.0-beta.1
Environment Info
System: OS: macOS 26.1 CPU: (12) arm64 Apple M4 Pro Memory: 1016.63 MB / 24.00 GB Shell: version: "5.9" path: /bin/zsh Binaries: Node: version: 22.16.0 path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/node Yarn: version: 1.22.22 path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/yarn npm: version: 10.9.2 path: /Users/yuliyansavchev/.nvm/versions/node/v22.16.0/bin/npm Watchman: Not Found Managers: CocoaPods: version: 1.16.2 path: /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: - DriverKit 25.2 - iOS 26.2 - macOS 26.2 - tvOS 26.2 - visionOS 26.2 - watchOS 26.2 Android SDK: Not Found IDEs: Android Studio: Not Found Xcode: version: 26.2/17C52 path: /usr/bin/xcodebuild Languages: Java: Not Found Ruby: version: 2.6.10 path: /usr/bin/ruby npmPackages: "@react-native-community/cli": installed: 20.1.1 wanted: latest react: installed: 19.1.0 wanted: 19.1.0 react-native: installed: 0.81.5 wanted: 0.81.5 react-native-macos: Not Found npmGlobalPackages: "*react-native*": Not Found Android: hermesEnabled: Not found newArchEnabled: Not found iOS: hermesEnabled: Not found newArchEnabled: Not foundSteps to Reproduce
initialDetentIndex={0}.Repro
https://github.com/ystefanov6/repro-true-sheet-gesture-dismiss
Additional Context
ScreenRecording_02-08-2026.19-09-51_1.MP4
Screen.Recording.Feb.8.2026.mp4