Skip to content

[pull] main from expo:main#865

Merged
pull[bot] merged 9 commits into
code:mainfrom
expo:main
May 14, 2026
Merged

[pull] main from expo:main#865
pull[bot] merged 9 commits into
code:mainfrom
expo:main

Conversation

@pull

@pull pull Bot commented May 14, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

tsapeta and others added 9 commits May 14, 2026 18:15
…43860)

# Why

The `getLoadedFonts()` function on Android was not including XML-defined
fonts in its returned list, only showing fonts loaded the module or
present in the `fonts` dir on the FS.

closes #42973

# How

Modified the font loading logic to include both custom font families
from `ReactFontManager` and asset-based fonts. The `loadedFonts`
variable is now lazily initialized and combines fonts from both sources

# Test Plan

- Test that `getLoadedFonts()` returns both programmatically loaded
fonts and XML-defined fonts on Android.

# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

---------

Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
# Why

Following @Kudo review in #45776

# How

- Added a notice in docs for `matchContents` horizontal / vertical
- Don't enforce default `layoutDirection`
- Remove `handleOnLayout` `useCallback`
- Fix `ignoreSafeArea` behavior

# Test Plan

- `pnpm build` and `pnpm lint --max-warnings 0` in `packages/expo-ui`
pass.
- Manually verified each prop in a web build of native-component-list:
notch padding visible by default, `ignoreSafeArea="all"` removes it,
`matchContents` shrinks to children, `layoutDirection="rightToLeft"`
flips a `Row`, `onLayoutContent` fires with the right dimensions,
`useViewportSizeMeasurement` fills the viewport and tracks resize
without re-rendering the Host.
- iOS and Android are unaffected: the `.ios.tsx` / `.android.tsx` files
still re-export from `@expo/ui/swift-ui` and `@expo/ui/jetpack-compose`.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

#44598 replaced `"main": "build"` with `"exports": { ".":
"./build/index.js" }`. Metro resolves the exports path exactly and no
longer falls back to platform extensions, so React Native bundled the
web stubs and `preventAutoHideAsync` / `hide` / `hideAsync` /
`setOptions` became no-ops on native.

# How

Renamed the platform entries to `SplashScreen.ts` /
`SplashScreen.native.ts` and made `index.ts` re-export from
`./SplashScreen`. Platform resolution now happens on the internal
import, so a single `build/index.js` entry works for both targets.

# Test Plan

- Native app: `SplashScreen.preventAutoHideAsync()` actually prevents
auto-hide.
- Web: still resolves to the stubs.

# Checklist

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

I'm not quite sure why we always log this. Compare to, e.g. starting the
iOS app, this would keep the logs clear of any repeating logs that are
always there.

> [!NOTE]
> It looks like we're still using `react-native-web`'s `AppRegistry` in
many cases, which I wasn't aware of. We'll have to revisit that, but I
think this change still makes sense

# How

- Skip development log in `AppRegistry` on web when the params are the
"usual" ones

# Test Plan

- Manually tested

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why
Parity with expo/eas-cli#3555

# How
Hit /v2/auth/logout endpoint on logout. If it fails, just remove
credential locally (existing behavior) and credential will soon expire.

# Test Plan
Run updated tests.
Ran whoami -> login -> logout -> whoami -> login successfully
Verified manually session was invalidated.
@pull pull Bot locked and limited conversation to collaborators May 14, 2026
@pull pull Bot added the ⤵️ pull label May 14, 2026
@pull pull Bot merged commit fc85cba into code:main May 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants