Skip to content

Conversation

Wenszel
Copy link
Collaborator

@Wenszel Wenszel commented Jul 24, 2025

Why

Depends on #38226, which aims to rewrite the MediaLibrary module to be coroutine-based.

How

  • Refactored runActionWithPermissions to return a value instead of just triggering an intent.
    In order to remove Promise usage from functions relying on runActionWithPermissions, it was necessary to make runActionWithPermissions return a value, instead of just running an intent.
    Was:
    save action -> run intent -> handle result and execute saved action in OnActivityResult
    Is:
    register launcher using RegisterActivityContract -> launch it as a suspendable function within runActionWithPermissions
  • Replaced all promise.reject usages with CodedException
  • Rewrote native tests, as the constructors no longer take a Promise.
  • Refactored initializeDefaultAssetsAsync in the TS tests to make the logic more verbose.
  • Removed moduleCoroutineScope, and replaced its usage with the Coroutine annotation in the AsyncFunction declarations.

Test Plan

Tested on BareExpo ✅

Screenshot_20250725_083158

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Jul 24, 2025
@expo-bot
Copy link
Collaborator

expo-bot commented Jul 24, 2025

The Pull Request introduced fingerprint changes against the base commit: 7fc93f6

Fingerprint diff
[
  {
    "op": "changed",
    "beforeSource": {
      "type": "dir",
      "filePath": "../../packages/expo-media-library/android",
      "reasons": [
        "expoAutolinkingAndroid"
      ],
      "hash": "7dd24d67b7aed535107f6991fe0de1cd0498874c"
    },
    "afterSource": {
      "type": "dir",
      "filePath": "../../packages/expo-media-library/android",
      "reasons": [
        "expoAutolinkingAndroid"
      ],
      "hash": "df85207126c9d994d06b387d54b9f030a816af14"
    }
  }
]

Generated by PR labeler 🤖

@Wenszel Wenszel marked this pull request as ready for review July 25, 2025 07:20
@Wenszel Wenszel requested a review from lukmccall July 25, 2025 07:20
Copy link
Contributor

Subscribed to pull request

