From 023d4f4bdd979781d309ddf3f6f20c2d869d014f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Wed, 20 May 2026 18:11:29 +0200 Subject: [PATCH 1/2] Improve iOS config fallback Sentry diagnostics --- CHANGELOG.md | 2 ++ .../eas-cli/src/project/ios/entitlements.ts | 21 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfe36d3cd2..ab1f4f25a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ This is the log of notable changes to EAS CLI and related packages. ### ๐Ÿ› Bug fixes +- [eas-cli] Improve Sentry diagnostics for managed iOS entitlements config fallback. + ### ๐Ÿงน Chores ## [19.0.4](https://github.com/expo/eas-cli/releases/tag/v19.0.4) - 2026-05-20 diff --git a/packages/eas-cli/src/project/ios/entitlements.ts b/packages/eas-cli/src/project/ios/entitlements.ts index 8cdabd1382..8748ab198c 100644 --- a/packages/eas-cli/src/project/ios/entitlements.ts +++ b/packages/eas-cli/src/project/ios/entitlements.ts @@ -20,7 +20,7 @@ export async function getManagedApplicationTargetEntitlementsAsync( env: Record, vcsClient: Client ): Promise { - let expoConfigError: Error | undefined; + let expoConfigError: any; if (isExpoInstalled(projectDir)) { try { const { stdout } = await spawnExpoCommand( @@ -45,15 +45,22 @@ export async function getManagedApplicationTargetEntitlementsAsync( scope.setTag('build_id', process.env.EAS_BUILD_ID); } scope.setTag('config_resolution', 'ios_entitlements_introspection'); - scope.setExtra('message', 'iOS entitlements config fallback'); - scope.setExtra('stdout', error.stdout); - scope.setExtra('stderr', error.stderr); - Sentry.captureException(error); + scope.setExtra( + 'expo_config_command_error', + JSON.stringify({ + message: error.message, + output: error.output, + signal: error.signal, + status: error.status, + stderr: error.stderr, + stdout: error.stdout, + }) + ); + Sentry.captureMessage('iOS entitlements config fallback', 'error'); }); } catch { // do nothing } - expoConfigError = error; Log.warn( `Failed to read the app config from the project using the local Expo CLI: ${formatError(error)}` @@ -110,7 +117,7 @@ async function resolveManagedApplicationTargetEntitlementsWithBundledConfigAsync } } -function formatError(error: Error & { stderr?: string; stdout?: string }): string { +function formatError(error: any): string { return error.stderr?.trim() || error.stdout?.trim() || error.message; } From f49d315b17fdc877ee3b61b4d190748d33954fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Wed, 20 May 2026 19:12:55 +0200 Subject: [PATCH 2/2] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab1f4f25a6..30abf31744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ This is the log of notable changes to EAS CLI and related packages. ### ๐Ÿ› Bug fixes -- [eas-cli] Improve Sentry diagnostics for managed iOS entitlements config fallback. +- [eas-cli] Improve Sentry diagnostics for managed iOS entitlements config fallback. ([#3763](https://github.com/expo/eas-cli/pull/3763) by [@sjchmiela](https://github.com/sjchmiela)) ### ๐Ÿงน Chores