fix(expo, asset, cli)!: unify asset hashing (#24090)# Why Convert the `../` segments of the server URL to `_` to support monorepos. This same transformation takes place in `AssetSourceResolver
fix(expo, asset, cli)!: unify asset hashing (#24090)# Why Convert the `../` segments of the server URL to `_` to support monorepos. This same transformation takes place in `AssetSourceResolver.web` (expo-assets, expo-image) and `persistMetroAssets` of Expo CLI, this originally came from the [Metro opinion](https://github.com/react-native-community/cli/blob/2204d357379e2067cebe2791e90388f7e97fc5f5/packages/cli-plugin-metro/src/commands/bundle/getAssetDestPathIOS.ts#L19C5-L19C10). The purpose is to ensure no URL like `/foo/../bar.png` is requested, as the result would be `/bar.png` which wouldn't work. The of how to handle this didn't come from us, but we do need to ensure it's unified. At a high-level, this does prevent the usage of certain files, as `/foo/../bar.png` will be `/foo/_bar.png`, meaning a file named `/foo/_bar.png` cannot also exist. This logic, while applied at runtime, is actually only valid for production exports as we don't move or alias files in development. The only way to have valid development files is to ensure `../` never appears in the URL, i.e. by using `unstable_serverRoot`. - Drop legacy `expo/tools/hashAssetFiles.js` in favor of `expo-asset` version. - Unify runtime logic of asset file loading for monorepos. - Split out of https://github.com/expo/expo/pull/23911 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
show more ...
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-pr
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-proposals/issues/671#issuecomment-1677632448 # How - [packages][bare-expo] set jvm version only if AGP < 8 - [av][dev-launcher] fix AGP 8 non transitive R issue - [dev-client][dev-launcher][dev-menu][core][notifications] fix AGP 8 non default buildConfig issue # Test Plan ci passed in #23961 (https://github.com/expo/expo/pull/23961/checks)
[dev-launcher] Update user avatars to use the same logic as the website (#23114)# Why Closes ENG-7614 # How This PR adds a building icon to `dev-client-components` (the same one used on
[dev-launcher] Update user avatars to use the same logic as the website (#23114)# Why Closes ENG-7614 # How This PR adds a building icon to `dev-client-components` (the same one used on the website) and adds a `Avatar` component to `dev-launcher` to handle all the logic for rendering an account avatar. # Test Plan Run dev-client through bare-expo <table> <tr><th>Android</th><th>iOS</th></tr> <tr> <td> <video src="https://github.com/expo/expo/assets/11707729/f1ce2d4f-a1e1-4988-85d7-5250a3a2ad23"/> </td> <td> <video src="https://github.com/expo/expo/assets/11707729/d5a7df31-2dd8-47ce-8580-f4a0b7e1cf5b" /> </td> </tr> </table> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
[dev-client] Fix rnscreen was not found in the UIManager & rebuild js
[dev-launcher] Fix `RCTStatusBarManager module requires that the UIViewControllerBasedStatusBarAppearance to be false` (#17022)# Why Closes https://github.com/expo/expo/issues/15801. Closes ENG
[dev-launcher] Fix `RCTStatusBarManager module requires that the UIViewControllerBasedStatusBarAppearance to be false` (#17022)# Why Closes https://github.com/expo/expo/issues/15801. Closes ENG-4548. # How - Remove `StatusBar` component. - Rebuild js # Test Plan - bare-expo ✅
[dev-client] Rebuild js & fix onboarding screen capturing all events & fix go back home button (#16790)# Why Rebuild js. Fix the onboarding screen capturing all events. Fix the home button.
[dev-client] Rebuild js & fix onboarding screen capturing all events & fix go back home button (#16790)# Why Rebuild js. Fix the onboarding screen capturing all events. Fix the home button. # How Rebuild js files - without that, the app is stuck on the splash screen. Fix the home button - the action how to be called on the main thread. Fix the onboarding screen capturing all press events, even if hidden. # Test Plan - run bare-expo locally ✅
[dev-launcher][dev-menu] move queryDevSessions into react app (#16276)
[dev-client] Rebuild app js