Skip to content

[pull] main from expo:main#879

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

[pull] main from expo:main#879
pull[bot] merged 5 commits into
code:mainfrom
expo:main

Conversation

@pull

@pull pull Bot commented May 19, 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 : )

intergalacticspacehighway and others added 5 commits May 19, 2026 13:09
# Why

Property observer can be used to react on change of native state
https://www.hackingwithswift.com/read/8/5/property-observers-didset. It
can be also used to override SwiftUI/Compose set state values (e.g.
clamping in slider)

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

Adds `onChange` API that accepts a worklet callback to observe native
state value changes. The API is kept simple `.onChange` setter and not
`addEventListener` or a hook as currently it intends to only supports a
single listener. Open to suggestions if anyone has a better approach.

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

Added an example in NCL

<!--
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.
-->

- [ ] 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)
…#45868)

## Summary

Related to #45837

`productName` and `packageName` are interpolated into paths and the SPM
manifest, and we can do a bit better in validating that that's safe to
do so.

## 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).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…st` as `RequestInit` input or `same-origin` credentials (#45958)

## Summary

Resolves #45909

The `isRequest` check shifted due to implementation changes to not
accept its own `NativeRequest` as inputs anymore. We should check both
`instanceof Request` to capture it and `init[Symbol.toStringTag] ===
'Request'` (as per #44806; which, side-note, seems to maybe be missing
from our own `Request` right now)

This is testable using the linked issue's reproduction.

## 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)
…45925)

# Why

While testing a fresh Expo app, I noticed that running `npm i
react-native-worklets@0.9.0-nightly-20260516-225ca6024` would reorder
the `dependencies` field in `package.json`, producing a non-minimal
diff:

<img width="1372" height="283" alt="Screenshot 2026-05-18 at 10 11 31"
src="https://github.com/user-attachments/assets/397172bc-0682-48e7-bd97-ca020615b5da"
/>

The root cause is that `react-native-worklets` was out of alphabetical
order in `templates/expo-template-default/package.json` (it sat between
`react-native-gesture-handler` and `react-native-reanimated` instead of
after `react-native-web`), so any package manager touching
`dependencies` would re-sort the block and surface unrelated changes in
the diff.

# How

Sorted `dependencies` and `devDependencies` keys alphabetically using
default lexicographic string comparison — the same order npm, yarn, and
pnpm use when they add or remove entries. Only `package.json` files are
touched; lockfiles are not affected by this change.

# Test Plan

- Inspected the diff: both changed files have equal insertions and
deletions, confirming pure reordering with no incidental reformatting.
- Repro for the original motivation: in a fresh app generated from
`expo-template-default`, before this PR `npm i
react-native-worklets@<any-version>` reorders multiple lines in
`dependencies`; after this PR it only changes the single
`react-native-worklets` version string.

# 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)
- [x] 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)

---------

Co-authored-by: Phil Pluckthun <phil@kitten.sh>
…ctivity names (#45773)

## Summary

- fix Android launch activity resolution when a custom app id is paired
with a fully-qualified activity name

## Test plan
- pnpm --filter @expo/cli test --
src/run/android/__tests__/resolveLaunchProps-test.ts --runInBand
@pull pull Bot locked and limited conversation to collaborators May 19, 2026
@pull pull Bot added the ⤵️ pull label May 19, 2026
@pull pull Bot merged commit f98d1d7 into code:main May 19, 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.

4 participants