Skip to content
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

Only call +[NSAppearance currentAppearance] on the main thread #1012

Conversation

amgleitman
Copy link
Member

@amgleitman amgleitman commented Feb 8, 2022

Please select one of the following

  • I am removing an existing difference between facebook/react-native and microsoft/react-native-macos 👍
  • I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos 👍
  • I am making a fix / change for the macOS implementation of react-native
  • I am making a change required for Microsoft usage of react-native

Summary

If we try to initialize RCTBridge on a background thread, we end up trying to call +[NSAppearance currentAppearance] on that same thread as a result of calling -[RCTDevLoadingView isDarkModeEnabled]. However, when we do this, the Main Thread Checker complains that this is a UI function.

To resolve this issue, we ensure that -[RCTDevLoadingView showOfflineMessage], which is making the offending call, does all of its relevant work on the main thread.

@amgleitman amgleitman requested a review from a team as a code owner February 8, 2022 00:36
@amgleitman amgleitman merged commit f84e49e into microsoft:main Feb 18, 2022
@amgleitman amgleitman deleted the amgleitman/current-appearance-on-main-thread branch February 18, 2022 19:22
Saadnajmi added a commit to Saadnajmi/react-native-macos that referenced this pull request Feb 18, 2022
Saadnajmi added a commit that referenced this pull request Feb 19, 2022
* RCTSwitch: Use NSSwitch instead of NSButton (#924)

* add pull yml

* match handleOpenURLNotification event payload with iOS (#755) (#2)

Co-authored-by: Ryan Linton <[email protected]>

* [pull] master from microsoft:master (#11)

* Deprecated api (#853)

* Remove deprecated/unused context param
* Update a few Mac deprecated APIs

* Packing RN dependencies, hermes and ignoring javadoc failure,  (#852)

* Ignore javadoc failure

* Bringing few more changes from 0.63-stable

* Fixing a patch in engine selection

* Fixing a patch in nuget spec

* Fixing the output directory of nuget pack

* Packaging dependencies in the nuget

* Fix onMouseEnter/onMouseLeave callbacks not firing on Pressable (#855)

* add pull yml

* match handleOpenURLNotification event payload with iOS (#755) (#2)

Co-authored-by: Ryan Linton <[email protected]>

* fix mouse evetns on pressable

* delete extra yml from this branch

* Add macOS tags

* reorder props to have onMouseEnter/onMouseLeave always be before onPress

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>

* Grammar fixes. (#856)

Updates simple grammar issues.

Co-authored-by: Nick Trescases <[email protected]>
Co-authored-by: Anandraj <[email protected]>
Co-authored-by: Saad Najmi <[email protected]>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>
Co-authored-by: Muhammad Hamza Zaman <[email protected]>

* Use NSSwitch

* remove change from my fork

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>
Co-authored-by: Nick Trescases <[email protected]>
Co-authored-by: Anandraj <[email protected]>
Co-authored-by: Muhammad Hamza Zaman <[email protected]>

* DynamicColorMacOS fixes (#1028)

* Use initWithDynamicProvider + Add HC Support

* Update log error

* replace all references to 10.14 (#938)

* Replace currentAppearance with currentDrawingAppearance on macOS 11+ (#1029)

* Manually cherry-pick #1012

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>
Co-authored-by: Nick Trescases <[email protected]>
Co-authored-by: Anandraj <[email protected]>
Co-authored-by: Muhammad Hamza Zaman <[email protected]>
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.

4 participants