Closed erwanlpfr closed 2 weeks ago
We experiancing same problem with tamagui and 'PortalHostComponent' when trying to migrate to new architecture.
you can temporarily fix it by patching this file:
node_modules/@tamagui/portal/dist/cjs/GorhomPortal.native.js
And change this method on line 182:
from
var next = function(value) {
(0, import_react.startTransition)(function() {
dispatch(value);
});
};
to
var next = function(value) {
dispatch(value);
};
@tamagui+portal+1.97.1.patch.zip
you can use this patch with patch-package
Amazing, thank you so much @sync! I yarn-patched those lines out and builds are working again for me.
I've tried this patch, but it doesn't work for me :(
I'm having this error on Android build:
(NOBRIDGE) ERROR TypeError: Cannot read property 'add' of undefined
This error is located at:
in PortalHostComponent (created by PortalProviderComponent)
in PortalProviderComponent (created by TamaguiProvider)
in Theme (created by ThemeProvider)
in ThemeProvider (created by TamaguiProvider)
in Provider (created by TamaguiProvider)
in TamaguiProvider (created by TamaguiProvider)
in TamaguiProvider (created by Application)
in Application (created by _default)
in _default
in Unknown (created by Route())
in Suspense (created by Route())
in Route (created by Route())
in Route() (created by ContextNavigator)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by wrapper)
in wrapper (created by ContextNavigator)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by ContextNavigator)
in ContextNavigator (created by ExpoRoot)
in ExpoRoot (created by App)
in App (created by ErrorOverlay)
in ErrorToastContainer (created by ErrorOverlay)
in ErrorOverlay (created by withDevTools(ErrorOverlay))
in withDevTools(ErrorOverlay)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent)
Have a fix in main for this will get it out today. Wonder why transition would break it, weird?
weird indeed
For me the problem is still there, but in another place:
(NOBRIDGE) ERROR TypeError: Cannot read property 'add' of undefined
This error is located at:
in Unknown (created by Themed(Anonymous))
in Theme (created by Themed(Anonymous))
in Themed(Anonymous)
in Unknown
in Unknown (created by Screen)
in Screen (created by _default)
in AppLoader (created by _default)
in RNGestureHandlerRootView (created by GestureHandlerRootView)
in GestureHandlerRootView (created by Application)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by Application)
in PortalProviderComponent (created by TamaguiProvider)
in Theme (created by ThemeProvider)
in ThemeProvider (created by TamaguiProvider)
in Provider (created by TamaguiProvider)
in TamaguiProvider (created by TamaguiProvider)
in TamaguiProvider (created by Application)
in Application (created by _default)
in _default
in Unknown (created by Route())
in Suspense (created by Route())
in Route (created by Route())
in Route() (created by ContextNavigator)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by wrapper)
in wrapper (created by ContextNavigator)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by ContextNavigator)
in ContextNavigator (created by ExpoRoot)
in ExpoRoot (created by App)
in App (created by ErrorOverlay)
in ErrorToastContainer (created by ErrorOverlay)
in ErrorOverlay (created by withDevTools(ErrorOverlay))
in withDevTools(ErrorOverlay)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent)
@kvaster same here
For me it seems to be breaking on any use of the Switch component
yes @kvaster, @natew it is once more startTransition messing things, can reproduce on touch if Switch component is enabled:
this code:
const [checked, setChecked] = useControllableState({
prop: checkedProp,
defaultProp: defaultChecked || false,
onChange: onCheckedChange,
transition: true,
})
can be fixed if changed to:
const [checked, setChecked] = useControllableState({
prop: checkedProp,
defaultProp: defaultChecked || false,
onChange: onCheckedChange,
transition: false,
});
There is really something funky with startTransition
happening somewhere.
Probably one of the .add
in there https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js or the dev one: Libraries/Renderer/implementations/ReactFabric-dev.js
crashing here inside the dev renderer
Just a temp fix but you can patch the renderer
Will look at upstreaming this inside rn if it makes sense and then we should be fine with startTransition
Current Behavior
Hello !
Today, with the Expo 51 release, I tried the new arch. As you can see in the files, Tamagui is set as inspired by this : https://github.com/ivopr/tamagui-expo So by activating the new arch, I can this right after the JS bundle starting the following logs.
Maybe something changed or has to be changed with the new arch. If I am not the only one, maybe we could provide more demo ?
Thank you for your work !
Expected Behavior
No response
Tamagui Version
Platform (Web, iOS, Android)
Reproduction
With Expo Plugins :
And with a layout file at the root that looks like that :