From e9e9986978ff87379a54b5651726baa5ea661ebd Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Sun, 7 May 2023 17:52:58 +0100 Subject: [PATCH] Mobile: Disable Hermes engine --- packages/app-mobile/android/app/build.gradle | 2 ++ packages/app-mobile/ios/Joplin.xcodeproj/project.pbxproj | 6 ++---- packages/app-mobile/ios/Podfile | 7 +++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/app-mobile/android/app/build.gradle b/packages/app-mobile/android/app/build.gradle index 7aafb81084..4a0ec22d67 100644 --- a/packages/app-mobile/android/app/build.gradle +++ b/packages/app-mobile/android/app/build.gradle @@ -79,6 +79,8 @@ import org.apache.tools.ant.taskdefs.condition.Os */ project.ext.react = [ + // 2023/05/07: Leave that to `false` for now because Hermes is rubbish at + // reporting errors, which it makes it impossible to investigate crashes. enableHermes: false, // clean and rebuild if changing ] diff --git a/packages/app-mobile/ios/Joplin.xcodeproj/project.pbxproj b/packages/app-mobile/ios/Joplin.xcodeproj/project.pbxproj index c044486d80..2cd21ce526 100644 --- a/packages/app-mobile/ios/Joplin.xcodeproj/project.pbxproj +++ b/packages/app-mobile/ios/Joplin.xcodeproj/project.pbxproj @@ -384,14 +384,12 @@ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -600,7 +598,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -663,7 +661,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/packages/app-mobile/ios/Podfile b/packages/app-mobile/ios/Podfile index 19bff0e725..b34f6d5756 100644 --- a/packages/app-mobile/ios/Podfile +++ b/packages/app-mobile/ios/Podfile @@ -20,10 +20,13 @@ target 'Joplin' do use_react_native!( :path => config[:reactNativePath], -# Hermes is now enabled by default. Disable by setting this flag to false. + # Hermes is now enabled by default. Disable by setting this flag to false. # Upcoming versions of React Native may rely on get_default_flags(), but # we make it explicit here to aid in the React Native upgrade process. - :hermes_enabled => true, + + # 2023/05/07: Leave that to `false` for now because Hermes is rubbish at + # reporting errors, which it makes it impossible to investigate crashes. + :hermes_enabled => false, :fabric_enabled => flags[:fabric_enabled], # Enables Flipper. #