Skip to content

Prevent invalidateSafeAreaInsets get call when RNCSafeAreaProviderComponentView still in the fabric view pool #629

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

vikage
Copy link
Contributor

@vikage vikage commented May 22, 2025

Currently, RNCSafeAreaProviderComponentView is a fabric view. Fabric view using a reusable for views.
We already had prepareForRecycle to clean up the state of view when it was removed from the superview.
But we still have 2 things that can affect the state.
The first one is the notification center. We have not removed it. Then invalidateSafeAreaInsets still get called when other places show the keyboard. It will lead to _initialInsetsSent being true, and our lib will not emit an event to js. (We have a return)

The second, UIKit still calls invalidateSafeAreaInsets when the keyboard shows. So we need a guard to prevent it affect our logic.

Summary

We have a problem SafeAreaProvider empty children since insets is null, caused by other brownfield screen shows keyboard

@vikage
Copy link
Contributor Author

vikage commented May 22, 2025

@janicduplessis Please help to review. Thanks!

@vikage
Copy link
Contributor Author

vikage commented May 22, 2025

@jacobp100 Please help me review also

@vikage vikage requested a review from jacobp100 May 22, 2025 09:59
@janicduplessis
Copy link
Collaborator

Thanks @vikage ! Can you just run the formatting script (yarn format:write)

@vikage
Copy link
Contributor Author

vikage commented May 22, 2025

@janicduplessis The CI was passed. Please help me to merge it
Thanks!

@janicduplessis janicduplessis merged commit 975572a into AppAndFlow:main May 22, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants