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).
[menu][Android] Rewrite safe area view using new API (#21609)
[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
[dev-launcher] Update footer style on main screen (#13000)# Why Closes ENG-1129. # How Redesign the footer on the main screen. # Test Plan - bare-expo ✅
[expo-dev-launcher] Fix bundled images (#12668)Co-authored-by: Łukasz Kosmaty <[email protected]>
[expo-dev-launcher] Temporarily remove images
[expo-dev-client] Rebuild js
[dev-launcher] Fix logs & add swift flag (#11720)# Why Fixes console logs in the dev-launcher, adds the swift flag, exports manifest via `expo-constants`. # How According to https://www.
[dev-launcher] Fix logs & add swift flag (#11720)# Why Fixes console logs in the dev-launcher, adds the swift flag, exports manifest via `expo-constants`. # How According to https://www.notion.so/expo/1-20-20-Dev-Client-Sync-fe9068d2a318486d95df24fa04e4b29d#d20c8ffc83e74697b1d339830aded4c7. # Test Plan - bare-expo ✅
[dev-launcher] Add local packagers detection (#11708)# Why Adds local packagers detection to make simulator flow better. **Note: it's a temporary solution but for now, this should be enough.**
[dev-launcher] Add local packagers detection (#11708)# Why Adds local packagers detection to make simulator flow better. **Note: it's a temporary solution but for now, this should be enough.** # How - Pings localhost to check if packager is running. # Test Plan - bare-expo ✅
[dev-menu] Make error messages less verbose (#11667)# Why Makes error messages less verbose - https://www.notion.so/expo/1-14-20-Dev-Client-Sync-0fa32f76ba9345c99f6ca57918528b1c#af6a975d2d2b4e7a
[dev-menu] Make error messages less verbose (#11667)# Why Makes error messages less verbose - https://www.notion.so/expo/1-14-20-Dev-Client-Sync-0fa32f76ba9345c99f6ca57918528b1c#af6a975d2d2b4e7a87c5f017deb89f6e.
[dev-launcher] Remove from release builds (#11271)# Why We don't want to include the `dev-launcher` in the release build. # How Similar to https://github.com/expo/expo/pull/10091 and https
[dev-launcher] Remove from release builds (#11271)# Why We don't want to include the `dev-launcher` in the release build. # How Similar to https://github.com/expo/expo/pull/10091 and https://github.com/expo/expo/pull/10087. > Note: This PR only contains changes connected to Android. We don't need to do anything else then adding `expo-dev-launcher` as debug dependency on iOS (`pod 'expo-dev-launcher', path: '../../../packages/expo-dev-launcher', :configurations => :debug`) # Test Plan - bare-expo (in debug & release) ✅