Conversation
# Why This is the first PR from the stack aiming to improve the limited-permissions flow in calendar@next. This PR adds the `presentPicker()` function, which allows selecting a calendar without requiring full access permissions. # How Implements the `presentPicker` function on iOS using `EKCalendarChooser` # Test Plan Tested on BareExpo - added a button to NCL https://github.com/user-attachments/assets/60966fee-047d-487c-b8b6-e535ec2712c9
…45263) # Why There's no need to update this to not be repeated per transform (or per worker), since we'll assume Hermes v1 as the default on SDK 56. This is a prerequisite PR for further refactors to update the Babel preset as needed. # How - Remove Hermes v1 flag from `babel-preset-expo` and assume it's the default - Remove Hermes v1 detection code from Metro transform worker # Test Plan - n/a # 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 We decided to publish the codemod for migrating expo-router under `expo-codemod` package. **After this PR is merged, the canaries will be published for https://www.npmjs.com/package/expo-codemod package** # How 1. Move codemod code to `packages/expo-codemod` 2. Remove `private: false` from `package.json` # 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)
# Why We should document how to export SPM artifacts with expo-brownfield # How Add SPM instructions to brownfield isolated guide # Test Plan N / A # 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)
# Why After merging #44791, running ESLint results in the following warning being displayed: ``` ============= WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree. * @typescript-eslint/typescript-estree version: 8.57.1 * Supported TypeScript versions: >=4.8.4 <6.0.0 * Your TypeScript version: 6.0.2 Please only submit bug reports when using the officially supported version. ============= ``` # How Bumped all `@typescript-eslint/*` packages to the latest available. # Test Plan - CI # Checklist - [ ] 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)
…with `ServerDocument` for injecting metadata and assets (#44827) # Why The streaming SSR pipeline currently uses a [`TransformStream`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream) to post-process the HTML byte stream and inject metadata and assets. This was a temporary approach while we landed changes to other parts of the pipeline so we could support [React 19's hoisting mechanisms](https://react.dev/blog/2024/12/05/react-19#support-for-metadata-tags) instead. # How - Added a new `ServerDocument` context, which is populated with any relevant metadata/assets and consumed by `+html.tsx` via a `useServerDocumentContext()` hook - `getStreamingContent()` has been split out into its own file, and re-exported (temporarily) from `renderStaticContent.tsx` - Renamed HTML helper functions for assets - Added `serializeMetadataToReact()` that returns `ReactNode[]` - Updated the `+html.tsx` template to use the new `useServerDocumentContext()` hook # Test Plan - CI - Run the E2E fixture with `pnpm --filter @expo/router-e2e run export:server-rendering && pnpm --filter @expo/router-e2e exec expo serve` # 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). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why close ENG-20702 # How - add Icon component that support ios (SFSymbols) and android (material symbols xml). - the project may need `@expo/material-symbols` to have material symbols easier - to support tree shaking between ios string and android xml asset, this pr introduces a babel-plugin and transform `Icon.select({ ios: 'star.fill', android: import('@expo/material-symbols/star.xml') })` to platform fit resource - [babel-preset-expo] automatically add expo ui plugin if it's resolvable usage: ```tsx <Icon name={Icon.select({ ios: 'gearshape.fill', android: import('@expo/material-symbols/settings.xml'), })} size={28} /> ```
# Why Android crashes when attempting to resolve an import from `expo-widgets` because the module does not exist on that platform (yet 🫣). # How Add a stub module for Android to prevent the import error. # Test Plan Integrate expo-widgets and build the Android app to verify it no longer crashes. # 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 This PR allows users to create events in calendar using the system modal, bypassing the need for calendar permissions # How Implements `calendar.addEventWithForm` using the existing `presentEventEditViewController` function # Test Plan Tested on BareExpo - Added a button to NCL https://github.com/user-attachments/assets/edbf319c-c3c0-4a74-ad2b-d0f9a758452b
…oHtml` and `headTags` (#45315) # Why Since metadata is now injected into the document as React nodes, the HTML string serialization path is now unused and therefore dead code. # How Removed `serializeMetadataToHtml()` and any code that either called it, or that it called into. Additionally, refactored the metadata tests to be more strictly scoped to the functions they test. # Test Plan - CI # Checklist - [ ] 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)
# Why close ENG-17707 # How add feature parity support from react-native-webview to `@expo/dom-webview`: - allowsInlineMediaPlayback - mediaPlaybackRequiresUserAction - allowsPictureInPictureMediaPlayback - allowsAirPlayForMediaPlayback - onContentProcessDidTerminate - onRenderProcessGone - automaticallyAdjustContentInsets - imperative `reload` unlike ios react-native-webview's `injectedJavaScriptObject`, expo dom-webview will reload when the prop is changed. [smart action](https://github.com/expo/expo/blob/main/apps/router-e2e/__e2e__/05-use-dom/components/02-actions.tsx) will reload on ios when switching to expo dom-webview. this pr tries to keep the `initialProps` stable by useRef # Test Plan [05-use-dom](https://github.com/expo/expo/tree/main/apps/router-e2e/__e2e__/05-use-dom) test cases # 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)
# Why close ENG-20883 # How - opt-out the experimental "bridge" - use `dom={{ unstable_useExpoModulesBridge: true }}` to enable it # Test Plan [05-use-dom](https://github.com/expo/expo/tree/main/apps/router-e2e/__e2e__/05-use-dom) test cases - specific the native modules proxy # 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)
# Why close ENG-20791 # How - `useExpoDOMWebView` by default - add `@expo/dom-webview` to dependencies of the expo package - update docs # Test Plan - [05-use-dom](https://github.com/expo/expo/tree/main/apps/router-e2e/__e2e__/05-use-dom) test cases # 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)
# Why The Calendar@Next is stable in the next sdk. # How - Added deprecated annotations with a recommended function in the new API to the docs. - Set isDeprecated to true - Added a warning message # Test Plan Docs preview
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )