Skip to content

[pull] main from expo:main#759

Merged
pull[bot] merged 10 commits intocode:mainfrom
expo:main
Apr 9, 2026
Merged

[pull] main from expo:main#759
pull[bot] merged 10 commits intocode:mainfrom
expo:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Apr 9, 2026

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 : )

amandeepmittal and others added 5 commits April 9, 2026 11:12
# Why

Several Jetpack Compose component docs use `onPress` in code examples
for `Button` and `IconButton`, but the actual API uses `onClick`
(https://docs.expo.dev/versions/latest/sdk/ui/jetpack-compose/button/#onclick
&
https://docs.expo.dev/versions/latest/sdk/ui/jetpack-compose/iconbutton/#onclick).

Follow-up #44572

# How

- Changed `onPress` to `onClick` on `Button` and `IconButton` components
in 7 Jetpack Compose doc pages across `v55.0.0` and `unversioned`
versions.
- Files changed: `horizontalfloatingtoolbar.mdx`, `host.mdx`,
`index.mdx`, `dropdownmenu.mdx`.

# Test Plan

Verify the code examples render correctly on these pages:
- `/versions/v55.0.0/sdk/ui/jetpack-compose/host/`
- `/versions/v55.0.0/sdk/ui/jetpack-compose/horizontalfloatingtoolbar/`
- `/versions/v55.0.0/sdk/ui/jetpack-compose/dropdownmenu/`
- `/versions/unversioned/sdk/ui/jetpack-compose/host/`
- `/versions/unversioned/sdk/ui/jetpack-compose/dropdownmenu/`

# 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)
…re `installOnUIRuntime` (#44582)

# Why

`installOnUIRuntime()` crashes with `WorkletUIRuntimeException` because
it
[requires](https://github.com/expo/expo/blob/0edb4d965b2004ad6a96a4a225224dfc77f9e8a9/packages/expo-modules-core/ios/Core/Modules/CoreModule.swift#L43)
that reanimated should be imported before calling it. Reanimated sets
the global `WORKLET_RUNTIME_KEY` key. This was missed while testing as
reanimated was getting imported in Testing screen. Ideally we should not
require reanimated. Looking into that separately as it will require core
changes.

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

# How

- Import reanimated before calling `installOnUIRuntime()`. Surround them
with try/catch since reanimated and worklets are currently optional in
Expo UI.
- Updated some file structure.

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

# Test Plan

Tested that crash is not reproducible.

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

- [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)
…pattern (#44535)

# Why

Fix ENG-20486

The docs project uses `@vvago/vale@3.12.0`, a third-party npm package
that wraps the Vale CLI binary. It pulls in `axios`, `tar`, and other
transitive dependencies just to download a single binary during
`postinstall`. We have no control over its install mechanism, and it
adds unnecessary weight to `node_modules`.

Also, bump Vale's version to 3.14.1 (which is latest:
https://github.com/vale-cli/vale).

# How

- Add `scripts/install-vale.sh` that downloads the Vale binary directly
from GitHub releases using `curl` and `tar`. It detects OS/arch, caches
the binary at `.vale/bin/vale`, and skips re-download if the correct
version is already installed.
- Remove `@vvago/vale` from `devDependencies` in `package.json`.
- Add an `install-vale` script and append `yarn install-vale` to
`postinstall` so the binary is auto-installed on `yarn install`.
- Update `lint-prose` to use `.vale/bin/vale` instead of the
npm-provided `vale` binary.
- Add `.vale/bin/` to `.gitignore` so the downloaded binary is not
committed.
- Update the "Prose linter" section in `README.md` to document the new
install mechanism.
- Remove unused `[**/out/**]` exclusion from `.vale.ini`.
- Add `docs/.vale-version` file to centralize Vale version. This way, we
can use the same version on the CI later (docs PR workflows).

# Test Plan

- Run `yarn install-vale` and confirm `.vale/bin/vale` exists. 
- Run `.vale/bin/vale --version` and confirm it prints `vale version
3.12.0`.
- Run `yarn lint-prose` and confirm it lints docs as before.


## Script local result after running `yarn lint-prose`

After Updating the `glob` Pattern for `lint-prose` script, it correctly
identifies unique files (which are a little over 1k than before 2.4k+).

<img width="1992" height="350" alt="CleanShot 2026-04-06 at 17 39 09@2x"
src="https://github.com/user-attachments/assets/0ab57b5e-385f-4972-985c-494dff3cd82d"
/>

The time it takes `lint-prose` script to execute also reduced by ~5
seconds, from previous of ~13s to ~8s.

<img width="1964" height="286" alt="CleanShot 2026-04-06 at 17 47 12@2x"
src="https://github.com/user-attachments/assets/5bfbc6b7-aaab-4ef4-bb79-5bc3299a2e06"
/>

Previously it was traversing `.md` files inside `out/` directory, but
wasn't providing reports for those files. We don't want to traverse/run
Vale on those files since they are generated at build time.

# 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)
@pull pull bot locked and limited conversation to collaborators Apr 9, 2026
@pull pull bot added the ⤵️ pull label Apr 9, 2026
vonovak and others added 5 commits April 9, 2026 12:47
# Why

to give claude instructions for authoring expo ui components

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

- [ ] 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)
… repack job documentation (#44625)

# Why

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

It is a common EAS workflows scenario to use Repack job combined with
Get Build job with `wait_for_in_progress: true`, but for newcomers it's
not clear that it's possible looking just at the Repack job docs.

# How

Put a note section mentioning that under the Repack job syntax section.

Additionally fixed a typo.

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

<img width="681" height="431" alt="image"
src="https://github.com/user-attachments/assets/86e598ca-6197-4b58-b738-5f641849c839"
/>

Tested manually.

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

---------

Co-authored-by: Aman Mittal <amandeepmittal@live.com>
# Why

We're adding support for `on.app_store_connect` triggers to EAS
workflows.

# How

Updated the docs for EAS workflows ("Introducion", "Get Started",
"Syntax") with informations about the new features.

# Test Plan

Tested manually

<img width="1205" height="237" alt="image"
src="https://github.com/user-attachments/assets/e12515c9-95ff-4e48-b07a-6b13bc8f6493"
/>

<img width="1202" height="748" alt="image"
src="https://github.com/user-attachments/assets/cbfc0adf-f900-4c18-9545-bf76d0551529"
/>

<img width="1222" height="904" alt="image"
src="https://github.com/user-attachments/assets/85d1a957-034d-493c-bc19-36a22149b03c"
/>

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

# Why

Since CocoaPods is only supported on macOS, attempting to run pod
installation on other operating systems (such as Linux or Windows)
results in unnecessary errors or failed setups. By skipping this step in
non-macOS environments, we ensure smoother installation and better
cross-platform compatibility.

# How

Add flag via commander

# Test Plan

```
$ npx install-expo-modules@latest --skip-pod-install
```
Pods should not be installed, so the process can safely proceed on
non-macOS systems.

# 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)
…lace (#44531)

## Summary

Fixes [#44385](#44385): when
replacing the video URL/stream on the same `VideoPlayer` (e.g. switching
from an HD to an SD source), Android could show the previous stream on
the `SurfaceView` until the new stream rendered its first frame.

This PR resets `VideoView` surface visibility on `onSourceChanged` so
the surface is hidden during source replacement and shown again on first
frame.

## Scope

This branch is cut from current `main` and includes only `expo-video`
changes.

## Test plan

- [ ] CI
- [ ] Android repro from issue: switch HD -> SD source on same player
and verify no ghosting / stale frame overlay

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: vj2303 <vishnu.jangid@ax-ia.ai>
@pull pull bot merged commit 1544992 into code:main Apr 9, 2026
1 of 2 checks passed
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.

7 participants