Repository navigation
[router][observe] Emit action-enqueued mark to measure navigation TTR - #51485
Conversation
ddca1ca to
a6ab786
Compare
|
The Pull Request introduced fingerprint changes against the base commit: 12d0a9f Fingerprint diffThe diff has 10 items and is truncated. The full diff is in the workflow run logs. [
{
"op": "changed",
"beforeSource": {
"type": "file",
"filePath": "../../packages/@expo/require-utils/build/resolve.js",
"reasons": [
"expoConfigPlugins"
],
"hash": "bf53baaac9afec9ee96c89992ae4cb797093cbb9"
},
"afterSource": {
"type": "file",
"filePath": "../../packages/@expo/require-utils/build/resolve.js",
"reasons": [
"expoConfigPlugins"
],
"hash": "bffc741495aa2bfb775e2ab879324fc8664ed808"
}
},
{
"op": "added",
"addedSource": {
"type": "dir",
"filePath": "../../node_modules/.pnpm/react-native-screens@4.29.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_d28e573784037c8f3170bfa9298804d4/node_modules/react-native-screens",
"reasons": [
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": null
}
},
{
"op": "removed",
"removedSource": {
"type": "dir",
"filePath": "../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens",
"reasons": [
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": null
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoConfigPlugins",
"expoConfigPlugins",
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": "8309473ff8e2b4e9999f363f18cc7aee3458aac1"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoConfigPlugins",
"expoConfigPlugins",
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": "3d39abaf417f057eebed8d017eb90d3e4ed5b78c"
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo-app-metrics/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "c3509046e4dd86dc2a01540262c02de1eda775aa"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo-app-metrics/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "354fa3171e115c0eb352d7655700f7ef9453c03d"
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo-location/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "b6d4f3cadbfea20654f8128a118d30203193c837"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo-location/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "652d2df9e5a43a39089259bc1ba90aafb3d719f1"
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo-modules-jsi/apple",
"reasons": [
"expoAutolinkingIos"
],
"hash": "bee6934b32b04bfbab8838336c49074dc675e3b8"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo-modules-jsi/apple",
"reasons": [
"expoAutolinkingIos"
],
"hash": "b82bdb095a31fb42e01f2a240f7d01ef3da80c4e"
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "ios",
"reasons": [
"bareNativeDir"
],
"hash": "be966ea90abfc5b546de6a5a7aab11d56e5acfd8"
},
"afterSource": {
"type": "dir",
"filePath": "ios",
"reasons": [
"bareNativeDir"
],
"hash": "6c5db6a34e7464cd81b6169a8666a31792168266"
}
},
{
"op": "changed",
"beforeSource": {
"type": "contents",
"id": "rncoreAutolinkingConfig:android",
"contents": "{\"@react-native-async-storage/async-storage\":{\"root\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage\",\"name\":\"@react-native-async-storage/async-storage\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/android\",\"packageImportPath\":\"import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;\",\"packageInstance\":\"new AsyncStoragePackage()\",\"buildTypes\":[],\"libraryName\":\"rnasyncstorage\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/datetimepicker\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker\",\"name\":\"@react-native-community/datetimepicker\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/android\",\"packageImportPath\":\"import com.reactcommunity.rndatetimepicker.RNDateTimePickerPackage;\",\"packageInstance\":\"new RNDateTimePickerPackage()\",\"buildTypes\":[],\"libraryName\":\"RNDateTimePickerCGen\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/netinfo\":{\"root\":\"node_modules/@react-native-community/netinfo\",\"name\":\"@react-native-community/netinfo\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/@react-native-community/netinfo/android\",\"packageImportPath\":\"import com.reactnativecommunity.netinfo.NetInfoPackage;\",\"packageInstance\":\"new NetInfoPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCNetInfoSpec\",\"componentDescriptors\":[],\"cmakeListsPath\":\"node_modules/@react-native-community/netinfo/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/slider\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider\",\"name\":\"@react-native-community/slider\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider/android\",\"packageImportPath\":\"import com.reactnativecommunity.slider.ReactSliderPackage;\",\"packageInstance\":\"new ReactSliderPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCSlider\",\"componentDescriptors\":[\"RNCSliderComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-masked-view/masked-view\":{\"root\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view\",\"name\":\"@react-native-masked-view/masked-view\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view/android\",\"packageImportPath\":\"import org.reactnative.maskedview.RNCMaskedViewPackage;\",\"packageInstance\":\"new RNCMaskedViewPackage()\",\"buildTypes\":[],\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-picker/picker\":{\"root\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker\",\"name\":\"@react-native-picker/picker\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker/android\",\"packageImportPath\":\"import com.reactnativecommunity.picker.RNCPickerPackage;\",\"packageInstance\":\"new RNCPickerPackage()\",\"buildTypes\":[],\"libraryName\":\"rnpicker\",\"componentDescriptors\":[\"RNCAndroidDialogPickerComponentDescriptor\",\"RNCAndroidDropdownPickerComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@shopify/react-native-skia\":{\"root\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia\",\"name\":\"@shopify/react-native-skia\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia/android\",\"packageImportPath\":\"import com.reactnative.skia.RNSkiaPackage;\",\"packageInstance\":\"new RNSkiaPackage()\",\"buildTypes\":[],\"libraryName\":\"rnskia\",\"componentDescriptors\":[\"SkiaPictureViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"expo\":{\"root\":\"../../packages/expo\",\"name\":\"expo\",\"platforms\":{\"android\":{\"sourceDir\":\"../../packages/expo/android\",\"packageImportPath\":\"import expo.modules.ExpoModulesPackage;\",\"packageInstance\":\"new ExpoModulesPackage()\",\"buildTypes\":[],\"componentDescriptors\":[],\"cmakeListsPath\":\"../../packages/expo/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"lottie-react-native\":{\"root\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native\",\"name\":\"lottie-react-native\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native/android\",\"packageImportPath\":\"import com.airbnb.android.react.lottie.LottiePackage;\",\"packageInstance\":\"new LottiePackage()\",\"buildTypes\":[],\"libraryName\":\"lottiereactnative\",\"componentDescriptors\":[\"LottieAnimationViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-gesture-handler\":{\"root\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler\",\"name\":\"react-native-gesture-handler\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler/android\",\"packageImportPath\":\"import com.swmansion.gesturehandler.RNGestureHandlerPackage;\",\"packageInstance\":\"new RNGestureHandlerPackage()\",\"buildTypes\":[],\"libraryName\":\"rngesturehandler_codegen\",\"componentDescriptors\":[\"RNGestureHandlerDetectorComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler/android/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-keyboard-controller\":{\"root\":\"node_modules/react-native-keyboard-controller\",\"name\":\"react-native-keyboard-controller\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-keyboard-controller/android\",\"packageImportPath\":\"import com.reactnativekeyboardcontroller.KeyboardControllerPackage;\",\"packageInstance\":\"new KeyboardControllerPackage()\",\"buildTypes\":[],\"libraryName\":\"RNKC\",\"componentDescriptors\":[\"KeyboardControllerViewComponentDescriptor\",\"KeyboardGestureAreaComponentDescriptor\",\"OverKeyboardViewComponentDescriptor\",\"KeyboardBackgroundViewComponentDescriptor\",\"ClippingScrollViewDecoratorViewComponentDescriptor\",\"KeyboardToolbarGroupViewComponentDescriptor\"],\"cmakeListsPath\":\"node_modules/react-native-keyboard-controller/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-pager-view\":{\"root\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view\",\"name\":\"react-native-pager-view\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view/android\",\"packageImportPath\":\"import com.reactnativepagerview.PagerViewPackage;\",\"packageInstance\":\"new PagerViewPackage()\",\"buildTypes\":[],\"libraryName\":\"pagerview\",\"componentDescriptors\":[\"RNCViewPagerComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-reanimated\":{\"root\":\"node_modules/react-native-reanimated\",\"name\":\"react-native-reanimated\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-reanimated/android\",\"packageImportPath\":\"import com.swmansion.reanimated.ReanimatedPackage;\",\"packageInstance\":\"new ReanimatedPackage()\",\"buildTypes\":[],\"libraryName\":\"rnreanimated\",\"componentDescriptors\":[\"REASharedTransitionBoundaryComponentDescriptor\"],\"cmakeListsPath\":\"node_modules/react-native-reanimated/Common/NativeView/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-safe-area-context\":{\"root\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context\",\"name\":\"react-native-safe-area-context\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context/android\",\"packageImportPath\":\"import com.th3rdwave.safeareacontext.SafeAreaContextPackage;\",\"packageInstance\":\"new SafeAreaContextPackage()\",\"buildTypes\":[],\"libraryName\":\"safeareacontext\",\"componentDescriptors\":[\"RNCSafeAreaProviderComponentDescriptor\",\"RNCSafeAreaViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-screens\":{\"root\":\"../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens\",\"name\":\"react-native-screens\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens/android\",\"packageImportPath\":\"import com.swmansion.rnscreens.RNScreensPackage;\",\"packageInstance\":\"new RNScreensPackage()\",\"buildTypes\":[],\"libraryName\":\"rnscreens\",\"componentDescriptors\":[\"RNSFullWindowOverlayComponentDescriptor\",\"RNSScreenContainerComponentDescriptor\",\"RNSScreenNavigationContainerComponentDescriptor\",\"RNSScreenStackHeaderConfigComponentDescriptor\",\"RNSScreenStackHeaderSubviewComponentDescriptor\",\"RNSScreenStackComponentDescriptor\",\"RNSSearchBarComponentDescriptor\",\"RNSScreenComponentDescriptor\",\"RNSScreenFooterComponentDescriptor\",\"RNSScreenContentWrapperComponentDescriptor\",\"RNSModalScreenComponentDescriptor\",\"RNSTabsHostComponentDescriptor\",\"RNSSafeAreaViewComponentDescriptor\",\"RNSStackScreenComponentDescriptor\",\"RNSStackHeaderConfigComponentDescriptor\",\"RNSStackHeaderSubviewComponentDescriptor\",\"RNSFormSheetHostComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-svg\":{\"root\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg\",\"name\":\"react-native-svg\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg/android\",\"packageImportPath\":\"import com.horcrux.svg.SvgPackage;\",\"packageInstance\":\"new SvgPackage()\",\"buildTypes\":[],\"libraryName\":\"rnsvg\",\"componentDescriptors\":[\"RNSVGCircleComponentDescriptor\",\"RNSVGClipPathComponentDescriptor\",\"RNSVGDefsComponentDescriptor\",\"RNSVGFeBlendComponentDescriptor\",\"RNSVGFeColorMatrixComponentDescriptor\",\"RNSVGFeCompositeComponentDescriptor\",\"RNSVGFeFloodComponentDescriptor\",\"RNSVGFeGaussianBlurComponentDescriptor\",\"RNSVGFeMergeComponentDescriptor\",\"RNSVGFeOffsetComponentDescriptor\",\"RNSVGFilterComponentDescriptor\",\"RNSVGEllipseComponentDescriptor\",\"RNSVGForeignObjectComponentDescriptor\",\"RNSVGGroupComponentDescriptor\",\"RNSVGImageComponentDescriptor\",\"RNSVGLinearGradientComponentDescriptor\",\"RNSVGLineComponentDescriptor\",\"RNSVGMarkerComponentDescriptor\",\"RNSVGMaskComponentDescriptor\",\"RNSVGPathComponentDescriptor\",\"RNSVGPatternComponentDescriptor\",\"RNSVGRadialGradientComponentDescriptor\",\"RNSVGRectComponentDescriptor\",\"RNSVGSvgViewAndroidComponentDescriptor\",\"RNSVGSymbolComponentDescriptor\",\"RNSVGTextComponentDescriptor\",\"RNSVGTextPathComponentDescriptor\",\"RNSVGTSpanComponentDescriptor\",\"RNSVGUseComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-view-shot\":{\"root\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot\",\"name\":\"react-native-view-shot\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot/android\",\"packageImportPath\":\"import fr.greweb.reactnativeviewshot.RNViewShotPackage;\",\"packageInstance\":\"new RNViewShotPackage()\",\"buildTypes\":[],\"libraryName\":\"rnviewshot\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-webview\":{\"root\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview\",\"name\":\"react-native-webview\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview/android\",\"packageImportPath\":\"import com.reactnativecommunity.webview.RNCWebViewPackage;\",\"packageInstance\":\"new RNCWebViewPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCWebViewSpec\",\"componentDescriptors\":[\"RNCWebViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-worklets\":{\"root\":\"node_modules/react-native-worklets\",\"name\":\"react-native-worklets\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-worklets/android\",\"packageImportPath\":\"import com.swmansion.worklets.WorkletsPackage;\",\"packageInstance\":\"new WorkletsPackage()\",\"buildTypes\":[],\"libraryName\":\"rnworklets\",\"componentDescriptors\":[],\"cmakeListsPath\":\"node_modules/react-native-worklets/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}}}",
"reasons": [
"rncoreAutolinkingAndroid"
],
"hash": "9c21b665cf67d9fd9419585c3039f3236b901596"
},
"afterSource": {
"type": "contents",
"id": "rncoreAutolinkingConfig:android",
"contents": "{\"@react-native-async-storage/async-storage\":{\"root\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage\",\"name\":\"@react-native-async-storage/async-storage\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/android\",\"packageImportPath\":\"import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;\",\"packageInstance\":\"new AsyncStoragePackage()\",\"buildTypes\":[],\"libraryName\":\"rnasyncstorage\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/datetimepicker\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker\",\"name\":\"@react-native-community/datetimepicker\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/android\",\"packageImportPath\":\"import com.reactcommunity.rndatetimepicker.RNDateTimePickerPackage;\",\"packageInstance\":\"new RNDateTimePickerPackage()\",\"buildTypes\":[],\"libraryName\":\"RNDateTimePickerCGen\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/netinfo\":{\"root\":\"node_modules/@react-native-community/netinfo\",\"name\":\"@react-native-community/netinfo\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/@react-native-community/netinfo/android\",\"packageImportPath\":\"import com.reactnativecommunity.netinfo.NetInfoPackage;\",\"packageInstance\":\"new NetInfoPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCNetInfoSpec\",\"componentDescriptors\":[],\"cmakeListsPath\":\"node_modules/@react-native-community/netinfo/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-community/slider\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider\",\"name\":\"@react-native-community/slider\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider/android\",\"packageImportPath\":\"import com.reactnativecommunity.slider.ReactSliderPackage;\",\"packageInstance\":\"new ReactSliderPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCSlider\",\"componentDescriptors\":[\"RNCSliderComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-masked-view/masked-view\":{\"root\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view\",\"name\":\"@react-native-masked-view/masked-view\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view/android\",\"packageImportPath\":\"import org.reactnative.maskedview.RNCMaskedViewPackage;\",\"packageInstance\":\"new RNCMaskedViewPackage()\",\"buildTypes\":[],\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@react-native-picker/picker\":{\"root\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker\",\"name\":\"@react-native-picker/picker\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker/android\",\"packageImportPath\":\"import com.reactnativecommunity.picker.RNCPickerPackage;\",\"packageInstance\":\"new RNCPickerPackage()\",\"buildTypes\":[],\"libraryName\":\"rnpicker\",\"componentDescriptors\":[\"RNCAndroidDialogPickerComponentDescriptor\",\"RNCAndroidDropdownPickerComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"@shopify/react-native-skia\":{\"root\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia\",\"name\":\"@shopify/react-native-skia\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia/android\",\"packageImportPath\":\"import com.reactnative.skia.RNSkiaPackage;\",\"packageInstance\":\"new RNSkiaPackage()\",\"buildTypes\":[],\"libraryName\":\"rnskia\",\"componentDescriptors\":[\"SkiaPictureViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"expo\":{\"root\":\"../../packages/expo\",\"name\":\"expo\",\"platforms\":{\"android\":{\"sourceDir\":\"../../packages/expo/android\",\"packageImportPath\":\"import expo.modules.ExpoModulesPackage;\",\"packageInstance\":\"new ExpoModulesPackage()\",\"buildTypes\":[],\"componentDescriptors\":[],\"cmakeListsPath\":\"../../packages/expo/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"lottie-react-native\":{\"root\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native\",\"name\":\"lottie-react-native\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native/android\",\"packageImportPath\":\"import com.airbnb.android.react.lottie.LottiePackage;\",\"packageInstance\":\"new LottiePackage()\",\"buildTypes\":[],\"libraryName\":\"lottiereactnative\",\"componentDescriptors\":[\"LottieAnimationViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-gesture-handler\":{\"root\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler\",\"name\":\"react-native-gesture-handler\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler/android\",\"packageImportPath\":\"import com.swmansion.gesturehandler.RNGestureHandlerPackage;\",\"packageInstance\":\"new RNGestureHandlerPackage()\",\"buildTypes\":[],\"libraryName\":\"rngesturehandler_codegen\",\"componentDescriptors\":[\"RNGestureHandlerDetectorComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler/android/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-keyboard-controller\":{\"root\":\"node_modules/react-native-keyboard-controller\",\"name\":\"react-native-keyboard-controller\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-keyboard-controller/android\",\"packageImportPath\":\"import com.reactnativekeyboardcontroller.KeyboardControllerPackage;\",\"packageInstance\":\"new KeyboardControllerPackage()\",\"buildTypes\":[],\"libraryName\":\"RNKC\",\"componentDescriptors\":[\"KeyboardControllerViewComponentDescriptor\",\"KeyboardGestureAreaComponentDescriptor\",\"OverKeyboardViewComponentDescriptor\",\"KeyboardBackgroundViewComponentDescriptor\",\"ClippingScrollViewDecoratorViewComponentDescriptor\",\"KeyboardToolbarGroupViewComponentDescriptor\"],\"cmakeListsPath\":\"node_modules/react-native-keyboard-controller/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-pager-view\":{\"root\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view\",\"name\":\"react-native-pager-view\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view/android\",\"packageImportPath\":\"import com.reactnativepagerview.PagerViewPackage;\",\"packageInstance\":\"new PagerViewPackage()\",\"buildTypes\":[],\"libraryName\":\"pagerview\",\"componentDescriptors\":[\"RNCViewPagerComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-reanimated\":{\"root\":\"node_modules/react-native-reanimated\",\"name\":\"react-native-reanimated\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-reanimated/android\",\"packageImportPath\":\"import com.swmansion.reanimated.ReanimatedPackage;\",\"packageInstance\":\"new ReanimatedPackage()\",\"buildTypes\":[],\"libraryName\":\"rnreanimated\",\"componentDescriptors\":[\"REASharedTransitionBoundaryComponentDescriptor\"],\"cmakeListsPath\":\"node_modules/react-native-reanimated/Common/NativeView/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-safe-area-context\":{\"root\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context\",\"name\":\"react-native-safe-area-context\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context/android\",\"packageImportPath\":\"import com.th3rdwave.safeareacontext.SafeAreaContextPackage;\",\"packageInstance\":\"new SafeAreaContextPackage()\",\"buildTypes\":[],\"libraryName\":\"safeareacontext\",\"componentDescriptors\":[\"RNCSafeAreaProviderComponentDescriptor\",\"RNCSafeAreaViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-screens\":{\"root\":\"../../node_modules/.pnpm/react-native-screens@4.29.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_d28e573784037c8f3170bfa9298804d4/node_modules/react-native-screens\",\"name\":\"react-native-screens\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-screens@4.29.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_d28e573784037c8f3170bfa9298804d4/node_modules/react-native-screens/android\",\"packageImportPath\":\"import com.swmansion.rnscreens.RNScreensPackage;\",\"packageInstance\":\"new RNScreensPackage()\",\"buildTypes\":[],\"libraryName\":\"rnscreens\",\"componentDescriptors\":[\"RNSFullWindowOverlayComponentDescriptor\",\"RNSScreenContainerComponentDescriptor\",\"RNSScreenNavigationContainerComponentDescriptor\",\"RNSScreenStackHeaderConfigComponentDescriptor\",\"RNSScreenStackHeaderSubviewComponentDescriptor\",\"RNSScreenStackComponentDescriptor\",\"RNSSearchBarComponentDescriptor\",\"RNSScreenComponentDescriptor\",\"RNSScreenFooterComponentDescriptor\",\"RNSScreenContentWrapperComponentDescriptor\",\"RNSModalScreenComponentDescriptor\",\"RNSTabsHostComponentDescriptor\",\"RNSSafeAreaViewComponentDescriptor\",\"RNSStackScreenComponentDescriptor\",\"RNSStackHeaderConfigComponentDescriptor\",\"RNSStackHeaderSubviewComponentDescriptor\",\"RNSFormSheetHostComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-screens@4.29.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_d28e573784037c8f3170bfa9298804d4/node_modules/react-native-screens/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-svg\":{\"root\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg\",\"name\":\"react-native-svg\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg/android\",\"packageImportPath\":\"import com.horcrux.svg.SvgPackage;\",\"packageInstance\":\"new SvgPackage()\",\"buildTypes\":[],\"libraryName\":\"rnsvg\",\"componentDescriptors\":[\"RNSVGCircleComponentDescriptor\",\"RNSVGClipPathComponentDescriptor\",\"RNSVGDefsComponentDescriptor\",\"RNSVGFeBlendComponentDescriptor\",\"RNSVGFeColorMatrixComponentDescriptor\",\"RNSVGFeCompositeComponentDescriptor\",\"RNSVGFeFloodComponentDescriptor\",\"RNSVGFeGaussianBlurComponentDescriptor\",\"RNSVGFeMergeComponentDescriptor\",\"RNSVGFeOffsetComponentDescriptor\",\"RNSVGFilterComponentDescriptor\",\"RNSVGEllipseComponentDescriptor\",\"RNSVGForeignObjectComponentDescriptor\",\"RNSVGGroupComponentDescriptor\",\"RNSVGImageComponentDescriptor\",\"RNSVGLinearGradientComponentDescriptor\",\"RNSVGLineComponentDescriptor\",\"RNSVGMarkerComponentDescriptor\",\"RNSVGMaskComponentDescriptor\",\"RNSVGPathComponentDescriptor\",\"RNSVGPatternComponentDescriptor\",\"RNSVGRadialGradientComponentDescriptor\",\"RNSVGRectComponentDescriptor\",\"RNSVGSvgViewAndroidComponentDescriptor\",\"RNSVGSymbolComponentDescriptor\",\"RNSVGTextComponentDescriptor\",\"RNSVGTextPathComponentDescriptor\",\"RNSVGTSpanComponentDescriptor\",\"RNSVGUseComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg/android/src/main/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-view-shot\":{\"root\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot\",\"name\":\"react-native-view-shot\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot/android\",\"packageImportPath\":\"import fr.greweb.reactnativeviewshot.RNViewShotPackage;\",\"packageInstance\":\"new RNViewShotPackage()\",\"buildTypes\":[],\"libraryName\":\"rnviewshot\",\"componentDescriptors\":[],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-webview\":{\"root\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview\",\"name\":\"react-native-webview\",\"platforms\":{\"android\":{\"sourceDir\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview/android\",\"packageImportPath\":\"import com.reactnativecommunity.webview.RNCWebViewPackage;\",\"packageInstance\":\"new RNCWebViewPackage()\",\"buildTypes\":[],\"libraryName\":\"RNCWebViewSpec\",\"componentDescriptors\":[\"RNCWebViewComponentDescriptor\"],\"cmakeListsPath\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}},\"react-native-worklets\":{\"root\":\"node_modules/react-native-worklets\",\"name\":\"react-native-worklets\",\"platforms\":{\"android\":{\"sourceDir\":\"node_modules/react-native-worklets/android\",\"packageImportPath\":\"import com.swmansion.worklets.WorkletsPackage;\",\"packageInstance\":\"new WorkletsPackage()\",\"buildTypes\":[],\"libraryName\":\"rnworklets\",\"componentDescriptors\":[],\"cmakeListsPath\":\"node_modules/react-native-worklets/android/build/generated/source/codegen/jni/CMakeLists.txt\",\"cxxModuleCMakeListsModuleName\":null,\"cxxModuleCMakeListsPath\":null,\"cxxModuleHeaderName\":null,\"isPureCxxDependency\":false}}}}",
"reasons": [
"rncoreAutolinkingAndroid"
],
"hash": "5d5b4fe4285b9c1530dfd33c3f3b38d26702b4cf"
}
},
{
"op": "changed",
"beforeSource": {
"type": "contents",
"id": "rncoreAutolinkingConfig:ios",
"contents": "{\"@react-native-async-storage/async-storage\":{\"root\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage\",\"name\":\"@react-native-async-storage/async-storage\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/RNCAsyncStorage.podspec\",\"version\":\"2.2.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/datetimepicker\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker\",\"name\":\"@react-native-community/datetimepicker\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/RNDateTimePicker.podspec\",\"version\":\"9.2.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/netinfo\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+netinfo@12.0.1_patch_hash=ced0cb79848978ecc3e780a4d812d94868434_bb9081aa2068a797e91e5739c4859221/node_modules/@react-native-community/netinfo\",\"name\":\"@react-native-community/netinfo\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-community+netinfo@12.0.1_patch_hash=ced0cb79848978ecc3e780a4d812d94868434_bb9081aa2068a797e91e5739c4859221/node_modules/@react-native-community/netinfo/react-native-netinfo.podspec\",\"version\":\"12.0.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/slider\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider\",\"name\":\"@react-native-community/slider\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/slider/react-native-slider.podspec\",\"version\":\"5.2.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-masked-view/masked-view\":{\"root\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view\",\"name\":\"@react-native-masked-view/masked-view\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.88.0-rc.4_@babel+core@7.29.7_a7c1297d1db0a24d533d5e16cafe2e11/node_modules/@react-native-masked-view/masked-view/RNCMaskedView.podspec\",\"version\":\"0.3.2\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-picker/picker\":{\"root\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker\",\"name\":\"@react-native-picker/picker\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-picker+picker@2.11.4_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_63024001d12e6aa92a5420b30e9ff5cc/node_modules/@react-native-picker/picker/RNCPicker.podspec\",\"version\":\"2.11.4\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-segmented-control/segmented-control\":{\"root\":\"../../node_modules/.pnpm/@react-native-segmented-control+segmented-control@2.5.7_react-native@0.88.0-rc.4_@babel_d12750a1c529898a0059c7d3f6fa4dc4/node_modules/@react-native-segmented-control/segmented-control\",\"name\":\"@react-native-segmented-control/segmented-control\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-segmented-control+segmented-control@2.5.7_react-native@0.88.0-rc.4_@babel_d12750a1c529898a0059c7d3f6fa4dc4/node_modules/@react-native-segmented-control/segmented-control/react-native-segmented-control.podspec\",\"version\":\"2.5.7\",\"configurations\":[],\"scriptPhases\":[]}}},\"@shopify/react-native-skia\":{\"root\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia\",\"name\":\"@shopify/react-native-skia\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@shopify+react-native-skia@2.14.0_def8ed90ee55be494184c043782d7d87/node_modules/@shopify/react-native-skia/react-native-skia.podspec\",\"version\":\"2.14.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"expo\":{\"root\":\"../../packages/expo\",\"name\":\"expo\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../packages/expo/Expo.podspec\",\"version\":\"58.0.9\",\"configurations\":[],\"scriptPhases\":[]}}},\"lottie-react-native\":{\"root\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native\",\"name\":\"lottie-react-native\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/lottie-react-native@7.5.0_@lottiefiles+dotlottie-react@0.13.5_react@19.3.0__react-nativ_2b9c59844abcf14282b0392e135e26b7/node_modules/lottie-react-native/lottie-react-native.podspec\",\"version\":\"7.5.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-gesture-handler\":{\"root\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler\",\"name\":\"react-native-gesture-handler\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-gesture-handler@3.3.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-n_12cfda0334e1970c45e3e113afe6e5c0/node_modules/react-native-gesture-handler/RNGestureHandler.podspec\",\"version\":\"3.3.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-keyboard-controller\":{\"root\":\"../../node_modules/.pnpm/react-native-keyboard-controller@1.22.7_react-native-reanimated@4.7.1_patch_hash=0f735c_7dd5f8722dc888c7cfb55913d7624d01/node_modules/react-native-keyboard-controller\",\"name\":\"react-native-keyboard-controller\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-keyboard-controller@1.22.7_react-native-reanimated@4.7.1_patch_hash=0f735c_7dd5f8722dc888c7cfb55913d7624d01/node_modules/react-native-keyboard-controller/react-native-keyboard-controller.podspec\",\"version\":\"1.22.7\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-pager-view\":{\"root\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view\",\"name\":\"react-native-pager-view\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-pager-view@9.0.7_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native_8857fe407b0e8c95948a9ea32e60d48f/node_modules/react-native-pager-view/react-native-pager-view.podspec\",\"version\":\"9.0.7\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-reanimated\":{\"root\":\"../../node_modules/.pnpm/react-native-reanimated@4.7.1_patch_hash=0f735c4b33f9af576a7af1a9cffcea5220cbbc671ec2f1_59e85c38406b27a022d8d1249cdcb025/node_modules/react-native-reanimated\",\"name\":\"react-native-reanimated\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-reanimated@4.7.1_patch_hash=0f735c4b33f9af576a7af1a9cffcea5220cbbc671ec2f1_59e85c38406b27a022d8d1249cdcb025/node_modules/react-native-reanimated/RNReanimated.podspec\",\"version\":\"4.7.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-safe-area-context\":{\"root\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context\",\"name\":\"react-native-safe-area-context\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-safe-area-context@5.10.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@reac_c9a257cbd87c8e02c20bf97ffac6ac4f/node_modules/react-native-safe-area-context/react-native-safe-area-context.podspec\",\"version\":\"5.10.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-screens\":{\"root\":\"../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens\",\"name\":\"react-native-screens\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-screens@4.30.0_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_79b3809736aef0ac91d80841eed30c7c/node_modules/react-native-screens/RNScreens.podspec\",\"version\":\"4.30.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-svg\":{\"root\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg\",\"name\":\"react-native-svg\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-svg@15.15.5_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+metr_03486c5439a75ec8c53a515a6fbeb326/node_modules/react-native-svg/RNSVG.podspec\",\"version\":\"15.15.5\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-view-shot\":{\"root\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot\",\"name\":\"react-native-view-shot\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-view-shot@6.1.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+_dd022a33ed6843d5518ad593bfe30d1a/node_modules/react-native-view-shot/react-native-view-shot.podspec\",\"version\":\"6.1.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-webview\":{\"root\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview\",\"name\":\"react-native-webview\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-webview@14.0.1_react-native@0.88.0-rc.4_@babel+core@7.29.7_@react-native+m_263ad3452028c9db0918395d96401eab/node_modules/react-native-webview/react-native-webview.podspec\",\"version\":\"14.0.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"react-native-worklets\":{\"root\":\"../../node_modules/.pnpm/react-native-worklets@0.13.0_patch_hash=0e7ca08ddb565252ea4479e4bb493c5c09756297ba0ec88_f876db482c9d78acb3b2b811a6594b49/node_modules/react-native-worklets\",\"name\":\"react-native-worklets\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/react-native-worklets@0.13.0_patch_hash=0e7ca08ddb565252ea4479e4bb493c5c09756297ba0ec88_f876db482c9d78acb3b2b811a6594b49/node_modules/react-native-worklets/RNWorklets.podspec\",\"version\":\"0.13.0\",\"configurations\":[],\"scriptPhases\":[]}}}}",
"reasons": [
"rncoreAutolinkingIos"
],
"hash": "0e554f50df521a68be981d719bf2634519e4cea6"
},
"afterSource": {
"type": "contents",
"id": "rncoreAutolinkingConfig:ios",
"contents": "{\"@react-native-async-storage/async-storage\":{\"root\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage\",\"name\":\"@react-native-async-storage/async-storage\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-async-storage+async-storage@2.2.0_react-native@0.88.0-rc.4_@babel+core@7._80ad6704838602b349fd6f15057c59df/node_modules/@react-native-async-storage/async-storage/RNCAsyncStorage.podspec\",\"version\":\"2.2.0\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/datetimepicker\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker\",\"name\":\"@react-native-community/datetimepicker\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-community+datetimepicker@9.2.1_expo@packages+expo_react-native@0.88.0-rc._62f7f8b4080f1afceb6d764fcb67aa38/node_modules/@react-native-community/datetimepicker/RNDateTimePicker.podspec\",\"version\":\"9.2.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/netinfo\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+netinfo@12.0.1_patch_hash=ced0cb79848978ecc3e780a4d812d94868434_bb9081aa2068a797e91e5739c4859221/node_modules/@react-native-community/netinfo\",\"name\":\"@react-native-community/netinfo\",\"platforms\":{\"ios\":{\"podspecPath\":\"../../node_modules/.pnpm/@react-native-community+netinfo@12.0.1_patch_hash=ced0cb79848978ecc3e780a4d812d94868434_bb9081aa2068a797e91e5739c4859221/node_modules/@react-native-community/netinfo/react-native-netinfo.podspec\",\"version\":\"12.0.1\",\"configurations\":[],\"scriptPhases\":[]}}},\"@react-native-community/slider\":{\"root\":\"../../node_modules/.pnpm/@react-native-community+slider@5.2.1/node_modules/@react-native-community/s
...Generated by PR labeler 🤖 |
|
Subscribed to pull request
Generated by CodeMention |
tsapeta
left a comment
There was a problem hiding this comment.
Suggested verdict: 💬 COMMENT
🤖 This review was generated by AI and checked by @tsapeta. Addressing it doesn't guarantee a merge.
The direction is right: the id is assigned outside the reducer (in enqueue and handleAction), so StrictMode and transition re-renders cannot change it, and the id is carried through NAVIGATE_TO_HREF, COMPUTED_ACTION, deferred replays (RESUME reuses the same operation object), and browser restores.
The main concern is in the expo-observe pruning. It deletes every id lower than the dispatched one, so an urgent dispatchSync that commits before a pending queued action deletes that action's enqueue time. The pending cases are a transition or a navigation that waits for a lazy layout, which are the slow navigations this PR wants to measure. Details inline.
Smaller points:
- Enqueues that never dispatch (no-op navigation, unhandled action, prevented removal, invalid href,
computereturningundefined, deferred operations dropped by a browser change) stay inenqueueTimesuntil a later action dispatches. The size is bounded in practice, but nothing caps it. The inline fix also covers this. RouterPerformanceMarkgets a new union member. Consumers with an exhaustiveswitchonentry.nameget a type error. The API is experimental, so this is acceptable, but the changeset could say it.
e3aac43 to
3c4c5ec
Compare
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## expo-modules-cli@0.3.0 ### Minor Changes - Scan with the `expo-modules-macros` version that `expo-modules-core` depends on, found through the `expo` package of the scanned package, instead of a copy of its own. `expo` is now a peer dependency. The CLI reads the `scan-exports` schema of `expo-modules-macros` 0.20.0, and declares enums, records, and unions nested in other types under their own names. ([#51548](#51548) by [@tsapeta](https://github.com/tsapeta)) ## @expo/cli@58.1.8 ### Patch Changes - Update minimum required Expo Atlas version to `0.5.0` ([#51546](#51546) by [@byCedric](https://github.com/byCedric)) - Notify about changes to `metro.config.{cjs,mjs,ts,cts,mts}` and `.config/metro.*`, not just `metro.config.js` and `metro.config.json`. ([#50406](#50406) by [@AlexErrant](https://github.com/AlexErrant)) - Update to `@expo/metro@~58.0.0` (promoted to stable for SDK 58). ([#51549](#51549) by [@kitten](https://github.com/kitten)) - [iOS] Added a preview `experiments.swiftPackageManager` app config setting; when enabled, `expo prebuild` sets up iOS with Swift Package Manager instead of CocoaPods, and `expo run:ios` no longer runs `pod install`. ([#51023](#51023) by [@chrfalch](https://github.com/chrfalch)) - Improve error and log coverage in event logs and fix bundle progress, completion, and server lifecycle reporting. ([#51347](#51347) by [@kitten](https://github.com/kitten)) - Bump to `2g@1.0.0` and provide process metadata, such as `port` for commands like `expo start`. ([#51338](#51338) by [@kitten](https://github.com/kitten)) - Update to `2g@^1.0.1` ([#51517](#51517) by [@kitten](https://github.com/kitten)) - Add `expo command:events` and `expo command:ps` sub-commands and updated related help texts to reference these commands. ([#51344](#51344) by [@kitten](https://github.com/kitten)) - Updated dependencies. ([#51549](#51549), [#51536](#51536), [#51526](#51526), [#51338](#51338), [#51517](#51517), [#51535](#51535)) - @expo/metro-config@58.0.13 - @expo/metro-file-map@58.0.5 - @expo/require-utils@58.0.4 - @expo/prebuild-config@58.0.13 - @expo/config@58.0.6 - @expo/config-plugins@58.0.9 - @expo/image-utils@0.12.5 - @expo/inline-modules@0.2.6 - @expo/router-server@58.0.13 ## @expo/config@58.0.6 ### Patch Changes - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 - @expo/config-plugins@58.0.9 ## @expo/config-plugins@58.0.9 ### Patch Changes - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 ## @expo/image-utils@0.12.5 ### Patch Changes - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 ## @expo/inline-modules@0.2.6 ### Patch Changes - Updated dependencies. - @expo/config-plugins@58.0.9 ## @expo/local-build-cache-provider@58.0.6 ### Patch Changes - Updated dependencies. - @expo/config@58.0.6 ## @expo/metro-config@58.0.13 ### Patch Changes - Update to `@expo/metro@~58.0.0` (promoted to stable for SDK 58). ([#51549](#51549) by [@kitten](https://github.com/kitten)) - Fix edge-cases in root dependency resolution for `expo-router`, `react-native/setup-env`, and `expo/build/winter` runtime resolution. ([#51536](#51536) by [@kitten](https://github.com/kitten)) - Refactor package version cache key resolution and resolve `react-native-worklets` version optionally through `react-native-reanimated`. ([#51526](#51526) by [@kitten](https://github.com/kitten)) - Bump to `2g@1.0.0` and provide process metadata, such as `port` for commands like `expo start`. ([#51338](#51338) by [@kitten](https://github.com/kitten)) - Update to `2g@^1.0.1` ([#51517](#51517) by [@kitten](https://github.com/kitten)) - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 - @expo/config@58.0.6 ## @expo/metro-file-map@58.0.5 ### Patch Changes - Bump to `2g@1.0.0` and provide process metadata, such as `port` for commands like `expo start`. ([#51338](#51338) by [@kitten](https://github.com/kitten)) - Update to `2g@^1.0.1` ([#51517](#51517) by [@kitten](https://github.com/kitten)) ## @expo/prebuild-config@58.0.13 ### Patch Changes - Updated dependencies. ([#51477](#51477)) - expo-modules-autolinking@58.0.13 - @expo/config@58.0.6 - @expo/config-plugins@58.0.9 - @expo/image-utils@0.12.5 ## @expo/require-utils@58.0.4 ### Patch Changes - Fix missing `followSymlinks` case for direct-file Node candidate resolution, which would previously ignore a `followSymlinks: true` option. ([#51535](#51535) by [@kitten](https://github.com/kitten)) ## babel-preset-expo@58.0.14 ### Patch Changes - Update to `@expo/metro@~58.0.0` (promoted to stable for SDK 58). ([#51549](#51549) by [@kitten](https://github.com/kitten)) ## create-expo@5.1.5 ### Patch Changes - [iOS] Added a preview `--swiftpm` flag that enables `experiments.swiftPackageManager` in app.json and sets up iOS with Swift Package Manager instead of CocoaPods. ([#51038](#51038) by [@chrfalch](https://github.com/chrfalch)) ## create-expo-module@58.0.3 ### Patch Changes - Fixed the example app bundling a second copy of `react-native` and `expo` from the module's dependencies, which crashed it with `TypeError: property is not writable` when the module was created with pnpm. The example app now enables `experiments.autolinkingModuleResolution`. ([#51267](#51267) by [@behenate](https://github.com/behenate)) - Fix creating a standalone module with pnpm 11 and later failing with `ERR_PNPM_IGNORED_BUILDS`. When pnpm 11 or later is used and the module isn't a project of an existing pnpm workspace, the module and its example app now get their own `pnpm-workspace.yaml`, which skips the unneeded install scripts of Jest's dependencies. Inside an existing pnpm workspace that doesn't allow these scripts, `create-expo-module` now explains how to allow them. The example app's dependencies are now installed once, after the template files are in place. ([#51249](#51249) by [@behenate](https://github.com/behenate)) ## expo@58.0.10 ### Patch Changes - Upgrade `react-native-screens` to 4.30.0. ([#51489](#51489) by [@Ubax](https://github.com/Ubax)) - Update to `@expo/metro@~58.0.0` (promoted to stable for SDK 58). ([#51549](#51549) by [@kitten](https://github.com/kitten)) - Add missing `expo/build/winter` exports entry. ([#51536](#51536) by [@kitten](https://github.com/kitten)) - Updated dependencies. ([#51477](#51477), [#51481](#51481), [#51548](#51548), [#51546](#51546), [#50406](#50406), [#51553](#51553), [#51549](#51549), [#51536](#51536), [#51526](#51526), [#51023](#51023), [#51347](#51347), [#51338](#51338), [#51517](#51517), [#51344](#51344)) - expo-modules-autolinking@58.0.13 - expo-modules-core@58.0.18 - @expo/cli@58.1.8 - @expo/metro-config@58.0.13 - babel-preset-expo@58.0.14 - @expo/config@58.0.6 - @expo/config-plugins@58.0.9 - expo-constants@58.0.12 - @expo/local-build-cache-provider@58.0.6 - expo-asset@58.0.15 ## expo-app-intents@0.5.6 ### Patch Changes - Updated dependencies. ([#51480](#51480), [#51426](#51426)) - @expo/ui@58.0.17 ## expo-app-metrics@58.0.12 ### Patch Changes - [Android] Fix startup metrics recorded after the first save (for example TTI after an update download) never being persisted. ([#51538](#51538) by [@Ubax](https://github.com/Ubax)) ## expo-asset@58.0.15 ### Patch Changes - Updated dependencies. - @expo/image-utils@0.12.5 - expo-constants@58.0.12 ## expo-auth-session@58.0.12 ### Patch Changes - Updated dependencies. - expo-constants@58.0.12 - expo-linking@58.0.13 ## expo-constants@58.0.12 ### Patch Changes - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 ## expo-linking@58.0.13 ### Patch Changes - Updated dependencies. - expo-constants@58.0.12 ## expo-location@58.0.16 ### Patch Changes - [Android] Don't crash when the foreground service of a location task can't be started, for example when the location permission was revoked while the task stayed registered. The task now keeps running without the service instead of crashing the app on every launch. ([#51216](#51216) by [@krisoft20](https://github.com/krisoft20)) - [Android] Add the TypeScript interface for the location foreground service: `ensureBackgroundSessionStarted`, `stopBackgroundSession` and `getBackgroundSessionStatus`. Add `getNotificationPermissions`, `requestNotificationPermissions` and the `useNotificationPermissions` hook for the service's notification. Add `LocationUpdatesHandle.status()`, and the `canDeliverUpdates` and `areUpdatesAllowed` fields on `PositionWatchStatus`. ([#51320](#51320) by [@HubertBer](https://github.com/HubertBer)) - Updated dependencies. - @expo/image-utils@0.12.5 ## expo-module-template@58.0.7 ### Patch Changes - [Android] Fix the Jetpack Compose view and modifier examples failing to compile with SDK 58: pass the converter context to `recordFromMap` and add the `react-android` dependency required by `ModifierList`. ([#51248](#51248) by [@behenate](https://github.com/behenate)) - Fixed the example app bundling a second copy of `react-native` and `expo` from the module's dependencies, which crashed it with `TypeError: property is not writable` when the module was created with pnpm. The example app now enables `experiments.autolinkingModuleResolution`. ([#51267](#51267) by [@behenate](https://github.com/behenate)) - Fix creating a standalone module with pnpm 11 and later failing with `ERR_PNPM_IGNORED_BUILDS`. When pnpm 11 or later is used and the module isn't a project of an existing pnpm workspace, the module and its example app now get their own `pnpm-workspace.yaml`, which skips the unneeded install scripts of Jest's dependencies. Inside an existing pnpm workspace that doesn't allow these scripts, `create-expo-module` now explains how to allow them. The example app's dependencies are now installed once, after the template files are in place. ([#51249](#51249) by [@behenate](https://github.com/behenate)) - Fix the `build` and `test` scripts exiting successfully when TypeScript or Jest can't be started. The scripts now print why the tool couldn't start and how to fix it. ([#51252](#51252) by [@behenate](https://github.com/behenate)) - Update the template's development dependencies to match SDK 58: `babel-preset-expo`, `jest-expo`, `@expo/ui`, `react-native`, `@types/react`, `jest`, `@types/jest`, `typescript` and `eslint-config-universe`. Add `react` and `@react-native/jest-preset`, which are required peer dependencies of `react-native` and `jest-expo`. ([#51250](#51250) by [@behenate](https://github.com/behenate)) - [Android] Bump Jetpack Compose UI and Foundation to 1.12.1 and Material3 to 1.5.0-beta01. Add `preferredItemWidth` to `HorizontalCenteredHeroCarousel` and deprecate `maxItemWidth`, matching the Material3 rename. Add `TimePickerElementColors` props without the `Unselected` infix (for example `clockDialContentColor`) and deprecate the old names. ([#51426](#51426) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway)) ## expo-modules-autolinking@58.0.13 ### Patch Changes - Fix autolinking choosing a different copy of a duplicated native module between runs when it is reachable at more than one dependency depth, which also made the `@expo/fingerprint` hash unstable. A resolved module no longer lists its own path among its duplicates. ([#51477](#51477) by [@jszumski](https://github.com/jszumski)) - Updated dependencies. ([#51535](#51535)) - @expo/require-utils@58.0.4 ## expo-modules-core@58.0.18 ### Patch Changes - [iOS] Fix slow cold launches in brownfield apps where the `ExpoModulesProvider` lookup scanned `Bundle.allFrameworks` inside `+load`. The lookup now tries the framework that contains ExpoModulesCore before falling back to the scan. ([#51481](#51481) by [@expo-bot](https://github.com/expo-bot)) - [iOS] Update `expo-modules-macros` to 0.20.0, which binds `@JS` functions and setters that return nothing through the `Void` overload, so they no longer build an `undefined` value on each call. ([#51548](#51548) by [@tsapeta](https://github.com/tsapeta)) - [iOS] Reduced the overhead of emitting module events. ([#51553](#51553) by [@tsapeta](https://github.com/tsapeta)) - Updated dependencies. ([#51496](#51496), [#51499](#51499), [#51498](#51498), [#51371](#51371)) - expo-modules-jsi@58.0.13 ## expo-modules-jsi@58.0.13 ### Patch Changes - [iOS] Encode Swift arrays to JS arrays about 35% faster, and Swift sets to JS sets about 25% faster. ([#51496](#51496) by [@tsapeta](https://github.com/tsapeta)) - [iOS] Make `JavaScriptUnownedValue` `@frozen`, so modules that decode `@JS` function arguments know its layout and no longer ask its type metadata for it. Host functions with arguments are faster, by about 8 to 12% with eight arguments. This changes the ABI of `ExpoModulesJSI`. ([#51499](#51499) by [@tsapeta](https://github.com/tsapeta)) - [iOS] Add `createFunction` and `setProperty(_:function:)` overloads taking a `VoidFunctionClosure`, for host functions that return nothing to JavaScript. They make such calls faster because they skip creating and writing the result value. ([#51498](#51498) by [@tsapeta](https://github.com/tsapeta)) - [iOS] Fix the `ExpoModulesJSI` xcframework slice staying built against another Xcode's SDK. The slice cache now includes the Xcode build, so switching between Xcode releases that share a Swift compiler (such as Xcode 27.0 and 27.1) rebuilds it, and the rebuild uses the app build's `DEVELOPER_DIR` and `TOOLCHAINS` instead of the Xcode selected with `xcode-select` and the default toolchain. ([#51371](#51371) by [@mwolson](https://github.com/mwolson)) ## expo-notifications@58.1.4 ### Patch Changes - Updated dependencies. - @expo/image-utils@0.12.5 - expo-constants@58.0.12 ## expo-observe@58.0.14 ### Patch Changes - Adjust router integration to use `unstable_PerformanceObserver` instead of `unstable_navigationEvents` ([#51068](#51068) by [@Ubax](https://github.com/Ubax)) - Measure Expo Router navigation TTR and TTI from when the navigation action is queued. ([#51485](#51485) by [@Ubax](https://github.com/Ubax)) - Updated dependencies. ([#51538](#51538)) - expo-app-metrics@58.0.12 ## expo-router@58.0.19 ### Patch Changes - Upgrade `react-native-screens` to 4.30.0. ([#51489](#51489) by [@Ubax](https://github.com/Ubax)) - Add the `expo-router:action-enqueued` performance mark, recorded when a navigation action is queued. ([#51485](#51485) by [@Ubax](https://github.com/Ubax)) - Fixed the first push to a screen being reported as `pagePreloaded`. ([#51446](#51446) by [@Ubax](https://github.com/Ubax)) - [Internal] Return platform-tagged icons from the NativeTabs icon converter so tab icons type-check with `react-native-screens` 4.30.0. ([#51508](#51508) by [@Ubax](https://github.com/Ubax)) - Replace the experimental `unstable_navigationEvents` API with `unstable_performance` and `unstable_PerformanceObserver`. ([#51068](#51068) by [@Ubax](https://github.com/Ubax)) - Added a development warning when `navigation.isFocused()` is called during render. ([#51464](#51464) by [@Ubax](https://github.com/Ubax)) ## expo-sharing@58.0.18 ### Patch Changes - Updated dependencies. - @expo/config-plugins@58.0.9 ## expo-splash-screen@58.0.9 ### Patch Changes - Updated dependencies. - @expo/config-plugins@58.0.9 - @expo/image-utils@0.12.5 ## expo-sqlite@58.0.13 ### Patch Changes - Fixed `getFirstSync()` and sync `for...of` so they mark the cursor as moved. A later `getFirstSync()` or `getAllSync()` throws until `resetSync()`, matching the async APIs. ([#47989](#47989) by [@tsushanth](https://github.com/tsushanth)) ## @expo/ui@58.0.17 ### Patch Changes - [Android] Fix the universal `ListItem` ignoring `testID`. The prop was never passed to Compose, so end-to-end tools such as Maestro could not find list rows on Android. It is now applied as the `testID` modifier, like the universal `Button` and `Checkbox` do. ([#51480](#51480) by [@devonik](https://github.com/devonik)) - [Android] Bump Jetpack Compose UI and Foundation to 1.12.1 and Material3 to 1.5.0-beta01. Add `preferredItemWidth` to `HorizontalCenteredHeroCarousel` and deprecate `maxItemWidth`, matching the Material3 rename. Add `TimePickerElementColors` props without the `Unselected` infix (for example `clockDialContentColor`) and deprecate the old names. ([#51426](#51426) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway)) ## expo-widgets@58.0.17 ### Patch Changes - [Android] Add custom notifications. ([#51461](#51461) by [@jakex7](https://github.com/jakex7)) - [iOS] Rebuild the widgets JS bundle on every Xcode build so JS changes are picked up without a clean build. ([#50200](#50200) by [@jakex7](https://github.com/jakex7)) - Updated dependencies. ([#51480](#51480), [#51426](#51426)) - @expo/ui@58.0.17 ## jest-expo@58.0.10 ### Patch Changes - Accept `jest@^29` again as a peer dependency. ([#51462](#51462) by [@hassankhan](https://github.com/hassankhan)) ## patch-project@58.0.15 ### Patch Changes - Updated dependencies. - @expo/config@58.0.6 - @expo/config-plugins@58.0.9 ## expo-template-bare-minimum@58.0.19 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 ## expo-template-blank@58.0.19 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 ## expo-template-blank-typescript@58.0.19 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 ## expo-template-default@58.0.19 ### Patch Changes - Upgrade `react-native-screens` to 4.30.0. ([#51489](#51489) by [@Ubax](https://github.com/Ubax)) - Update `react-native-reanimated` to 4.7.1, `react-native-safe-area-context` to ~5.10.1, and `react-native-gesture-handler` to ~3.3.0 to match `bundledNativeModules.json`. ([#51488](#51488) by [@Kudo](https://github.com/Kudo)) - Updated dependencies. ([#51480](#51480), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464), [#51426](#51426)) - @expo/ui@58.0.17 - expo@58.0.10 - expo-router@58.0.19 - expo-constants@58.0.12 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 ## expo-template-tabs@58.0.19 ### Patch Changes - Upgrade `react-native-screens` to 4.30.0. ([#51489](#51489) by [@Ubax](https://github.com/Ubax)) - Update `react-native-reanimated` to 4.7.1, `react-native-safe-area-context` to ~5.10.1, and `react-native-gesture-handler` to ~3.3.0 to match `bundledNativeModules.json`. ([#51488](#51488) by [@Kudo](https://github.com/Kudo)) - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464)) - expo@58.0.10 - expo-router@58.0.19 - expo-constants@58.0.12 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 ## @expo/router-server@58.0.13 No changes in this release. ## bare-expo@0.0.5 ### Patch Changes - Updated dependencies. ([#51406](#51406), [#51480](#51480), [#51538](#51538), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51216](#51216), [#51068](#51068), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51464](#51464), [#51320](#51320), [#51426](#51426)) - expo-ai@0.1.1 - @expo/ui@58.0.17 - expo-app-metrics@58.0.12 - expo@58.0.10 - expo-router@58.0.19 - expo-location@58.0.16 - expo-observe@58.0.14 - native-component-list@0.0.4 - test-suite@1.0.4 - expo-app-intents@0.5.6 - expo-image@58.0.14 - expo-brownfield@58.0.13 - expo-updates@58.0.16 - expo-dev-menu@58.0.11 - expo-video@58.0.10 - @expo/dom-webview@58.0.2 - expo-audio@58.0.9 - expo-background-fetch@58.0.10 - expo-build-properties@58.0.10 - expo-camera@58.0.10 - expo-dev-client@58.0.13 - expo-font@58.0.8 - expo-insights@58.0.11 - expo-linking@58.0.13 - expo-media-library@58.0.8 - expo-navigation-bar@58.0.4 - expo-network-addons@58.0.2 - expo-notifications@58.1.4 - expo-secure-store@58.0.2 - expo-splash-screen@58.0.9 - expo-status-bar@58.0.3 - expo-tracking-transparency@58.0.2 - expo-web-browser@58.0.6 ## expo-brownfield-tester@0.0.5 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 ## expo-app@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464)) - expo@58.0.10 - expo-router@58.0.19 - expo-image@58.0.14 - expo-brownfield@58.0.13 - expo-dev-menu@58.0.11 - expo-constants@58.0.12 - expo-device@58.0.5 - expo-font@58.0.8 - expo-glass-effect@58.0.3 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 - expo-status-bar@58.0.3 - expo-symbols@58.0.4 - expo-system-ui@58.0.5 - expo-web-browser@58.0.6 ## expo-apps-common@0.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464)) - expo-router@58.0.19 ## eas-expo-go@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 ## @expo/home@0.0.5 ### Patch Changes - Updated dependencies. ([#51480](#51480), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51216](#51216), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464), [#47989](#47989), [#51320](#51320), [#51426](#51426)) - @expo/ui@58.0.17 - expo@58.0.10 - expo-router@58.0.19 - expo-location@58.0.16 - expo-sqlite@58.0.13 - expo-application@58.1.1 - expo-crypto@58.0.6 - expo-haptics@58.0.6 - expo-updates@58.0.16 - expo-dev-menu@58.0.11 - expo-video@58.0.10 - expo-constants@58.0.12 - expo-age-range@58.0.2 - expo-apple-authentication@58.0.2 - expo-asset@58.0.15 - expo-audio@58.0.9 - expo-background-fetch@58.0.10 - expo-background-task@58.0.10 - expo-battery@58.0.3 - expo-blob@58.0.3 - expo-blur@58.0.3 - expo-brightness@58.0.2 - expo-calendar@58.0.6 - expo-camera@58.0.10 - expo-cellular@58.0.3 - expo-clipboard@58.0.3 - expo-contacts@58.0.7 - expo-device@58.0.5 - expo-document-picker@58.0.4 - expo-font@58.0.8 - expo-gl@58.0.3 - expo-hinge@58.0.1 - expo-image-manipulator@58.0.14 - expo-image-picker@58.0.10 - expo-intent-launcher@58.0.3 - expo-linear-gradient@58.0.3 - expo-linking@58.0.13 - expo-live-photo@58.0.5 - expo-local-authentication@58.0.2 - expo-localization@58.0.4 - expo-mail-composer@58.0.3 - expo-media-library@58.0.8 - expo-mesh-gradient@58.0.3 - expo-navigation-bar@58.0.4 - expo-network@58.0.3 - expo-notifications@58.1.4 - expo-print@58.0.6 - expo-screen-capture@58.0.5 - expo-screen-orientation@58.0.3 - expo-secure-store@58.0.2 - expo-sensors@58.0.4 - expo-sharing@58.0.18 - expo-sms@58.0.2 - expo-speech@58.0.3 - expo-splash-screen@58.0.9 - expo-store-review@58.0.2 - expo-system-ui@58.0.5 - expo-task-manager@58.0.11 - expo-tracking-transparency@58.0.2 - expo-video-thumbnails@58.0.2 - expo-web-browser@58.0.6 ## minimal-swiftpm@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 - expo-image@58.0.14 - expo-crypto@58.0.6 - expo-constants@58.0.12 ## minimal-tester@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536)) - expo@58.0.10 - expo-image@58.0.14 - expo-brownfield@58.0.13 - expo-updates@58.0.16 - expo-video@58.0.10 - expo-apple-authentication@58.0.2 - expo-blur@58.0.3 - expo-build-properties@58.0.10 - expo-camera@58.0.10 - expo-dev-client@58.0.13 - expo-linear-gradient@58.0.3 - expo-splash-screen@58.0.9 - expo-status-bar@58.0.3 ## native-component-list@0.0.4 ### Patch Changes - Updated dependencies. ([#51406](#51406), [#51480](#51480), [#51538](#51538), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51216](#51216), [#51068](#51068), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51464](#51464), [#47989](#47989), [#51320](#51320), [#51426](#51426)) - expo-ai@0.1.1 - @expo/ui@58.0.17 - expo-app-metrics@58.0.12 - expo@58.0.10 - expo-router@58.0.19 - expo-location@58.0.16 - expo-observe@58.0.14 - expo-sqlite@58.0.13 - test-suite@1.0.4 - expo-app-intents@0.5.6 - expo-image@58.0.14 - expo-application@58.1.1 - expo-crypto@58.0.6 - expo-haptics@58.0.6 - expo-updates@58.0.16 - expo-file-system@58.0.9 - expo-video@58.0.10 - expo-constants@58.0.12 - expo-age-range@58.0.2 - @expo/app-integrity@58.0.2 - expo-apple-authentication@58.0.2 - expo-asset@58.0.15 - expo-audio@58.0.9 - expo-auth-session@58.0.12 - expo-background-fetch@58.0.10 - expo-background-task@58.0.10 - expo-battery@58.0.3 - expo-blob@58.0.3 - expo-blur@58.0.3 - expo-brightness@58.0.2 - expo-calendar@58.0.6 - expo-camera@58.0.10 - expo-cellular@58.0.3 - expo-checkbox@58.0.2 - expo-clipboard@58.0.3 - expo-contacts@58.0.7 - expo-device@58.0.5 - expo-document-picker@58.0.4 - expo-font@58.0.8 - expo-gl@58.0.3 - expo-glass-effect@58.0.3 - expo-hinge@58.0.1 - expo-image-manipulator@58.0.14 - expo-image-picker@58.0.10 - expo-intent-launcher@58.0.3 - expo-keep-awake@58.0.3 - expo-linear-gradient@58.0.3 - expo-linking@58.0.13 - expo-live-photo@58.0.5 - expo-local-authentication@58.0.2 - expo-localization@58.0.4 - expo-mail-composer@58.0.3 - expo-maps@58.0.9 - expo-media-library@58.0.8 - expo-mesh-gradient@58.0.3 - expo-modules-test-core@58.0.4 - expo-navigation-bar@58.0.4 - expo-network@58.0.3 - expo-notifications@58.1.4 - expo-print@58.0.6 - expo-screen-capture@58.0.5 - expo-screen-orientation@58.0.3 - expo-secure-store@58.0.2 - expo-sensors@58.0.4 - expo-sharing@58.0.18 - expo-sms@58.0.2 - expo-speech@58.0.3 - expo-splash-screen@58.0.9 - expo-standard-web-crypto@58.0.4 - expo-status-bar@58.0.3 - expo-store-review@58.0.2 - expo-symbols@58.0.4 - expo-system-ui@58.0.5 - expo-task-manager@58.0.11 - expo-tracking-transparency@58.0.2 - expo-video-thumbnails@58.0.2 - expo-web-browser@58.0.6 - @expo/html-elements@58.0.3 ## native-tests@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51068](#51068), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51464](#51464)) - expo@58.0.10 - expo-router@58.0.19 - expo-observe@58.0.14 - expo-image@58.0.14 - expo-updates@58.0.16 - expo-background-task@58.0.10 - expo-clipboard@58.0.3 - expo-dev-client@58.0.13 - expo-image-manipulator@58.0.14 - expo-media-library@58.0.8 - expo-notifications@58.1.4 - expo-splash-screen@58.0.9 ## notification-tester@1.0.4 ### Patch Changes - Updated dependencies. ([#51480](#51480), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464), [#47989](#47989), [#51426](#51426)) - @expo/ui@58.0.17 - expo@58.0.10 - expo-router@58.0.19 - expo-sqlite@58.0.13 - native-component-list@0.0.4 - test-suite@1.0.4 - expo-updates@58.0.16 - expo-constants@58.0.12 - expo-dev-client@58.0.13 - expo-device@58.0.5 - expo-font@58.0.8 - expo-linking@58.0.13 - expo-localization@58.0.4 - expo-notifications@58.1.4 - expo-status-bar@58.0.3 - expo-task-manager@58.0.11 ## observe-tester@1.0.4 ### Patch Changes - Updated dependencies. ([#51480](#51480), [#51538](#51538), [#51489](#51489), [#51549](#51549), [#51536](#51536), [#51068](#51068), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51464](#51464), [#51426](#51426)) - @expo/ui@58.0.17 - expo-app-metrics@58.0.12 - expo@58.0.10 - expo-router@58.0.19 - expo-observe@58.0.14 - expo-image@58.0.14 - expo-haptics@58.0.6 - expo-updates@58.0.16 - expo-constants@58.0.12 - expo-build-properties@58.0.10 - expo-clipboard@58.0.3 - expo-dev-client@58.0.13 - expo-eas-client@58.0.2 - expo-font@58.0.8 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 - expo-status-bar@58.0.3 - expo-symbols@58.0.4 - expo-system-ui@58.0.5 - expo-web-browser@58.0.6 - @expo/html-elements@58.0.3 ## @expo/router-e2e@0.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464), [#47989](#47989)) - expo@58.0.10 - expo-router@58.0.19 - expo-sqlite@58.0.13 - expo-image@58.0.14 - expo-haptics@58.0.6 - @expo/dom-webview@58.0.2 - expo-build-properties@58.0.10 - expo-linking@58.0.13 - expo-speech@58.0.3 - expo-splash-screen@58.0.9 ## router-tester@1.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464)) - expo@58.0.10 - expo-router@58.0.19 - expo-image@58.0.14 - expo-constants@58.0.12 - expo-dev-client@58.0.13 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 - expo-status-bar@58.0.3 - expo-symbols@58.0.4 - expo-system-ui@58.0.5 ## @expo/sandbox@0.0.4 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464)) - expo@58.0.10 - expo-router@58.0.19 - expo-dev-client@58.0.13 - expo-linking@58.0.13 - expo-splash-screen@58.0.9 ## test-suite@1.0.4 ### Patch Changes - Updated dependencies. ([#51480](#51480), [#51538](#51538), [#51481](#51481), [#51548](#51548), [#51489](#51489), [#51553](#51553), [#51549](#51549), [#51536](#51536), [#51216](#51216), [#51068](#51068), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51464](#51464), [#47989](#47989), [#51320](#51320), [#51426](#51426)) - @expo/ui@58.0.17 - expo-app-metrics@58.0.12 - expo-modules-core@58.0.18 - expo@58.0.10 - expo-router@58.0.19 - expo-location@58.0.16 - expo-observe@58.0.14 - expo-sqlite@58.0.13 - expo-image@58.0.14 - expo-application@58.1.1 - expo-crypto@58.0.6 - expo-haptics@58.0.6 - expo-file-system@58.0.9 - expo-video@58.0.10 - expo-constants@58.0.12 - expo-asset@58.0.15 - expo-audio@58.0.9 - expo-auth-session@58.0.12 - expo-background-fetch@58.0.10 - expo-battery@58.0.3 - expo-blob@58.0.3 - expo-blur@58.0.3 - expo-brightness@58.0.2 - expo-calendar@58.0.6 - expo-camera@58.0.10 - expo-cellular@58.0.3 - expo-checkbox@58.0.2 - expo-clipboard@58.0.3 - expo-contacts@58.0.7 - expo-device@58.0.5 - expo-eas-client@58.0.2 - expo-font@58.0.8 - expo-gl@58.0.3 - expo-glass-effect@58.0.3 - expo-image-manipulator@58.0.14 - expo-image-picker@58.0.10 - expo-keep-awake@58.0.3 - expo-linear-gradient@58.0.3 - expo-linking@58.0.13 - expo-localization@58.0.4 - expo-media-library@58.0.8 - expo-navigation-bar@58.0.4 - expo-network@58.0.3 - expo-notifications@58.1.4 - expo-screen-orientation@58.0.3 - expo-secure-store@58.0.2 - expo-sms@58.0.2 - expo-speech@58.0.3 - expo-store-review@58.0.2 - expo-system-ui@58.0.5 - expo-task-manager@58.0.11 - expo-web-browser@58.0.6 - @expo/html-elements@58.0.3 ## @expo/internal-scripts@58.0.2 ### Patch Changes - Updated dependencies. ([#51462](#51462)) - jest-expo@58.0.10 ## expo-ai@0.1.1 ### Patch Changes - Fix structured output and categorize failing with `ERR_VALIDATION_RETRIES_EXHAUSTED` on web and Android. Replies wrapped in Markdown code fences are now accepted, and schemas whose top level is not an object, such as the string enum that categorize uses, now work. On web, schemas with `minimum` or `maximum` now go to the browser Prompt API as a response constraint. ([#51406](#51406) by [@chrfalch](https://github.com/chrfalch)) ## sqlite-inspector-webui@0.0.5 ### Patch Changes - Updated dependencies. ([#51489](#51489), [#51549](#51549), [#51536](#51536), [#51485](#51485), [#51446](#51446), [#51508](#51508), [#51068](#51068), [#51464](#51464), [#47989](#47989)) - expo@58.0.10 - expo-router@58.0.19 - expo-sqlite@58.0.13 - expo-linking@58.0.13 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Why
At the moment expo router marks
action-dispatched, when the action is dispatched. Then expo-observe uses this to calculate the time between user interaction and first render of the new screen.Because we are using navigation queue and added transition support in this release, this statement does not hold. It only measures the time between when the action was reduced to the render - the time it took react to finish the render.
In order to fix this, we need to introduce the new mark -
action-enqueued. It is called when action is either added to the queue or dispatched ignoring the queue (dispatchSync)How
actionIdto bind action-enqueued and action-dispatched eventsQueuedRoutingIntentaction-enqueuedinRoutingQueueProviderand for synchronous dispatch -handleActionTest Plan
Before
TTR and TTI are very low
After
TTR and TTI are correct
Checklist
npx expo prebuild& EAS Build (eg: updated a module plugin).