From d6202c3b2a34f4f359b1ae31120c3cc77b5a326c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 20 Feb 2024 18:13:59 +0100 Subject: [PATCH 01/25] Update `Automattic-Tracks-iOS` pod to point to branch --- Podfile | 4 ++-- Podfile.lock | 27 ++++++++++++++++----------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Podfile b/Podfile index 5f91b348b192..5fca8c560843 100644 --- a/Podfile +++ b/Podfile @@ -132,9 +132,9 @@ abstract_target 'Apps' do # Production - pod 'Automattic-Tracks-iOS', '~> 3.0' + # pod 'Automattic-Tracks-iOS', '~> 3.0' # 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: 'add/sentry-js-exception' # Local Development # pod 'Automattic-Tracks-iOS', path: '~/Projects/Automattic-Tracks-iOS' diff --git a/Podfile.lock b/Podfile.lock index 41da276227cc..a2433d8e7b27 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -49,12 +49,12 @@ PODS: - OHHTTPStubs/Swift (9.1.0): - OHHTTPStubs/Default - Reachability (3.2) - - Sentry (8.18.0): - - Sentry/Core (= 8.18.0) - - SentryPrivate (= 8.18.0) - - Sentry/Core (8.18.0): - - SentryPrivate (= 8.18.0) - - SentryPrivate (8.18.0) + - Sentry (8.20.0): + - Sentry/Core (= 8.20.0) + - SentryPrivate (= 8.20.0) + - Sentry/Core (8.20.0): + - SentryPrivate (= 8.20.0) + - SentryPrivate (8.20.0) - Sodium (0.9.1) - Starscream (4.0.6) - SVProgressHUD (2.2.5) @@ -99,7 +99,7 @@ DEPENDENCIES: - AlamofireNetworkActivityIndicator (~> 2.4) - AppCenter (~> 5.0) - AppCenter/Distribute (~> 5.0) - - Automattic-Tracks-iOS (~> 3.0) + - Automattic-Tracks-iOS (from `https://github.com/Automattic/Automattic-Tracks-iOS.git`, branch `add/sentry-js-exception`) - CocoaLumberjack/Swift (~> 3.0) - CropViewController (= 2.5.3) - Down (~> 0.6.6) @@ -134,7 +134,6 @@ SPEC REPOS: - AlamofireImage - AlamofireNetworkActivityIndicator - AppCenter - - Automattic-Tracks-iOS - CocoaLumberjack - CropViewController - Down @@ -169,6 +168,9 @@ SPEC REPOS: - ZIPFoundation EXTERNAL SOURCES: + Automattic-Tracks-iOS: + :branch: add/sentry-js-exception + :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 @@ -182,6 +184,9 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/WordPressKit-iOS.git CHECKOUT OPTIONS: + Automattic-Tracks-iOS: + :commit: cf6accc5e21ee023b552afae6e4675f30dd0d9f8 + :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 @@ -213,8 +218,8 @@ SPEC CHECKSUMS: OCMock: 43565190abc78977ad44a61c0d20d7f0784d35ab OHHTTPStubs: 90eac6d8f2c18317baeca36698523dc67c513831 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 - Sentry: 8984a4ffb2b9bd2894d74fb36e6f5833865bc18e - SentryPrivate: 2f0c9ba4c3fc993f70eab6ca95673509561e0085 + Sentry: a8d7b373b9f9868442b02a0c425192f693103cbf + SentryPrivate: 006b24af16828441f70e2ab6adf241bd0a8ad130 Sodium: 23d11554ecd556196d313cf6130d406dfe7ac6da Starscream: fb2c4510bebf908c62bd383bcf05e673720e91fd SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 @@ -236,6 +241,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba ZIPFoundation: d170fa8e270b2a32bef9dcdcabff5b8f1a5deced -PODFILE CHECKSUM: cde235b576e5cd0b95b5a64d6bc75628c7adad12 +PODFILE CHECKSUM: b2628bd1c79c3a469983ab29ea29b5ef594968b2 COCOAPODS: 1.14.2 From 1cd609bbadb13fa76f32267cf2353b67158cc217 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 20 Feb 2024 18:15:36 +0100 Subject: [PATCH 02/25] Add function to log JavaScript exceptions to Crash Logging service --- .../ViewRelated/Gutenberg/GutenbergViewController.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 6b6192b66b43..39b54119098e 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1353,6 +1353,12 @@ extension GutenbergViewController: PostEditorNavigationBarManagerDelegate { } } + func gutenbergDidRequestLogException(_ exception: [AnyHashable: Any]) { + DispatchQueue.main.async { + WordPressAppDelegate.crashLogging?.logJavaScriptException(exception) + } + } + func navigationBarManager(_ manager: PostEditorNavigationBarManager, closeWasPressed sender: UIButton) { requestHTML(for: .close) } From 804b772fc187a616ba7659468953eaa3795cbab0 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 20 Feb 2024 18:30:27 +0100 Subject: [PATCH 03/25] Add step to copy local bundle --- Scripts/BuildPhases/CopyGutenbergJS.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Scripts/BuildPhases/CopyGutenbergJS.sh b/Scripts/BuildPhases/CopyGutenbergJS.sh index ceeea3484bfb..ef3687f88c6c 100755 --- a/Scripts/BuildPhases/CopyGutenbergJS.sh +++ b/Scripts/BuildPhases/CopyGutenbergJS.sh @@ -13,6 +13,7 @@ DEST="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH" # Update the matching .inputs.xcfilelist when changing these XCFRAMEWORK_BUNDLE_ROOT="$PODS_XCFRAMEWORKS_BUILD_DIR/Gutenberg/Gutenberg.framework" PODS_BUNDLE_ROOT="$PODS_ROOT/Gutenberg/bundle/ios" +LOCAL_BUNDLE="$PODS_ROOT/../../gutenberg-mobile/bundle/ios" BUNDLE_FILE="$DEST/main.jsbundle" BUNDLE_ASSETS="$DEST/assets/" @@ -23,6 +24,10 @@ if [[ -d $XCFRAMEWORK_BUNDLE_ROOT ]]; then elif [[ -d $PODS_BUNDLE_ROOT ]]; then cp "$PODS_BUNDLE_ROOT/App.js" "$BUNDLE_FILE" cp -r "$PODS_BUNDLE_ROOT/assets" "$BUNDLE_ASSETS" +elif [[ -d $LOCAL_BUNDLE ]]; then + echo "warning: Using local bundle." + cp "$LOCAL_BUNDLE/App.js" "$BUNDLE_FILE" + cp -r "$LOCAL_BUNDLE/assets" "$BUNDLE_ASSETS" else if [[ "$CONFIGURATION" = *Debug* ]]; then echo "warning: Could not find Gutenberg bundle in either XCFramework or Pods. But running in Debug configuration so will assume you are working with a local version of Gutenberg." From 89645c28b844dcff056fdcf5a1c8d48cd8306f68 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Wed, 21 Feb 2024 11:27:36 +0100 Subject: [PATCH 04/25] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index d7d70cc49036..e3e7414d1324 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - tag: v1.112.0 + commit: b753732629f4402522d154eff955230b066954d0 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index a2433d8e7b27..d3a589593c20 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.112.0.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-b753732629f4402522d154eff955230b066954d0.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.112.0.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-b753732629f4402522d154eff955230b066954d0.podspec WordPressAuthenticator: :commit: fa06fca7178b268d382d91861752b3be0729e8a8 :git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git @@ -209,7 +209,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: ba97dd36571958f64108233a692e6057f5010dc2 + Gutenberg: 1d7fe7969fc9709dd39a1130e51389abd01b88c4 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From edbc5da120b2119d2454f9b7ebf9c9b61350d803 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 22 Feb 2024 18:19:42 +0100 Subject: [PATCH 05/25] Add fastlane step to upload Gutenberg source map --- fastlane/lanes/build.rb | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/fastlane/lanes/build.rb b/fastlane/lanes/build.rb index 362d25fa7db8..ca8707489ab6 100644 --- a/fastlane/lanes/build.rb +++ b/fastlane/lanes/build.rb @@ -175,6 +175,12 @@ dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + upload_gutenberg_sourcemaps( + sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, + release_version: release_version_current, + build_version: build_code_current + ) + next unless options[:create_release] archive_zip_path = File.join(PROJECT_ROOT_FOLDER, 'WordPress.xarchive.zip') @@ -220,6 +226,12 @@ project_slug: SENTRY_PROJECT_SLUG_JETPACK, dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + + upload_gutenberg_sourcemaps( + sentry_project_slug: SENTRY_PROJECT_SLUG_JETPACK, + release_version: release_version_current, + build_version: build_code_current + ) end # Builds the "WordPress Internal" app and uploads it to App Center @@ -271,6 +283,13 @@ project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + + upload_gutenberg_sourcemaps( + sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, + release_version: release_version_current_internal, + build_version: build_code_current_internal + ) + end # Builds the WordPress app for a Prototype Build ("WordPress Alpha" scheme), and uploads it to App Center @@ -394,6 +413,12 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na dsym_path: lane_context[SharedValues::DSYM_OUTPUT_PATH] ) + upload_gutenberg_sourcemaps( + sentry_project_slug: sentry_project_slug, + release_version: release_version_current, + build_version: build_number + ) + # Post PR Comment comment_body = prototype_build_details_comment( app_display_name: output_app_name, @@ -450,4 +475,30 @@ def upload_build_to_testflight(whats_new_path:) changelog: File.read(whats_new_path) ) end + + def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_version:) + # The bundle and source map files are the same for all architectures. + gutenberg_bundle = File.join(PROJECT_ROOT_FOLDER, "Pods/Gutenberg/Frameworks/Gutenberg.xcframework/ios-arm64/Gutenberg.framework") + + Dir.mktmpdir do |sourcemaps_folder| + # It's important that the bundle and source map files have specific names, otherwise, Sentry + # won't symbolicate the stack traces. + FileUtils.cp(File.join(gutenberg_bundle, 'App.js'), File.join(sourcemaps_folder, 'main.jsbundle')) + FileUtils.cp(File.join(gutenberg_bundle, 'App.composed.js.map'), File.join(sourcemaps_folder, 'main.jsbundle.map')) + + sentry_upload_sourcemap( + auth_token: get_required_env('SENTRY_AUTH_TOKEN'), + org_slug: SENTRY_ORG_SLUG, + project_slug: sentry_project_slug, + version: release_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 end From 481a47d01d58ec40e6eaa0c5dab36732609592a7 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 23 Feb 2024 10:23:47 +0100 Subject: [PATCH 06/25] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index e3e7414d1324..84107d22b37f 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: b753732629f4402522d154eff955230b066954d0 + commit: 6fd186288b776d27d15857461f7de64f7c581cff github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index d3a589593c20..7c72f43293ff 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-b753732629f4402522d154eff955230b066954d0.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fd186288b776d27d15857461f7de64f7c581cff.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-b753732629f4402522d154eff955230b066954d0.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fd186288b776d27d15857461f7de64f7c581cff.podspec WordPressAuthenticator: :commit: fa06fca7178b268d382d91861752b3be0729e8a8 :git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git @@ -209,7 +209,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 1d7fe7969fc9709dd39a1130e51389abd01b88c4 + Gutenberg: a84ce1fb54a1ea9728f10e55dd14c33245b18598 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 9f0b36cd73dfc788fd6989903b9aeb1a6feb9620 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 23 Feb 2024 11:02:07 +0100 Subject: [PATCH 07/25] Add build and app_identifier parameters to upload source maps --- fastlane/lanes/build.rb | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/fastlane/lanes/build.rb b/fastlane/lanes/build.rb index ca8707489ab6..ae552e871175 100644 --- a/fastlane/lanes/build.rb +++ b/fastlane/lanes/build.rb @@ -178,7 +178,8 @@ upload_gutenberg_sourcemaps( sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, release_version: release_version_current, - build_version: build_code_current + build_version: build_code_current, + app_identifier: WORDPRESS_BUNDLE_IDENTIFIER ) next unless options[:create_release] @@ -230,7 +231,8 @@ upload_gutenberg_sourcemaps( sentry_project_slug: SENTRY_PROJECT_SLUG_JETPACK, release_version: release_version_current, - build_version: build_code_current + build_version: build_code_current, + app_identifier: JETPACK_BUNDLE_IDENTIFIER ) end @@ -287,7 +289,8 @@ upload_gutenberg_sourcemaps( sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, release_version: release_version_current_internal, - build_version: build_code_current_internal + build_version: build_code_current_internal, + app_identifier: WORDPRESS_BUNDLE_IDENTIFIER ) end @@ -307,7 +310,8 @@ output_app_name: 'WordPress Alpha', appcenter_app_name: 'WPiOS-One-Offs', app_icon: ':wordpress:', # Use Buildkite emoji - sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS + sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, + app_identifier: WORDPRESS_BUNDLE_IDENTIFIER ) end @@ -326,7 +330,8 @@ output_app_name: 'Jetpack Alpha', appcenter_app_name: 'jetpack-installable-builds', app_icon: ':jetpack:', # Use Buildkite emoji - sentry_project_slug: SENTRY_PROJECT_SLUG_JETPACK + sentry_project_slug: SENTRY_PROJECT_SLUG_JETPACK, + app_identifier: JETPACK_BUNDLE_IDENTIFIER ) end @@ -358,7 +363,7 @@ def generate_prototype_build_number # Builds a Prototype Build for WordPress or Jetpack, then uploads it to App Center and comment with a link to it on the PR. # # rubocop:disable Metrics/AbcSize - def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_name:, app_icon:, sentry_project_slug:) + def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_name:, app_icon:, sentry_project_slug:, app_identifier:) configuration = 'Release-Alpha' # Get the current build version, and update it if needed @@ -416,7 +421,8 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na upload_gutenberg_sourcemaps( sentry_project_slug: sentry_project_slug, release_version: release_version_current, - build_version: build_number + build_version: build_number, + app_identifier: app_identifier ) # Post PR Comment @@ -476,7 +482,7 @@ def upload_build_to_testflight(whats_new_path:) ) end - def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_version:) + def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_version:, app_identifier:) # The bundle and source map files are the same for all architectures. gutenberg_bundle = File.join(PROJECT_ROOT_FOLDER, "Pods/Gutenberg/Frameworks/Gutenberg.xcframework/ios-arm64/Gutenberg.framework") @@ -486,12 +492,23 @@ def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_ve FileUtils.cp(File.join(gutenberg_bundle, 'App.js'), File.join(sourcemaps_folder, 'main.jsbundle')) FileUtils.cp(File.join(gutenberg_bundle, 'App.composed.js.map'), File.join(sourcemaps_folder, 'main.jsbundle.map')) + # To generate the full release version string to attach the source maps, we need to specify: + # - App identifier + # - Release version + # - Build version + # This conforms to the following format: @+ + # Here are a couple of examples: + # - Prototype build: com.jetpack.alpha@24.2+pr22654-07765b3  + # - App Store build: org.wordpress@24.1+24.1.0.3 + sentry_upload_sourcemap( auth_token: get_required_env('SENTRY_AUTH_TOKEN'), org_slug: SENTRY_ORG_SLUG, project_slug: sentry_project_slug, version: release_version, dist: build_version, + build: build_version, + app_identifier: app_identifier, # 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. From c034cc530f8a571fc466351fd6adff36178832f2 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 23 Feb 2024 17:21:56 +0100 Subject: [PATCH 08/25] Use correct app identifier for internal/alpha/prototype builds --- fastlane/lanes/build.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fastlane/lanes/build.rb b/fastlane/lanes/build.rb index ae552e871175..6a69c8c316b1 100644 --- a/fastlane/lanes/build.rb +++ b/fastlane/lanes/build.rb @@ -290,7 +290,7 @@ sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, release_version: release_version_current_internal, build_version: build_code_current_internal, - app_identifier: WORDPRESS_BUNDLE_IDENTIFIER + app_identifier: 'org.wordpress.internal' ) end @@ -311,7 +311,7 @@ appcenter_app_name: 'WPiOS-One-Offs', app_icon: ':wordpress:', # Use Buildkite emoji sentry_project_slug: SENTRY_PROJECT_SLUG_WORDPRESS, - app_identifier: WORDPRESS_BUNDLE_IDENTIFIER + app_identifier: 'org.wordpress.alpha' ) end @@ -331,7 +331,7 @@ appcenter_app_name: 'jetpack-installable-builds', app_icon: ':jetpack:', # Use Buildkite emoji sentry_project_slug: SENTRY_PROJECT_SLUG_JETPACK, - app_identifier: JETPACK_BUNDLE_IDENTIFIER + app_identifier: 'com.jetpack.alpha' ) end From 6fbfb59aa2e161f7b0281de30be8f1214aa54a50 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 23 Feb 2024 19:46:57 +0100 Subject: [PATCH 09/25] Use callback when logging JS exception --- .../ViewRelated/Gutenberg/GutenbergViewController.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 39b54119098e..d36c82f344a9 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1353,9 +1353,9 @@ extension GutenbergViewController: PostEditorNavigationBarManagerDelegate { } } - func gutenbergDidRequestLogException(_ exception: [AnyHashable: Any]) { + func gutenbergDidRequestLogException(_ exception: [AnyHashable: Any], with callback: @escaping () -> Void) { DispatchQueue.main.async { - WordPressAppDelegate.crashLogging?.logJavaScriptException(exception) + WordPressAppDelegate.crashLogging?.logJavaScriptException(exception, callback: callback) } } From cbc74d236cc7a40d3da474cc484b8da79c27eea7 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 26 Feb 2024 10:32:17 +0100 Subject: [PATCH 10/25] Upate Podfile.lock --- Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Podfile.lock b/Podfile.lock index 7c72f43293ff..a9a94df6e414 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -185,7 +185,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: Automattic-Tracks-iOS: - :commit: cf6accc5e21ee023b552afae6e4675f30dd0d9f8 + :commit: f7920171e01f7b42cca94cefe090940b7e64c8d0 :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git From 1b900e2ba825b851c84beee4dca0754935d3e49d Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 26 Feb 2024 13:45:41 +0100 Subject: [PATCH 11/25] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 84107d22b37f..759b67214c11 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 6fd186288b776d27d15857461f7de64f7c581cff + commit: 6a50374aa5d1dd6475826a61ea0801b61e90fdea github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index a9a94df6e414..aa032aa4f128 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fd186288b776d27d15857461f7de64f7c581cff.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6a50374aa5d1dd6475826a61ea0801b61e90fdea.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fd186288b776d27d15857461f7de64f7c581cff.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6a50374aa5d1dd6475826a61ea0801b61e90fdea.podspec WordPressAuthenticator: :commit: fa06fca7178b268d382d91861752b3be0729e8a8 :git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git @@ -209,7 +209,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: a84ce1fb54a1ea9728f10e55dd14c33245b18598 + Gutenberg: ff644c2a62eda321e735125d931dc27cec98a893 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 9ea8dbd0a5e3329b6dbf21672fb9bae7f5460f51 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Tue, 27 Feb 2024 16:49:42 +0100 Subject: [PATCH 12/25] Parse JavaScript exception before sending it to the Crash logging service --- .../Gutenberg/GutenbergViewController.swift | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index d36c82f344a9..e6f1abbf2f31 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -4,6 +4,7 @@ import Aztec import WordPressFlux import Kanvas import React +import AutomatticTracks class GutenbergViewController: UIViewController, PostEditor, FeaturedImageDelegate, PublishingEditor { let errorDomain: String = "GutenbergViewController.errorDomain" @@ -1353,9 +1354,24 @@ extension GutenbergViewController: PostEditorNavigationBarManagerDelegate { } } - func gutenbergDidRequestLogException(_ exception: [AnyHashable: Any], with callback: @escaping () -> Void) { + func gutenbergDidRequestLogException(_ exception: GutenbergJSException, with callback: @escaping () -> Void) { + let jsException = JSException( + type: exception.type, + value: exception.value, + stacktrace: exception.stacktrace.map { JSException.StacktraceLine( + filename: $0.filename, + function: $0.function, + lineno: $0.lineno, + colno: $0.colno + ) }, + context: exception.context, + tags: exception.tags, + isHandled: exception.isHandled, + handledBy: exception.handledBy + ) + DispatchQueue.main.async { - WordPressAppDelegate.crashLogging?.logJavaScriptException(exception, callback: callback) + WordPressAppDelegate.crashLogging?.logJavaScriptException(jsException, callback: callback) } } From 8566c1b2611ffb53072822d910fd5cc5d2fe07ea Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Wed, 28 Feb 2024 13:01:30 +0100 Subject: [PATCH 13/25] Update Gutenberg Mobile reference and Automattic-Tracks-iOS pod --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 759b67214c11..fb6fb6dc219e 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 6a50374aa5d1dd6475826a61ea0801b61e90fdea + commit: 6fdcd618987b49a167bf03b3fb2db7523f20261b github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index aa032aa4f128..93d43dda349f 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6a50374aa5d1dd6475826a61ea0801b61e90fdea.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fdcd618987b49a167bf03b3fb2db7523f20261b.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6a50374aa5d1dd6475826a61ea0801b61e90fdea.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fdcd618987b49a167bf03b3fb2db7523f20261b.podspec WordPressAuthenticator: :commit: fa06fca7178b268d382d91861752b3be0729e8a8 :git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git @@ -185,7 +185,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: Automattic-Tracks-iOS: - :commit: f7920171e01f7b42cca94cefe090940b7e64c8d0 + :commit: 18adbd8bac085f7dda820fa244b8add3a118d4cd :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git @@ -209,7 +209,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: ff644c2a62eda321e735125d931dc27cec98a893 + Gutenberg: ff56bed0822537ab7ae2c36b539b52cc4f9220e8 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From 037244d34e1ec231ac66add2acfce615b0772572 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 29 Feb 2024 13:23:08 +0100 Subject: [PATCH 14/25] Rename JSException param to `message` --- .../Classes/ViewRelated/Gutenberg/GutenbergViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index e6f1abbf2f31..5b003f7421be 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1357,7 +1357,7 @@ extension GutenbergViewController: PostEditorNavigationBarManagerDelegate { func gutenbergDidRequestLogException(_ exception: GutenbergJSException, with callback: @escaping () -> Void) { let jsException = JSException( type: exception.type, - value: exception.value, + message: exception.message, stacktrace: exception.stacktrace.map { JSException.StacktraceLine( filename: $0.filename, function: $0.function, From f4fd4a81e2da511238ec839f7ca661b3fb2145a8 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 1 Mar 2024 10:34:34 +0100 Subject: [PATCH 15/25] Update Gutenberg Mobile reference and Automattic-Tracks-iOS pod --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index fb6fb6dc219e..d017582bb5a7 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 6fdcd618987b49a167bf03b3fb2db7523f20261b + commit: a88a07389f55bcf5a233a57ff01802dbe3968a04 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 93d43dda349f..318b0c5fe6da 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,7 +106,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fdcd618987b49a167bf03b3fb2db7523f20261b.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-a88a07389f55bcf5a233a57ff01802dbe3968a04.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -175,7 +175,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-6fdcd618987b49a167bf03b3fb2db7523f20261b.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-a88a07389f55bcf5a233a57ff01802dbe3968a04.podspec WordPressAuthenticator: :commit: fa06fca7178b268d382d91861752b3be0729e8a8 :git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git @@ -185,7 +185,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: Automattic-Tracks-iOS: - :commit: 18adbd8bac085f7dda820fa244b8add3a118d4cd + :commit: 07a7012a5af7a5e8c47bc5959e5d1331a8cffe6f :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git @@ -209,7 +209,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: ff56bed0822537ab7ae2c36b539b52cc4f9220e8 + Gutenberg: 95469fe22c149071e652407a2a2d0a7d1afa7a6c JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From e58b8b1e63cfdc04f34375536e5f47030532080c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Wed, 6 Mar 2024 18:54:47 +0100 Subject: [PATCH 16/25] Update Podfile.lock --- Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Podfile.lock b/Podfile.lock index 37bb057db6e6..4cb3d89089b5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -180,7 +180,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: Automattic-Tracks-iOS: - :commit: 07a7012a5af7a5e8c47bc5959e5d1331a8cffe6f + :commit: 270a150509e28eeb8e8142a0d4304ff7101a9e17 :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git From a1a692f09379dc1e081781d78ae488238eb956a6 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Wed, 6 Mar 2024 18:55:28 +0100 Subject: [PATCH 17/25] Conform Automattic Tracks protocol for JSException --- .../Gutenberg/GutenbergViewController.swift | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 756413123eba..7ed2a3a2189d 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1297,23 +1297,8 @@ extension GutenbergViewController: PostEditorNavigationBarManagerDelegate { } func gutenbergDidRequestLogException(_ exception: GutenbergJSException, with callback: @escaping () -> Void) { - let jsException = JSException( - type: exception.type, - message: exception.message, - stacktrace: exception.stacktrace.map { JSException.StacktraceLine( - filename: $0.filename, - function: $0.function, - lineno: $0.lineno, - colno: $0.colno - ) }, - context: exception.context, - tags: exception.tags, - isHandled: exception.isHandled, - handledBy: exception.handledBy - ) - DispatchQueue.main.async { - WordPressAppDelegate.crashLogging?.logJavaScriptException(jsException, callback: callback) + WordPressAppDelegate.crashLogging?.logJavaScriptException(exception, callback: callback) } } @@ -1400,3 +1385,9 @@ extension GutenbergViewController { }) } } + +// Extend Gutenberg JavaScript exception struct to conform the protocol defined in the Crash Logging service +extension GutenbergJSException.StacktraceLine: AutomatticTracks.StacktraceLine {} +extension GutenbergJSException: AutomatticTracks.JSException { + public var jsStacktrace: [AutomatticTracks.StacktraceLine] { return self.stacktrace } +} From a355e402b22a554531baa91a6617488f67af6782 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 7 Mar 2024 10:54:01 +0100 Subject: [PATCH 18/25] Update `GutenbergJSException` extension --- .../ViewRelated/Gutenberg/GutenbergViewController.swift | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 7ed2a3a2189d..a11f1394677c 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -1387,7 +1387,5 @@ extension GutenbergViewController { } // Extend Gutenberg JavaScript exception struct to conform the protocol defined in the Crash Logging service -extension GutenbergJSException.StacktraceLine: AutomatticTracks.StacktraceLine {} -extension GutenbergJSException: AutomatticTracks.JSException { - public var jsStacktrace: [AutomatticTracks.StacktraceLine] { return self.stacktrace } -} +extension GutenbergJSException.StacktraceLine: AutomatticTracks.JSStacktraceLine {} +extension GutenbergJSException: AutomatticTracks.JSException {} From d7cbf8bdb93bb22a9891b8365b16a3fee94ab4be Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 7 Mar 2024 10:59:00 +0100 Subject: [PATCH 19/25] Update Gutenberg Mobile reference and Automattic-Tracks-iOS pod --- Gutenberg/config.yml | 2 +- Podfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index d017582bb5a7..170cb6ee7bbb 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: a88a07389f55bcf5a233a57ff01802dbe3968a04 + commit: 39749cc4fcc1176074c1550e3645ae814a174750 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index 4cb3d89089b5..a1ac8f97467d 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -26,7 +26,7 @@ PODS: - FSInteractiveMap (0.1.0) - Gifu (3.3.1) - Gridicons (1.2.0) - - Gutenberg (1.112.0) + - Gutenberg (1.114.0) - JTAppleCalendar (8.0.5) - Kanvas (1.4.9): - CropViewController @@ -105,7 +105,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-a88a07389f55bcf5a233a57ff01802dbe3968a04.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-39749cc4fcc1176074c1550e3645ae814a174750.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -176,11 +176,11 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-a88a07389f55bcf5a233a57ff01802dbe3968a04.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-39749cc4fcc1176074c1550e3645ae814a174750.podspec CHECKOUT OPTIONS: Automattic-Tracks-iOS: - :commit: 270a150509e28eeb8e8142a0d4304ff7101a9e17 + :commit: d3694e8a352f8cac3f3c26f73125614408c01abc :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git @@ -198,7 +198,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 95469fe22c149071e652407a2a2d0a7d1afa7a6c + Gutenberg: 9926783a31efe04e7b72729c76f897e187974a91 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From f2791d67c867c24143a5e17c6fd2b8f3d5fe55c6 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 7 Mar 2024 11:01:12 +0100 Subject: [PATCH 20/25] Update release notes --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 4fb6840c76a2..4be7c07e71ab 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -4,6 +4,7 @@ * [**] [internal] Block editor: Upgrade React Native to version 0.73.3 [#22588] * [*] Remove "Edit" button from "Post Published" screen [#22762] * [*] Remove "Publish" button from "Preview" screen [#22763] +* [**] Block editor: Add error boundary components and exception logging [#22655] 24.4 ----- From 3f5b7cb46a4929942fc8a45bb49d38cf7dc7f8dd Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 7 Mar 2024 16:55:17 +0100 Subject: [PATCH 21/25] Address dangermattic issues --- fastlane/lanes/build.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/fastlane/lanes/build.rb b/fastlane/lanes/build.rb index 100bc0ff5db9..a97d570bfb4b 100644 --- a/fastlane/lanes/build.rb +++ b/fastlane/lanes/build.rb @@ -287,7 +287,7 @@ build_version: build_code_current_internal, app_identifier: 'org.wordpress.internal' ) - + end # Builds the WordPress app for a Prototype Build ("WordPress Alpha" scheme), and uploads it to App Center @@ -358,6 +358,7 @@ def generate_prototype_build_number # Builds a Prototype Build for WordPress or Jetpack, then uploads it to App Center and comment with a link to it on the PR. # # rubocop:disable Metrics/AbcSize + # rubocop:disable Metrics/ParameterLists def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_name:, app_icon:, sentry_project_slug:, app_identifier:) configuration = 'Release-Alpha' @@ -410,10 +411,10 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na ) upload_gutenberg_sourcemaps( - sentry_project_slug: sentry_project_slug, + sentry_project_slug:, release_version: release_version_current, build_version: build_number, - app_identifier: app_identifier + app_identifier: ) # Post PR Comment @@ -498,10 +499,10 @@ def upload_build_to_app_center( def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_version:, app_identifier:) # The bundle and source map files are the same for all architectures. - gutenberg_bundle = File.join(PROJECT_ROOT_FOLDER, "Pods/Gutenberg/Frameworks/Gutenberg.xcframework/ios-arm64/Gutenberg.framework") + gutenberg_bundle = File.join(PROJECT_ROOT_FOLDER, 'Pods/Gutenberg/Frameworks/Gutenberg.xcframework/ios-arm64/Gutenberg.framework') Dir.mktmpdir do |sourcemaps_folder| - # It's important that the bundle and source map files have specific names, otherwise, Sentry + # It's important that the bundle and source map files have specific names, otherwise, Sentry # won't symbolicate the stack traces. FileUtils.cp(File.join(gutenberg_bundle, 'App.js'), File.join(sourcemaps_folder, 'main.jsbundle')) FileUtils.cp(File.join(gutenberg_bundle, 'App.composed.js.map'), File.join(sourcemaps_folder, 'main.jsbundle.map')) @@ -512,8 +513,8 @@ def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_ve # - Build version # This conforms to the following format: @+ # Here are a couple of examples: - # - Prototype build: com.jetpack.alpha@24.2+pr22654-07765b3  - # - App Store build: org.wordpress@24.1+24.1.0.3 + # - Prototype build: com.jetpack.alpha@24.2+pr22654-07765b3 + # - App Store build: org.wordpress@24.1+24.1.0.3 sentry_upload_sourcemap( auth_token: get_required_env('SENTRY_AUTH_TOKEN'), @@ -522,9 +523,9 @@ def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_ve version: release_version, dist: build_version, build: build_version, - app_identifier: app_identifier, + app_identifier:, # When the React native bundle is generated, the source map file references - # include the local machine path, with the `rewrite` and `strip_common_prefix` + # include the local machine path, with the `rewrite` and `strip_common_prefix` # options Sentry automatically strips this part. rewrite: true, strip_common_prefix: true, From a2259f192100587133cba40e172da5d136c13d45 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Thu, 7 Mar 2024 16:57:32 +0100 Subject: [PATCH 22/25] Address dangermattic issues --- fastlane/lanes/build.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/build.rb b/fastlane/lanes/build.rb index a97d570bfb4b..89a00e38510a 100644 --- a/fastlane/lanes/build.rb +++ b/fastlane/lanes/build.rb @@ -287,7 +287,6 @@ build_version: build_code_current_internal, app_identifier: 'org.wordpress.internal' ) - end # Builds the WordPress app for a Prototype Build ("WordPress Alpha" scheme), and uploads it to App Center @@ -442,6 +441,7 @@ def build_and_upload_prototype_build(scheme:, output_app_name:, appcenter_app_na buildkite_annotate(context: "appcenter-info-#{output_app_name}", style: 'info', message: "#{output_app_name} [App Center Build](#{appcenter_install_url}) Info:\n\n#{list}") end # rubocop:enable Metrics/AbcSize + # rubocop:enable Metrics/ParameterLists def inject_buildkite_analytics_environment(xctestrun_path:) require 'plist' From eb83b4c450cd0b5bd09d5ddfb21ba74870927749 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 11 Mar 2024 09:14:55 +0100 Subject: [PATCH 23/25] Update Tracks to version 3.3 --- Podfile | 4 ++-- Podfile.lock | 17 ++++++----------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/Podfile b/Podfile index e1ea15f54989..d8983920cb4f 100644 --- a/Podfile +++ b/Podfile @@ -131,9 +131,9 @@ abstract_target 'Apps' do # Production - # pod 'Automattic-Tracks-iOS', '~> 3.0' + pod 'Automattic-Tracks-iOS', '~> 3.3' # While in PR - pod 'Automattic-Tracks-iOS', git: 'https://github.com/Automattic/Automattic-Tracks-iOS.git', branch: 'add/sentry-js-exception' + # pod 'Automattic-Tracks-iOS', git: 'https://github.com/Automattic/Automattic-Tracks-iOS.git', branch: '' # Local Development # pod 'Automattic-Tracks-iOS', path: '~/Projects/Automattic-Tracks-iOS' diff --git a/Podfile.lock b/Podfile.lock index a1ac8f97467d..0b7a06a0a10e 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -14,7 +14,7 @@ PODS: - AppCenter/Core - AppCenter/Distribute (5.0.3): - AppCenter/Core - - Automattic-Tracks-iOS (3.2.0): + - Automattic-Tracks-iOS (3.3.0): - Sentry (~> 8.0) - Sodium (>= 0.9.1) - UIDeviceIdentifier (~> 2.0) @@ -98,7 +98,7 @@ DEPENDENCIES: - AlamofireNetworkActivityIndicator (~> 3.0) - AppCenter (~> 5.0) - AppCenter/Distribute (~> 5.0) - - Automattic-Tracks-iOS (from `https://github.com/Automattic/Automattic-Tracks-iOS.git`, branch `add/sentry-js-exception`) + - Automattic-Tracks-iOS (~> 3.3) - CocoaLumberjack/Swift (~> 3.0) - CropViewController (= 2.5.3) - Down (~> 0.6.6) @@ -134,6 +134,7 @@ SPEC REPOS: - AlamofireImage - AlamofireNetworkActivityIndicator - AppCenter + - Automattic-Tracks-iOS - CocoaLumberjack - CropViewController - Down @@ -169,9 +170,6 @@ SPEC REPOS: - ZIPFoundation EXTERNAL SOURCES: - Automattic-Tracks-iOS: - :branch: add/sentry-js-exception - :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 @@ -179,9 +177,6 @@ EXTERNAL SOURCES: :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-39749cc4fcc1176074c1550e3645ae814a174750.podspec CHECKOUT OPTIONS: - Automattic-Tracks-iOS: - :commit: d3694e8a352f8cac3f3c26f73125614408c01abc - :git: https://github.com/Automattic/Automattic-Tracks-iOS.git FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 @@ -191,14 +186,14 @@ SPEC CHECKSUMS: AlamofireImage: 843953fa97bee5f561cf05d83abd759e590b068d AlamofireNetworkActivityIndicator: 6564782bd7b9e6c430ae67d9277af01907b01ca4 AppCenter: a4070ec3d4418b5539067a51f57155012e486ebd - Automattic-Tracks-iOS: baa126f98d2ce26fd54ee2534bef6e2d46480a5c + Automattic-Tracks-iOS: fc307762052ec20b733ae76363d1387a9d93d6a5 CocoaLumberjack: 78abfb691154e2a9df8ded4350d504ee19d90732 CropViewController: a5c143548a0fabcd6cc25f2d26e40460cfb8c78c Down: 71bf4af3c04fa093e65dffa25c4b64fa61287373 FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 9926783a31efe04e7b72729c76f897e187974a91 + Gutenberg: c5967e2a09cdd9358e71d2506f10bbbb8aad9d84 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae @@ -230,6 +225,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba ZIPFoundation: d170fa8e270b2a32bef9dcdcabff5b8f1a5deced -PODFILE CHECKSUM: 0b1acbd2a6c822646627ded7f6aa4e7e03076cac +PODFILE CHECKSUM: e85bd1f26f3aacf5429ef8eb55c0f328a6174e7e COCOAPODS: 1.14.2 From d496af01e03ba957a639a1e6450fe6cce37cc42c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 11 Mar 2024 09:20:23 +0100 Subject: [PATCH 24/25] Update Podfile.lock --- Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Podfile.lock b/Podfile.lock index 0b7a06a0a10e..e1b0523c17aa 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -193,7 +193,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: c5967e2a09cdd9358e71d2506f10bbbb8aad9d84 + Gutenberg: 9926783a31efe04e7b72729c76f897e187974a91 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae From eff477f9bfa5e6b113bd7e8016e64694260541df Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Mon, 11 Mar 2024 18:48:06 +0100 Subject: [PATCH 25/25] Update Gutenberg Mobile reference --- Gutenberg/config.yml | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gutenberg/config.yml b/Gutenberg/config.yml index 170cb6ee7bbb..22b068cb4bfe 100644 --- a/Gutenberg/config.yml +++ b/Gutenberg/config.yml @@ -9,6 +9,6 @@ # # LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install ref: - commit: 39749cc4fcc1176074c1550e3645ae814a174750 + tag: v1.115.0-alpha5 github_org: wordpress-mobile repo_name: gutenberg-mobile diff --git a/Podfile.lock b/Podfile.lock index e1b0523c17aa..07b491d70d1b 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -26,7 +26,7 @@ PODS: - FSInteractiveMap (0.1.0) - Gifu (3.3.1) - Gridicons (1.2.0) - - Gutenberg (1.114.0) + - Gutenberg (1.114.1) - JTAppleCalendar (8.0.5) - Kanvas (1.4.9): - CropViewController @@ -105,7 +105,7 @@ DEPENDENCIES: - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.3.1) - Gridicons (~> 1.2) - - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-39749cc4fcc1176074c1550e3645ae814a174750.podspec`) + - Gutenberg (from `https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.115.0-alpha5.podspec`) - JTAppleCalendar (~> 8.0.5) - Kanvas (~> 1.4.4) - MediaEditor (>= 1.2.2, ~> 1.2) @@ -174,7 +174,7 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-39749cc4fcc1176074c1550e3645ae814a174750.podspec + :podspec: https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-v1.115.0-alpha5.podspec CHECKOUT OPTIONS: FSInteractiveMap: @@ -193,7 +193,7 @@ SPEC CHECKSUMS: FSInteractiveMap: a396f610f48b76cb540baa87139d056429abda86 Gifu: 416d4e38c4c2fed012f019e0a1d3ffcb58e5b842 Gridicons: 4455b9f366960121430e45997e32112ae49ffe1d - Gutenberg: 9926783a31efe04e7b72729c76f897e187974a91 + Gutenberg: 8e3c5d6774939c3925ff8e8fbe77b52b06751e01 JTAppleCalendar: 16c6501b22cb27520372c28b0a2e0b12c8d0cd73 Kanvas: cc027f8058de881a4ae2b5aa5f05037b6d054d08 MediaEditor: d08314cfcbfac74361071a306b4bc3a39b3356ae