diff --git a/Podfile b/Podfile index 5daacbb7fb0c..f197453e4776 100644 --- a/Podfile +++ b/Podfile @@ -165,7 +165,7 @@ abstract_target 'Apps' do ## Gutenberg (React Native) ## ===================== ## - gutenberg :tag => 'v1.58.0-alpha2' + gutenberg :commit => 'cd920e964f8163f918fecb4afd742f783d51ddba' ## Third party libraries ## ===================== @@ -198,9 +198,9 @@ abstract_target 'Apps' do # Production - pod 'Automattic-Tracks-iOS', '~> 0.9.1' + #pod 'Automattic-Tracks-iOS', '~> 0.9.1' # While in PR - # pod 'Automattic-Tracks-iOS', :git => 'https://github.com/Automattic/Automattic-Tracks-iOS.git', :branch => '' + pod 'Automattic-Tracks-iOS', :git => 'https://github.com/Automattic/Automattic-Tracks-iOS.git', :branch => 'crash-logging-hybrid-sdk-helpers' # Local Development #pod 'Automattic-Tracks-iOS', :path => '~/Projects/Automattic-Tracks-iOS' diff --git a/Podfile.lock b/Podfile.lock index 8898e07ac74b..dd278bde9c0a 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -487,19 +487,19 @@ DEPENDENCIES: - AMScrollingNavbar (= 5.6.0) - AppCenter (~> 4.1) - AppCenter/Distribute (~> 4.1) - - Automattic-Tracks-iOS (~> 0.9.1) - - BVLinearGradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/BVLinearGradient.podspec.json`) + - Automattic-Tracks-iOS (from `https://github.com/Automattic/Automattic-Tracks-iOS.git`, branch `crash-logging-hybrid-sdk-helpers`) + - BVLinearGradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/BVLinearGradient.podspec.json`) - Charts (~> 3.2.2) - CocoaLumberjack (~> 3.0) - CropViewController (= 2.5.3) - Down (~> 0.6.6) - - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/FBLazyVector.podspec.json`) - - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/FBReactNativeSpec/FBReactNativeSpec.podspec.json`) + - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/FBLazyVector.podspec.json`) + - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/FBReactNativeSpec/FBReactNativeSpec.podspec.json`) - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.2.0) - - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/glog.podspec.json`) + - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/glog.podspec.json`) - Gridicons (~> 1.1.0) - - Gutenberg (from `https://github.com/wordpress-mobile/gutenberg-mobile.git`, tag `v1.58.0-alpha2`) + - Gutenberg (from `https://github.com/wordpress-mobile/gutenberg-mobile.git`, commit `cd920e964f8163f918fecb4afd742f783d51ddba`) - JTAppleCalendar (~> 8.0.2) - Kanvas (~> 1.2.7) - MediaEditor (~> 1.2.1) @@ -509,43 +509,43 @@ DEPENDENCIES: - "NSURL+IDN (~> 0.4)" - OCMock (~> 3.4.3) - OHHTTPStubs/Swift (~> 9.1.0) - - RCT-Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCT-Folly.podspec.json`) - - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCTRequired.podspec.json`) - - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCTTypeSafety.podspec.json`) + - RCT-Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCT-Folly.podspec.json`) + - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCTRequired.podspec.json`) + - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCTTypeSafety.podspec.json`) - Reachability (= 3.2) - - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React.podspec.json`) - - React-callinvoker (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-callinvoker.podspec.json`) - - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-Core.podspec.json`) - - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-CoreModules.podspec.json`) - - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-cxxreact.podspec.json`) - - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsi.podspec.json`) - - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsiexecutor.podspec.json`) - - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsinspector.podspec.json`) - - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-blur.podspec.json`) - - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-get-random-values.podspec.json`) - - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) - - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-safe-area.podspec.json`) - - react-native-safe-area-context (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-safe-area-context.podspec.json`) - - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-slider.podspec.json`) - - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-video.podspec.json`) - - React-perflogger (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-perflogger.podspec.json`) - - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTActionSheet.podspec.json`) - - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTAnimation.podspec.json`) - - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTBlob.podspec.json`) - - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTImage.podspec.json`) - - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTLinking.podspec.json`) - - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTNetwork.podspec.json`) - - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTSettings.podspec.json`) - - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTText.podspec.json`) - - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTVibration.podspec.json`) - - React-runtimeexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-runtimeexecutor.podspec.json`) - - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/ReactCommon.podspec.json`) - - RNCMaskedView (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNCMaskedView.podspec.json`) - - RNGestureHandler (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNGestureHandler.podspec.json`) - - RNReanimated (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNReanimated.podspec.json`) - - RNScreens (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNScreens.podspec.json`) - - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNSVG.podspec.json`) - - RNTAztecView (from `https://github.com/wordpress-mobile/gutenberg-mobile.git`, tag `v1.58.0-alpha2`) + - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React.podspec.json`) + - React-callinvoker (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-callinvoker.podspec.json`) + - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-Core.podspec.json`) + - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-CoreModules.podspec.json`) + - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-cxxreact.podspec.json`) + - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsi.podspec.json`) + - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsiexecutor.podspec.json`) + - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsinspector.podspec.json`) + - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-blur.podspec.json`) + - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-get-random-values.podspec.json`) + - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) + - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-safe-area.podspec.json`) + - react-native-safe-area-context (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-safe-area-context.podspec.json`) + - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-slider.podspec.json`) + - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-video.podspec.json`) + - React-perflogger (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-perflogger.podspec.json`) + - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTActionSheet.podspec.json`) + - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTAnimation.podspec.json`) + - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTBlob.podspec.json`) + - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTImage.podspec.json`) + - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTLinking.podspec.json`) + - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTNetwork.podspec.json`) + - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTSettings.podspec.json`) + - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTText.podspec.json`) + - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTVibration.podspec.json`) + - React-runtimeexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-runtimeexecutor.podspec.json`) + - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/ReactCommon.podspec.json`) + - RNCMaskedView (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNCMaskedView.podspec.json`) + - RNGestureHandler (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNGestureHandler.podspec.json`) + - RNReanimated (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNReanimated.podspec.json`) + - RNScreens (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNScreens.podspec.json`) + - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNSVG.podspec.json`) + - RNTAztecView (from `https://github.com/wordpress-mobile/gutenberg-mobile.git`, commit `cd920e964f8163f918fecb4afd742f783d51ddba`) - Starscream (= 3.0.6) - SVProgressHUD (= 2.2.5) - WordPress-Editor-iOS (~> 1.19.4) @@ -555,7 +555,7 @@ DEPENDENCIES: - WordPressShared (~> 1.16.0) - WordPressUI (~> 1.12.1) - WPMediaPicker (~> 1.7.2) - - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/Yoga.podspec.json`) + - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/Yoga.podspec.json`) - ZendeskSupportSDK (= 5.3.0) - ZIPFoundation (~> 0.9.8) @@ -570,7 +570,6 @@ SPEC REPOS: - AMScrollingNavbar - AppAuth - AppCenter - - Automattic-Tracks-iOS - boost-for-react-native - Charts - CocoaLumberjack @@ -617,110 +616,116 @@ SPEC REPOS: - ZIPFoundation EXTERNAL SOURCES: + Automattic-Tracks-iOS: + :branch: crash-logging-hybrid-sdk-helpers + :git: https://github.com/Automattic/Automattic-Tracks-iOS.git BVLinearGradient: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/BVLinearGradient.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/BVLinearGradient.podspec.json FBLazyVector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/FBLazyVector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/FBLazyVector.podspec.json FBReactNativeSpec: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/FBReactNativeSpec/FBReactNativeSpec.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/FBReactNativeSpec/FBReactNativeSpec.podspec.json FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 glog: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/glog.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/glog.podspec.json Gutenberg: + :commit: cd920e964f8163f918fecb4afd742f783d51ddba :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true - :tag: v1.58.0-alpha2 RCT-Folly: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCT-Folly.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCT-Folly.podspec.json RCTRequired: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCTRequired.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCTRequired.podspec.json RCTTypeSafety: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RCTTypeSafety.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RCTTypeSafety.podspec.json React: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React.podspec.json React-callinvoker: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-callinvoker.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-callinvoker.podspec.json React-Core: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-Core.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-Core.podspec.json React-CoreModules: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-CoreModules.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-CoreModules.podspec.json React-cxxreact: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-cxxreact.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-cxxreact.podspec.json React-jsi: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsi.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsi.podspec.json React-jsiexecutor: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsiexecutor.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsiexecutor.podspec.json React-jsinspector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-jsinspector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-jsinspector.podspec.json react-native-blur: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-blur.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-blur.podspec.json react-native-get-random-values: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-get-random-values.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-get-random-values.podspec.json react-native-keyboard-aware-scroll-view: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json react-native-safe-area: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-safe-area.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-safe-area.podspec.json react-native-safe-area-context: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-safe-area-context.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-safe-area-context.podspec.json react-native-slider: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-slider.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-slider.podspec.json react-native-video: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/react-native-video.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/react-native-video.podspec.json React-perflogger: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-perflogger.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-perflogger.podspec.json React-RCTActionSheet: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTActionSheet.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTActionSheet.podspec.json React-RCTAnimation: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTAnimation.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTAnimation.podspec.json React-RCTBlob: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTBlob.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTBlob.podspec.json React-RCTImage: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTImage.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTImage.podspec.json React-RCTLinking: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTLinking.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTLinking.podspec.json React-RCTNetwork: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTNetwork.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTNetwork.podspec.json React-RCTSettings: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTSettings.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTSettings.podspec.json React-RCTText: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTText.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTText.podspec.json React-RCTVibration: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-RCTVibration.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-RCTVibration.podspec.json React-runtimeexecutor: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/React-runtimeexecutor.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/React-runtimeexecutor.podspec.json ReactCommon: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/ReactCommon.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/ReactCommon.podspec.json RNCMaskedView: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNCMaskedView.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNCMaskedView.podspec.json RNGestureHandler: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNGestureHandler.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNGestureHandler.podspec.json RNReanimated: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNReanimated.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNReanimated.podspec.json RNScreens: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNScreens.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNScreens.podspec.json RNSVG: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/RNSVG.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/RNSVG.podspec.json RNTAztecView: + :commit: cd920e964f8163f918fecb4afd742f783d51ddba :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true - :tag: v1.58.0-alpha2 Yoga: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.58.0-alpha2/third-party-podspecs/Yoga.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cd920e964f8163f918fecb4afd742f783d51ddba/third-party-podspecs/Yoga.podspec.json CHECKOUT OPTIONS: + Automattic-Tracks-iOS: + :commit: ec703a0432c66f4f0fa57b1c94f5e806445a884c + :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: + :commit: cd920e964f8163f918fecb4afd742f783d51ddba :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true - :tag: v1.58.0-alpha2 RNTAztecView: + :commit: cd920e964f8163f918fecb4afd742f783d51ddba :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true - :tag: v1.58.0-alpha2 SPEC CHECKSUMS: 1PasswordExtension: f97cc80ae58053c331b2b6dc8843ba7103b33794 @@ -820,6 +825,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba ZIPFoundation: e27423c004a5a1410c15933407747374e7c6cb6e -PODFILE CHECKSUM: 54034c58c38bbc6837c8560d0c0faf4fa634a9a4 +PODFILE CHECKSUM: 1ae28d9053cfb18f4dfc8db7b417cab66a6199c3 COCOAPODS: 1.10.1 diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 54b8722acc52..ae93f2afdd99 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -265,8 +265,10 @@ class GutenbergViewController: UIViewController, PostEditor { return GutenbergImageLoader(post: post) }() + private lazy var gutenbergSentry = GutenbergSentry() + private lazy var gutenberg: Gutenberg = { - return Gutenberg(dataSource: self, extraModules: [gutenbergImageLoader]) + return Gutenberg(dataSource: self, extraModules: [gutenbergImageLoader, gutenbergSentry]) }() private var requestHTMLReason: RequestHTMLReason? @@ -1049,6 +1051,10 @@ extension GutenbergViewController: GutenbergBridgeDataSource { ].compactMap { $0 } } + func gutenbergCrashLoggingOptions() -> [String: Any]? { + return WordPressAppDelegate.crashLogging?.getOptionsDict() + } + func gutenbergCapabilities() -> [Capabilities: Bool] { let isFreeWPCom = post.blog.isHostedAtWPcom && !post.blog.hasPaidPlan let isWPComSite = post.blog.isHostedAtWPcom || post.blog.isAtomic() diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.m b/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.m new file mode 100644 index 000000000000..fd8e39ccdd43 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.m @@ -0,0 +1,40 @@ +#import + +@interface RCT_EXTERN_MODULE(RNSentry, NSObject) + +// Extra methods to extract data from the Sentry SDK configured in the main apps. +RCT_EXTERN_METHOD(getUser:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(attachScopeToEvent:(NSDictionary * _Nonnull)event resolve:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(shouldSendEvent:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) + + +// This methods are extracted from the original implementation. +// Reference: https://github.com/getsentry/sentry-react-native/blob/master/ios/RNSentry.m +RCT_EXTERN_METHOD(startWithOptions:(NSDictionary *_Nonnull)options resolve:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(deviceContexts:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(setLogLevel:(int)level) +RCT_EXTERN_METHOD(fetchRelease:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(captureEnvelope:(NSDictionary * _Nonnull)envelopeDict + resolve:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)rejecter) +RCT_EXTERN_METHOD(setUser:(NSDictionary *)user + otherUserKeys:(NSDictionary *)otherUserKeys +) +RCT_EXTERN_METHOD(addBreadcrumb:(NSDictionary *)breadcrumb) +RCT_EXTERN_METHOD(clearBreadcrumbs) +RCT_EXTERN_METHOD(setExtra:(NSString *)key + extra:(NSString *)extra +) +RCT_EXTERN_METHOD(setContext:(NSString *)key + context:(NSDictionary *)context +) +RCT_EXTERN_METHOD(setTag:(NSString *)key + value:(NSString *)value +) +RCT_EXTERN_METHOD(crash) +@end diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.swift b/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.swift new file mode 100644 index 000000000000..88f6816be900 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Sentry/GutenbergSentry.swift @@ -0,0 +1,108 @@ +@objc (RNSentry) +public class GutenbergSentry: NSObject, RCTBridgeModule { + public static func moduleName() -> String! { + return "RNSentry" + } + + public static func requiresMainQueueSetup() -> Bool { + return true + } + + public func constantsToExport() -> [AnyHashable: Any]! { + return ["nativeClientAvailable": true, "nativeTransport": true] + } + + /// Asks the Crash logging library for the current Sentry scope and includes it to an event. + /// + /// - Returns: Event object with attached scope. + @objc + func attachScopeToEvent(_ event: [String: Any], resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + DispatchQueue.main.async { + let eventWithScope = WordPressAppDelegate.crashLogging?.attachScopeToEvent(event) + resolve(eventWithScope) + } + } + + /// Asks the Crash logging library to know if the app should send Sentry events depending on user preferences. + /// + /// - Returns: True if Sentry events can be sent. + @objc + func shouldSendEvent(_ resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + DispatchQueue.main.async { + let shouldSendEvent = WordPressAppDelegate.crashLogging?.shouldSendEvent() + resolve(shouldSendEvent) + } + } + + /// Asks the Crash logging library for the current user of Sentry SDK. + /// + /// - Returns: Sentry user. + @objc + func getUser(_ resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + DispatchQueue.main.async { + resolve(WordPressAppDelegate.crashLogging?.getSentryUserDict()) + } + } + + @objc + func captureEnvelope(_ envelopeDict: [String: Any], resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + DispatchQueue.main.async { + WordPressAppDelegate.crashLogging?.logEnvelope(envelopeDict) + resolve(true) + } + } +} + +// MARK: - Disabled original methods + +extension GutenbergSentry { + // Disabled because the Sentry SDK is initialized in the main apps. + @objc + func startWithOptions(_ options: [String: Any], resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + resolve(true) + } + + // Disabled because the device context is fetched via the attachScopeToEvent method. + @objc + func deviceContexts(_ resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + resolve({}) + } + + // Disabled as it's set by the main apps. + @objc + func setLogLevel(_ level: Int) { } + + // Disabled as it's not required by the current Sentry integrations. + @objc + func fetchRelease(_ resolve: @escaping RCTPromiseResolveBlock, rejecter:@escaping RCTPromiseRejectBlock) { + resolve({}) + } + + // Disabled as it's set by the main apps. + @objc + func setUser(_ user: [String: Any], otherUserKeys: [String: Any]) { } + + // Disabled as breadcrumbs are managed by the main apps. + @objc + func addBreadcrumb(_ breadcrumb: [String: Any]) { } + + // Disabled as breadcrumbs are managed by the main apps. + @objc + func clearBreadcrumbs() { } + + // Disabled as extra tags are managed by the main apps. + @objc + func setExtra(_ key: String, extra: String) { } + + // Disabled as context is managed by the main apps. + @objc + func setContext(_ key: String, context: [String: Any]) { } + + // Disabled as tags are managed by the main apps. + @objc + func setTag(_ key: String, value: String) { } + + // Disabled as it's already exposed from the main apps. + @objc + func crash() { } +} diff --git a/WordPress/WordPress.xcodeproj/project.pbxproj b/WordPress/WordPress.xcodeproj/project.pbxproj index 814a2ff03af3..27213f699754 100644 --- a/WordPress/WordPress.xcodeproj/project.pbxproj +++ b/WordPress/WordPress.xcodeproj/project.pbxproj @@ -334,6 +334,10 @@ 17FCA6811FD84B4600DBA9C8 /* NoticeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17FCA6801FD84B4600DBA9C8 /* NoticeStore.swift */; }; 1A433B1D2254CBEE00AE7910 /* WordPressComRestApi+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A433B1C2254CBEE00AE7910 /* WordPressComRestApi+Defaults.swift */; }; 1ABA150822AE5F870039311A /* WordPressUIBundleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABA150722AE5F870039311A /* WordPressUIBundleTests.swift */; }; + 1D031A47268F772A0071372F /* GutenbergSentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D031A45268F772A0071372F /* GutenbergSentry.swift */; }; + 1D031A48268F772A0071372F /* GutenbergSentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D031A45268F772A0071372F /* GutenbergSentry.swift */; }; + 1D031A49268F772A0071372F /* GutenbergSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D031A46268F772A0071372F /* GutenbergSentry.m */; }; + 1D031A4A268F772A0071372F /* GutenbergSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D031A46268F772A0071372F /* GutenbergSentry.m */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1E0462162566938300EB98EF /* GutenbergFileUploadProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E0462152566938300EB98EF /* GutenbergFileUploadProcessor.swift */; }; 1E0FF01E242BC572008DA898 /* GutenbergWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E0FF01D242BC572008DA898 /* GutenbergWebViewController.swift */; }; @@ -4835,6 +4839,8 @@ 1A433B1C2254CBEE00AE7910 /* WordPressComRestApi+Defaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WordPressComRestApi+Defaults.swift"; sourceTree = ""; }; 1ABA150722AE5F870039311A /* WordPressUIBundleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressUIBundleTests.swift; sourceTree = ""; }; 1B77149F6C65D343E7E3AD09 /* Pods-WordPressUITests.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressUITests.release-alpha.xcconfig"; path = "../Pods/Target Support Files/Pods-WordPressUITests/Pods-WordPressUITests.release-alpha.xcconfig"; sourceTree = ""; }; + 1D031A45268F772A0071372F /* GutenbergSentry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GutenbergSentry.swift; sourceTree = ""; }; + 1D031A46268F772A0071372F /* GutenbergSentry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GutenbergSentry.m; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* WordPress.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WordPress.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1E0462152566938300EB98EF /* GutenbergFileUploadProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergFileUploadProcessor.swift; sourceTree = ""; }; @@ -8336,6 +8342,15 @@ path = Networking; sourceTree = ""; }; + 1D031A44268F772A0071372F /* Sentry */ = { + isa = PBXGroup; + children = ( + 1D031A45268F772A0071372F /* GutenbergSentry.swift */, + 1D031A46268F772A0071372F /* GutenbergSentry.m */, + ); + path = Sentry; + sourceTree = ""; + }; 1E5D00152493FC3A0004B708 /* Views */ = { isa = PBXGroup; children = ( @@ -10481,6 +10496,7 @@ children = ( B0637542253E7E7A00FD45D2 /* GutenbergSuggestionsViewController.swift */, FF2EC3BE2209A105006176E1 /* Processors */, + 1D031A44268F772A0071372F /* Sentry */, 1ED046CE244F26B1008F6365 /* GutenbergWeb */, 4631359224AD057E0017E65C /* Layout Picker */, 1E5D00152493FC3A0004B708 /* Views */, @@ -17308,6 +17324,7 @@ 2FA6511721F26A24009AA935 /* ChangePasswordViewController.swift in Sources */, D816C1F020E0893A00C4D82F /* LikeComment.swift in Sources */, 982DA9A7263B1E2F00E5743B /* CommentService+Likes.swift in Sources */, + 1D031A49268F772A0071372F /* GutenbergSentry.m in Sources */, 59E1D46E1CEF77B500126697 /* Page.swift in Sources */, 321955BF24BE234C00E3F316 /* ReaderInterestsCoordinator.swift in Sources */, FAE4327425874D140039EB8C /* ReaderSavedPostCellActions.swift in Sources */, @@ -17631,6 +17648,7 @@ B55086211CC15CCB004EADB4 /* PromptViewController.swift in Sources */, 40C403EC2215CD1300E8C894 /* SearchResultsStatsRecordValue+CoreDataProperties.swift in Sources */, 82FC612C1FA8B7FC00A1757E /* ActivityListRow.swift in Sources */, + 1D031A47268F772A0071372F /* GutenbergSentry.swift in Sources */, 436110E022C4241A000773AD /* UIColor+MurielColorsObjC.swift in Sources */, B5B68BD41C19AAED00EB59E0 /* InteractiveNotificationsManager.swift in Sources */, 46183CF5251BD658004F9AFD /* PageTemplateLayout+CoreDataProperties.swift in Sources */, @@ -19120,6 +19138,7 @@ FABB222A2602FC2C00C8785C /* JetpackScanThreatSectionGrouping.swift in Sources */, FABB222B2602FC2C00C8785C /* MediaService+Swift.swift in Sources */, FABB222C2602FC2C00C8785C /* ReaderActionHelpers.swift in Sources */, + 1D031A48268F772A0071372F /* GutenbergSentry.swift in Sources */, FABB222D2602FC2C00C8785C /* NoteBlockUserTableViewCell.swift in Sources */, FABB222E2602FC2C00C8785C /* WPStyleGuide+Sharing.swift in Sources */, FABB222F2602FC2C00C8785C /* StoryPoster.swift in Sources */, @@ -19540,6 +19559,7 @@ FABB23B72602FC2C00C8785C /* Notifiable.swift in Sources */, FABB23B82602FC2C00C8785C /* RegisterDomainDetailsViewModel+CountryDialCodes.swift in Sources */, FABB23B92602FC2C00C8785C /* BlogListViewController+SiteCreation.swift in Sources */, + 1D031A4A268F772A0071372F /* GutenbergSentry.m in Sources */, FABB23BA2602FC2C00C8785C /* CommentAnalytics.swift in Sources */, FABB23BB2602FC2C00C8785C /* TableViewHeaderDetailView.swift in Sources */, FABB23BC2602FC2C00C8785C /* MenuItemAbstractView.m in Sources */, diff --git a/fastlane/Fastfile b/fastlane/Fastfile index e73de41b87ab..49c05571119a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -530,6 +530,8 @@ platform :ios do dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + upload_gutenberg_sourcemaps(internal: true) + download_url = Actions.lane_context[SharedValues::APPCENTER_DOWNLOAD_LINK] UI.message("Successfully built and uploaded installable build here: #{download_url}") install_url = 'https://install.appcenter.ms/orgs/automattic/apps/WPiOS-One-Offs/' @@ -586,6 +588,8 @@ platform :ios do project_slug: 'wordpress-ios', dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + + upload_gutenberg_sourcemaps(internal: true) end ##################################################################################### @@ -632,6 +636,8 @@ platform :ios do dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + upload_gutenberg_sourcemaps(internal: false) + if options[:create_release] archive_zip_path = File.join(PROJECT_ROOT_FOLDER, 'WordPress.xarchive.zip') zip(path: lane_context[SharedValues::XCODEBUILD_ARCHIVE], output_path: archive_zip_path) @@ -790,6 +796,46 @@ platform :ios do ) end + ##################################################################################### + # upload_gutenberg_sourcemaps + # ----------------------------------------------------------------------------------- + # This lane uploads the Gutenberg source maps + # ----------------------------------------------------------------------------------- + # Usage: + # bundle exec fastlane upload_gutenberg_sourcemaps [internal:] + # + # Example: + # bundle exec fastlane upload_gutenberg_sourcemaps internal:true + ##################################################################################### + lane :upload_gutenberg_sourcemaps do | options | + build_version = ios_get_build_version(internal: options[:internal]) + + gutenberg_bundle = File.join(PROJECT_ROOT_FOLDER, "Pods/Gutenberg/bundle/ios") + + Dir.mktmpdir do |sourcemaps_folder| + # Name of bundle file must be set to main.jsbundle. + # + # It's important that the source map files have specific names, otherwise, Sentry + # won't un-minify the stack traces. + FileUtils.cp(File.join(gutenberg_bundle, 'App.js'), File.join(sourcemaps_folder, 'main.jsbundle')) + FileUtils.cp(File.join(gutenberg_bundle, 'App.js.map'), File.join(sourcemaps_folder, 'main.jsbundle.map')) + + sentry_upload_sourcemap( + auth_token: get_required_env("SENTRY_AUTH_TOKEN"), + org_slug: 'a8c', + project_slug: 'wordpress-ios', + version: build_version, + dist: build_version, + # When the React native bundle is generated, the source map file references + # include the local machine path, with the `rewrite` and `strip_common_prefix` + # options Sentry automatically strips this part. + rewrite: true, + strip_common_prefix: true, + sourcemap: sourcemaps_folder + ) + end + end + ######################################################################## # Configure Lanes ########################################################################