File Patterns Mentions
packages/expo-media-library/** @behenate, @alanjhughes

Generated by CodeMention

@Wenszel Wenszel requested a review from lukmccall July 28, 2025 14:43
@Wenszel Wenszel force-pushed the @wenszel/feat/medialibrary-remove-promises branch 2 times, most recently from 1d9d4e2 to 00693ef Compare July 29, 2025 12:20
@expo expo deleted a comment from expo-bot Jul 29, 2025
@Wenszel Wenszel requested a review from behenate July 30, 2025 06:20
@Wenszel Wenszel force-pushed the @wenszel/feat/medialibrary-remove-callbacks branch from edb8fa5 to f855a9c Compare August 4, 2025 10:50
Base automatically changed from @wenszel/feat/medialibrary-remove-callbacks to main August 4, 2025 10:51
@Wenszel Wenszel force-pushed the @wenszel/feat/medialibrary-remove-promises branch from 1fba659 to 8ee0d90 Compare August 4, 2025 11:01
@expo-bot
Copy link
Collaborator

expo-bot commented Aug 4, 2025

Hi there! 👋 I'm a bot whose goal is to ensure your contributions meet our guidelines.

I've found some issues in your pull request that should be addressed (click on them for more details) 👇

⚠️ Suggestion: Missing changelog entries


Your changes should be noted in the changelog, e.g.:
- [android] Remove promises ([#38301](https://github.com/expo/expo/pull/38301) by [@Wenszel](https://github.com/Wenszel))
Read Updating Changelogs guide and consider adding an appropriate entry to the following changelogs:


Generated by ExpoBot 🤖 against 8ee0d90

@lukmccall lukmccall merged commit 7d580a6 into main Aug 4, 2025
9 checks passed
@lukmccall lukmccall deleted the @wenszel/feat/medialibrary-remove-promises branch August 4, 2025 11:02
hirbod added a commit that referenced this pull request Aug 4, 2025
…ails to load, providing clearer guidance for users.

Updated the error handling logic in `resolveConfigPluginFunctionWithInfo` to include more detailed messages about the underlying errors and potential issues with the plugin reference. Added a link to the documentation for further assistance.

chore: add changelog

refactor: simplify error handling in plugin resolver

Removed redundant error handling logic in `resolveConfigPluginFunctionWithInfo` to streamline the process of resolving config plugins. This change enhances clarity in error messaging while maintaining functionality.

chore: pr nits

Update error messages in plugin resolver for improved clarity and guidance. Adjusted links to documentation and refined wording for better user understanding when config plugins fail to load.

nits: adjust text

update text

typo

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[ios][0.81.0] Use RN Precompiled binaries in tests (#38466)

Use precompiled binaries when running tests

Added to the build / pod install step in ios-unit-tests and test-suite

Run tests, measure speed of iOS builds

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

Add Apple TV support to several packages (#38513)

Add tvOS support to

- expo-app-integrity
- expo-image-loader
- expo-image-manipulator
- expo-insights
- expo-task-manager
- expo-video-thumbnails
- unimodules-app-loader

- Add tvOS to podspecs
- One source change needed in expo-task-manager
- Add packages to TV compile test project

CI should pass

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

[symbols][Android] Suppress `the native view manager isn't exported` warning (#38504)

[dev-launcher][android] Update floating action button icon and label (#38501)

[dev-menu][android] Update floating action button design (#38497)

[expo][Android] Run `spotlessApply`

[media-library][android] Rewrite getAssetsAsync to Coroutines (#38193)

[media-library][android] Refactor requiring permissions (#38226)

chore(tools): Ratchet up dependencies checks (`@expo/image-utils`, expo-asset, expo-image, expo-video, expo-audio) (#38182)

chore(tools): Disallow importing `metro` and `metro-*` in dependencies checks (#38289)

[media-library][android] Remove promises (#38301)

[docs] Fix grammar in useFocusEffect example in Router reference(#38515)

[Docs] Update typed-routes.mdx (#34143)

Co-authored-by: Aman Mittal <[email protected]>

[docs] fix expo-navigation-bar example import (#38526)

[media-library][android] Refactor `MediaLibraryModule` (#38324)

[cli] prebuild only the platforms specified in app.json (#31752)

Fixes #18386. Expo prebuild was being
run for a platform even if the platform is not specified in `platforms`
field of `app.json`. Now prebuild will ignore platforms which are not
present in `app.json`.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Added a filter to exclude platforms not present in app.json before
proceeding with the prebuild process.

The following scenarios were tested to verify the changes:

1. With `"platforms": ["ios"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for iOS.
b. Running `npx expo prebuild -p android` skips prebuild and displays a
warning.

2. With `"platforms": ["android"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for Android.
b. Running `npx expo prebuild -p ios` skips prebuild and displays a
warning.

3. Without `platforms` field in `app.json`:
a. Running `npx expo prebuild` executes prebuild for all platforms.
<!--
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.
-->

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

---------

Co-authored-by: Vojtech Novak <[email protected]>

[tools][promote-packages] Assign sdk-xx tag when promoting bare-minimum (#38490)

SDK tag (`sdk-xx`) on `expo-template-bare-minimum` is really important.

Assign sdk-xx tag when promoting bare-minimum template.

[tools][pp] clean templates and improve logs (#38491)

I've setup a local npm registry to test
#37366 without `--dry` and noticed some
small issues.

* Improve `addTemplateTarball` logs
* Add templates to `cleanWorkingTree`

`et pp`

Bump react-native-worklets to 0.4.1 (#38469)

[media-library][android] Add context and ensureActivity to suspend functions (#38373)

[templates] Add tabs react navigation template (#38212)

Closes
https://linear.app/expo/issue/ENG-15261/create-react-navigation-version-of-starter-current-template

From our default template, I took: components, hooks, screens, and
adapted to use React Navigation.

I ran the template locally and made sure it looked identical to our
default template. I changed the export router text on the screens and
also ensured that it ran on the web and was responsive to dark mode.

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

fix(expo-modules-core): Add missing peers (react/react-native) (#38528)

Both are depended on by `expo-modules-core` and are referenced in their
code (not only as types). We should add them as peers. This shouldn't
have any unexpected consequences since both are expected to be project
root dependencies.

- Add missing peer dependencies
- Update dependencies check

- `yarn pack`
- Add resolution test project
- Install with pnpm (isolated, and non-isolated), Install with Yarn
- Observe if dependencies are duplicated or misaligned after a fresh
install

<!--
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).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

[go][android] Update design of the floating action button in the old dev menu (#38500)

Co-authored-by: lukmccall <[email protected]>

fix: snapshots
hirbod added a commit that referenced this pull request Aug 4, 2025
…ails to load, providing clearer guidance for users.

Updated the error handling logic in `resolveConfigPluginFunctionWithInfo` to include more detailed messages about the underlying errors and potential issues with the plugin reference. Added a link to the documentation for further assistance.

chore: add changelog

refactor: simplify error handling in plugin resolver

Removed redundant error handling logic in `resolveConfigPluginFunctionWithInfo` to streamline the process of resolving config plugins. This change enhances clarity in error messaging while maintaining functionality.

chore: pr nits

Update error messages in plugin resolver for improved clarity and guidance. Adjusted links to documentation and refined wording for better user understanding when config plugins fail to load.

nits: adjust text

update text

typo

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[ios][0.81.0] Use RN Precompiled binaries in tests (#38466)

Use precompiled binaries when running tests

Added to the build / pod install step in ios-unit-tests and test-suite

Run tests, measure speed of iOS builds

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

Add Apple TV support to several packages (#38513)

Add tvOS support to

- expo-app-integrity
- expo-image-loader
- expo-image-manipulator
- expo-insights
- expo-task-manager
- expo-video-thumbnails
- unimodules-app-loader

- Add tvOS to podspecs
- One source change needed in expo-task-manager
- Add packages to TV compile test project

CI should pass

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

[symbols][Android] Suppress `the native view manager isn't exported` warning (#38504)

[dev-launcher][android] Update floating action button icon and label (#38501)

[dev-menu][android] Update floating action button design (#38497)

[expo][Android] Run `spotlessApply`

[media-library][android] Rewrite getAssetsAsync to Coroutines (#38193)

[media-library][android] Refactor requiring permissions (#38226)

chore(tools): Ratchet up dependencies checks (`@expo/image-utils`, expo-asset, expo-image, expo-video, expo-audio) (#38182)

chore(tools): Disallow importing `metro` and `metro-*` in dependencies checks (#38289)

[media-library][android] Remove promises (#38301)

[docs] Fix grammar in useFocusEffect example in Router reference(#38515)

[Docs] Update typed-routes.mdx (#34143)

Co-authored-by: Aman Mittal <[email protected]>

[docs] fix expo-navigation-bar example import (#38526)

[media-library][android] Refactor `MediaLibraryModule` (#38324)

[cli] prebuild only the platforms specified in app.json (#31752)

Fixes #18386. Expo prebuild was being
run for a platform even if the platform is not specified in `platforms`
field of `app.json`. Now prebuild will ignore platforms which are not
present in `app.json`.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Added a filter to exclude platforms not present in app.json before
proceeding with the prebuild process.

The following scenarios were tested to verify the changes:

1. With `"platforms": ["ios"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for iOS.
b. Running `npx expo prebuild -p android` skips prebuild and displays a
warning.

2. With `"platforms": ["android"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for Android.
b. Running `npx expo prebuild -p ios` skips prebuild and displays a
warning.

3. Without `platforms` field in `app.json`:
a. Running `npx expo prebuild` executes prebuild for all platforms.
<!--
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.
-->

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

---------

Co-authored-by: Vojtech Novak <[email protected]>

[tools][promote-packages] Assign sdk-xx tag when promoting bare-minimum (#38490)

SDK tag (`sdk-xx`) on `expo-template-bare-minimum` is really important.

Assign sdk-xx tag when promoting bare-minimum template.

[tools][pp] clean templates and improve logs (#38491)

I've setup a local npm registry to test
#37366 without `--dry` and noticed some
small issues.

* Improve `addTemplateTarball` logs
* Add templates to `cleanWorkingTree`

`et pp`

Bump react-native-worklets to 0.4.1 (#38469)

[media-library][android] Add context and ensureActivity to suspend functions (#38373)

[templates] Add tabs react navigation template (#38212)

Closes
https://linear.app/expo/issue/ENG-15261/create-react-navigation-version-of-starter-current-template

From our default template, I took: components, hooks, screens, and
adapted to use React Navigation.

I ran the template locally and made sure it looked identical to our
default template. I changed the export router text on the screens and
also ensured that it ran on the web and was responsive to dark mode.

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

fix(expo-modules-core): Add missing peers (react/react-native) (#38528)

Both are depended on by `expo-modules-core` and are referenced in their
code (not only as types). We should add them as peers. This shouldn't
have any unexpected consequences since both are expected to be project
root dependencies.

- Add missing peer dependencies
- Update dependencies check

- `yarn pack`
- Add resolution test project
- Install with pnpm (isolated, and non-isolated), Install with Yarn
- Observe if dependencies are duplicated or misaligned after a fresh
install

<!--
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).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

[go][android] Update design of the floating action button in the old dev menu (#38500)

Co-authored-by: lukmccall <[email protected]>

fix: snapshots
hirbod added a commit that referenced this pull request Aug 4, 2025
…ails to load, providing clearer guidance for users.

Updated the error handling logic in `resolveConfigPluginFunctionWithInfo` to include more detailed messages about the underlying errors and potential issues with the plugin reference. Added a link to the documentation for further assistance.

chore: add changelog

refactor: simplify error handling in plugin resolver

Removed redundant error handling logic in `resolveConfigPluginFunctionWithInfo` to streamline the process of resolving config plugins. This change enhances clarity in error messaging while maintaining functionality.

chore: pr nits

Update error messages in plugin resolver for improved clarity and guidance. Adjusted links to documentation and refined wording for better user understanding when config plugins fail to load.

nits: adjust text

update text

typo

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[background-task] Support Apple TV (#38509)

Background task should work fine on tvOS, no code changes required.

Modify podspec, add package to the TV compile test project.

CI should pass.

[ios][0.81.0] Use RN Precompiled binaries in tests (#38466)

Use precompiled binaries when running tests

Added to the build / pod install step in ios-unit-tests and test-suite

Run tests, measure speed of iOS builds

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

Add Apple TV support to several packages (#38513)

Add tvOS support to

- expo-app-integrity
- expo-image-loader
- expo-image-manipulator
- expo-insights
- expo-task-manager
- expo-video-thumbnails
- unimodules-app-loader

- Add tvOS to podspecs
- One source change needed in expo-task-manager
- Add packages to TV compile test project

CI should pass

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

[symbols][Android] Suppress `the native view manager isn't exported` warning (#38504)

[dev-launcher][android] Update floating action button icon and label (#38501)

[dev-menu][android] Update floating action button design (#38497)

[expo][Android] Run `spotlessApply`

[media-library][android] Rewrite getAssetsAsync to Coroutines (#38193)

[media-library][android] Refactor requiring permissions (#38226)

chore(tools): Ratchet up dependencies checks (`@expo/image-utils`, expo-asset, expo-image, expo-video, expo-audio) (#38182)

chore(tools): Disallow importing `metro` and `metro-*` in dependencies checks (#38289)

[media-library][android] Remove promises (#38301)

[docs] Fix grammar in useFocusEffect example in Router reference(#38515)

[Docs] Update typed-routes.mdx (#34143)

Co-authored-by: Aman Mittal <[email protected]>

[docs] fix expo-navigation-bar example import (#38526)

[media-library][android] Refactor `MediaLibraryModule` (#38324)

[cli] prebuild only the platforms specified in app.json (#31752)

Fixes #18386. Expo prebuild was being
run for a platform even if the platform is not specified in `platforms`
field of `app.json`. Now prebuild will ignore platforms which are not
present in `app.json`.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Added a filter to exclude platforms not present in app.json before
proceeding with the prebuild process.

The following scenarios were tested to verify the changes:

1. With `"platforms": ["ios"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for iOS.
b. Running `npx expo prebuild -p android` skips prebuild and displays a
warning.

2. With `"platforms": ["android"]` in `app.json`:
a. Running `npx expo prebuild` only executes prebuild for Android.
b. Running `npx expo prebuild -p ios` skips prebuild and displays a
warning.

3. Without `platforms` field in `app.json`:
a. Running `npx expo prebuild` executes prebuild for all platforms.
<!--
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.
-->

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

---------

Co-authored-by: Vojtech Novak <[email protected]>

[tools][promote-packages] Assign sdk-xx tag when promoting bare-minimum (#38490)

SDK tag (`sdk-xx`) on `expo-template-bare-minimum` is really important.

Assign sdk-xx tag when promoting bare-minimum template.

[tools][pp] clean templates and improve logs (#38491)

I've setup a local npm registry to test
#37366 without `--dry` and noticed some
small issues.

* Improve `addTemplateTarball` logs
* Add templates to `cleanWorkingTree`

`et pp`

Bump react-native-worklets to 0.4.1 (#38469)

[media-library][android] Add context and ensureActivity to suspend functions (#38373)

[templates] Add tabs react navigation template (#38212)

Closes
https://linear.app/expo/issue/ENG-15261/create-react-navigation-version-of-starter-current-template

From our default template, I took: components, hooks, screens, and
adapted to use React Navigation.

I ran the template locally and made sure it looked identical to our
default template. I changed the export router text on the screens and
also ensured that it ran on the web and was responsive to dark mode.

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

fix(expo-modules-core): Add missing peers (react/react-native) (#38528)

Both are depended on by `expo-modules-core` and are referenced in their
code (not only as types). We should add them as peers. This shouldn't
have any unexpected consequences since both are expected to be project
root dependencies.

- Add missing peer dependencies
- Update dependencies check

- `yarn pack`
- Add resolution test project
- Install with pnpm (isolated, and non-isolated), Install with Yarn
- Observe if dependencies are duplicated or misaligned after a fresh
install

<!--
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).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)

[go][android] Update design of the floating action button in the old dev menu (#38500)

Co-authored-by: lukmccall <[email protected]>

fix: snapshots
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants