Skip to content

[pull] main from expo:main#591

Merged
pull[bot] merged 1 commit intocode:mainfrom
expo:main
Feb 14, 2026
Merged

[pull] main from expo:main#591
pull[bot] merged 1 commit intocode:mainfrom
expo:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 14, 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 : )

# Why

For observability/metrics, and for other use cases, we would like to have a more full featured native interface, so that third party modules can get information on the state of updates in a consistent way.

Part of this work was added to `expo-updates-interface` earlier to support metrics. This PR adds to that, and provides a unified interface that works whether updates is enabled or disabled. The old interface used by dev launcher is renamed, and now inherits from the new unified interface.

In addition to providing information like the IDs of the running or the embedded update, the new interfaces allow third party modules to register a listener for updates state machine transitions.

This is an un-revert of #41527, with a fix in Android expo-dev-launcher, and additional CI.

# How

- Renamed the existing interface for dev launcher
- Added new interface definitions
- Added code so that `UpdatesControllerRegistry.controller` has a reference to the updates controller in all cases (disabled, enabled, dev launcher)
- Added code to the Updates E2E test native module and to the test JS app to demonstrate the interface and the state machine listener feature

# Test Plan

- New tests and features in the updates E2E tests to exercise the new functionality
- Manual testing in a branch of UpdatesAPIDemo
@pull pull bot locked and limited conversation to collaborators Feb 14, 2026
@pull pull bot added the ⤵️ pull label Feb 14, 2026
@pull pull bot merged commit de7b52b into code:main Feb 14, 2026
12 of 14 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.

1 participant