expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
770 stars 81 forks source link

Could not load update in dev client due to 'failed to load all assets' error #2203

Open michaelpomogajko opened 7 months ago

michaelpomogajko commented 7 months ago

Build/Submit details page URL

https://expo.dev/accounts/read-o/projects/read-o-dev

Summary

I'm in the process of migrating to eas update from expo publish. I've created a new dev client build and try to load an version from update server. No matter what I try, I always get Could not load the app: Failed to load all assets error.

Managed or bare?

bare

Environment

expo-env-info 1.2.0 environment info: System: OS: macOS 14.1 Shell: 5.9 - /bin/zsh Binaries: Node: 18.19.0 - ~/Library/Caches/fnm_multishells/67017_1706628327511/bin/node Yarn: 1.22.21 - ~/Library/Caches/fnm_multishells/67017_1706628327511/bin/yarn npm: 10.4.0 - ~/Library/Caches/fnm_multishells/67017_1706628327511/bin/npm Managers: CocoaPods: 1.14.3 - /opt/homebrew/lib/ruby/gems/3.3.0/bin/pod SDKs: iOS SDK: Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2 IDEs: Android Studio: 2023.1 AI-231.9392.1.2311.11330709 Xcode: 15.2/15C500b - /usr/bin/xcodebuild npmPackages: expo: ^50.0.4 => 50.0.4 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.73.2 => 0.73.2 react-native-web: ~0.19.6 => 0.19.10 npmGlobalPackages: eas-cli: 7.1.1 Expo Workflow: bare

npx expo-doctor

✔ Check Expo config for common issues ✖ Check package.json for common issues ✔ Check dependencies for packages that should not be installed directly ✔ Check for common project setup issues ✔ Check npm/ yarn versions ✔ Check Expo config (app.json/ app.config.js) schema ✔ Check that packages match versions required by installed Expo SDK ✔ Check that native modules do not use incompatible support packages ✔ Check for legacy global CLI installed locally ✔ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

The following scripts in package.json conflict with the contents of node_modules/.bin: patch-package.

One or more checks failed, indicating possible issues with the project.

Error output

No response

Reproducible demo or steps to reproduce from a blank project

michaelpomogajko commented 7 months ago

After some investigation of the bundle, I've notices that /fonts are missing (as well as /locales), although they're present in the assetBundlePattern

 assetBundlePatterns: [
    'src/assets/animations/**/*',
    'src/assets/fonts/**/*',
    'src/assets/icons/**/*',
    'src/assets/img/**/*',
    'src/assets/legal/**/*',
    'src/assets/locales/**/*',
    'src/assets/tags/**/*',
    'src/assets/videos/**/*',
  ],

bundle export

Exporting 31 assets:
node_modules/@react-navigation/elements/src/assets/back-icon-mask.png (913 B)
node_modules/@react-navigation/elements/src/assets/back-icon.png (10 variations | 338 B)
src/assets/icons/icons.ttf (23.2 kB)
src/assets/img/affiliate/buy-amazon.png (14.9 kB)
src/assets/img/affiliate/buy-genialokal.png (11.8 kB)
src/assets/img/affiliate/buy-rebuy.png (8.07 kB)
src/assets/img/affiliate/buy-thalia.png (11 kB)
src/assets/img/brush_logo.png (89.7 kB)
src/assets/img/chatGptIcon.png (2.35 kB)
src/assets/img/favicon.png (149 kB)
src/assets/img/iphone_frame.png (85.1 kB)
src/assets/img/onboardingBackground.png (47.8 kB)
src/assets/img/santa_hat.png (2.52 kB)
src/assets/img/team-img.png (386 kB)
src/assets/img/trees.svg (165 kB)
src/assets/legal/imprint.html (1.06 kB)
src/assets/legal/privacy.html (63.8 kB)
src/assets/legal/terms.html (20.8 kB)
src/assets/videos/onboardingBuddyreads.mp4 (2.39 MB)
src/assets/videos/onboardingLibrary.mp4 (2.98 MB)
src/assets/videos/onboardingSuggestions.mp4 (2.92 MB)
src/assets/videos/onboardingTracking.mp4 (1.89 MB)

Exporting 1 bundle for ios:
_expo/static/js/ios/index-960785ecd0e0361020cf6e9b46a5bd41.hbc (9.27 MB)

Exporting 1 bundle for android:
_expo/static/js/android/index-424aa4e8ee90128a5b70955f03cec87a.hbc (9.28 MB)

Exporting 1 file:
metadata.json (3.52 kB)

App exported to: dist
michaelpomogajko commented 7 months ago

Downgraded to v49 and now the bundle includes all assets. Still get the same error though

michaelpomogajko commented 7 months ago

Here's the error log from when I try to load a dev build onto the devClient

[READODev] 🟠 {"message":"File download was successful but base64url-encoded SHA-256 did not match expected; expected:
VOki5d1tvXEM0QWRtpzldPx2SmeNAVDJWNVDeBCsU9U; actual:
gFgNEegMTuQ4Kf2KRcQ6C0UjIRwbhmadCE7MS794nhE","code":"AssetsFailedToLoad","level":"error","stacktrace":["READODev
0x0000000102c7a9b0 $s9EXUpdates13UpdatesLoggerC5error7message4code8updateId05assetH0ySS_AA0B9ErrorCodeOSSSgAKtF + 160","READODev
0x0000000102c7a904 $s9EXUpdates13UpdatesLoggerC5error7message4codeySS_AA0B9ErrorCodeOtF + 72","READODev
0x0000000102c1d2ac
$s9EXUpdates14FileDownloaderC08downloadB07fromURL13verifyingHash6toPath12extraHeaders12successBlock05errorN0y10Foundation0F0V_SSSgSSSDySSypGyAK4DataV_So13NSURLResponseCSStcys5Error_pctFyAQSg_AStcfU_
+ 1536","READODev                            0x0000000102c1dc90
$s9EXUpdates14FileDownloaderC08downloadB07fromURL13verifyingHash6toPath12extraHeaders12successBlock05errorN0y10Foundation0F0V_SSSgSSSDySSypGyAK<…>
michaelpomogajko commented 7 months ago

I could pinpoint the issue down to importing html files. I've tried to add html to the metro config.resolver.assetsExt but no luck