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
{{ message }}
Repository navigation
[Bug] [iOS] EnrichedTextInput causes freeze in debug mode when DISABLE_COMMIT_PAUSING_MECHANISM is enabled #267
The app freezes/crash in debug mode when navigating to a view containing an EnrichedTextInput after enabling the React Native Reanimated static feature flag DISABLE_COMMIT_PAUSING_MECHANISM.
This issue occurs when following the Reanimated performance optimization recommendations for fixing flickering/jittering while scrolling, as documented in the Reanimated Performance Guide.
The freeze is specifically triggered when:
The DISABLE_COMMIT_PAUSING_MECHANISM static feature flag is enabled in Reanimated
Running the app in debug mode on iOS
Navigating to any view that contains an EnrichedTextInput component
To Reproduce
Steps to reproduce the behavior:
Enable the DISABLE_COMMIT_PAUSING_MECHANISM static feature flag
Set the experimental release level to enable preventShadowTreeCommitExhaustion feature flag as per Reanimated docs
Run the app in debug mode on iOS simulator
Navigate to any view that contains an EnrichedTextInput component
Observe that the app freezes (UI becomes completely unresponsive)
Expected behavior
The EnrichedTextInput should load and render normally without causing the app to freeze, even when Reanimated performance optimization flags are enabled in debug mode.
The freeze only occurs in debug mode - release/production builds work normally
The issue is iOS-specific - Android builds are not affected
The issue appears to be related to the interaction between Reanimated's DISABLE_COMMIT_PAUSING_MECHANISM flag and the EnrichedTextInput's WebView-based implementation
Disabling the DISABLE_COMMIT_PAUSING_MECHANISM flag resolves the freeze, but this prevents the Reanimated scroll performance optimizations from working properly
This creates a trade-off between having smooth scrolling animations (with the flag enabled) and being able to use EnrichedTextInput in debug mode
Workaround
Currently, the only workaround is to disable the DISABLE_COMMIT_PAUSING_MECHANISM flag during development/debugging and only enable it for release builds. However, this makes it difficult to test the full functionality of the app in debug mode.
changed the title [-][iOS] EnrichedTextInput causes freeze in debug mode when DISABLE_COMMIT_PAUSING_MECHANISM is enabled[/-][+][Bug] [iOS] EnrichedTextInput causes freeze in debug mode when DISABLE_COMMIT_PAUSING_MECHANISM is enabled[/+]on Feb 19, 2026
I checked this issue and was not able to reproduce the problem. After enabling the flag, the app still worked correctly on my side.
Even without DISABLE_COMMIT_PAUSING_MECHANISM, the Reanimated docs already mention that:
Flickering/jittering while scrolling will be ultimately fixed by the branching mechanism introduced in React Native.
That PR has already been merged and is currently available behind a feature flag, so if you want, you can already try it out.
For now, since the issue no longer reproduces for me, I’m going to close it. Feel free to leave a comment if you still experience the problem and I can reopen the issue.
Activity
[-][iOS] EnrichedTextInput causes freeze in debug mode when DISABLE_COMMIT_PAUSING_MECHANISM is enabled[/-][+][Bug] [iOS] EnrichedTextInput causes freeze in debug mode when DISABLE_COMMIT_PAUSING_MECHANISM is enabled[/+]kacperzolkiewski commentedon Jul 1, 2026
Hi @jesussfl,
I checked this issue and was not able to reproduce the problem. After enabling the flag, the app still worked correctly on my side.
Even without
DISABLE_COMMIT_PAUSING_MECHANISM, the Reanimated docs already mention that:That PR has already been merged and is currently available behind a feature flag, so if you want, you can already try it out.
For now, since the issue no longer reproduces for me, I’m going to close it. Feel free to leave a comment if you still experience the problem and I can reopen the issue.