-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from expo:main #538
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
# Why When dynamically switching `Stack.Toolbar` placement (e.g., from `bottom` to `left`) or unmounting the toolbar component, header items from the previous placement would persist in the UI and so would bottom toolbar items. **Before** https://github.com/user-attachments/assets/18b96b1f-167a-46f6-a9d1-1cb1907700b7 **After** https://github.com/user-attachments/assets/6f8471a8-664a-4c7e-a3a5-ee299d8acb7d # How **Swift** - Added a `cachedController` weak reference to store the `RNSScreen` view controller - Updated `didMoveToWindow()` to use the cached controller to remove toolbar items when the toolbar is unmounted **TS** - Added a `useEffect` cleanup function that clears the header items (`unstable_headerLeftItems` or `unstable_headerRightItems`) when the toolbar unmounts - Added `key=placement` to the `Stack.Toolbar` component to force remounting when the placement changes, ensuring the cleanup effect runs # Test Plan 1. Unit testing 2. Manual testing Here is test app I used for testing and recording the video - 8c060f7 # 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)
…ns (#42544) # Why The `Stack.Header` component requires users to manually set `headerTransparent: true` in options when using `blurEffect` or transparent backgrounds, which is non-intuitive. **Before** https://github.com/user-attachments/assets/c067a0db-f9b9-45ba-8fcc-80e87ad40d77 **After** https://github.com/user-attachments/assets/b5734b6d-51db-45b6-8234-dbc7f6836fce # How Enhanced `appendStackHeaderPropsToOptions` to automatically append `headerTransparent` from related props. Additionally added `style.color` mapping to `headerTintColor` # Test Plan 1. Manual testing 2. Unit tests # 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)
…olbar.Menu (#42531) # Why Stack.Toolbar.Menu title prop was misleading as it didn't configure the button title. This PR adds a fallback which: - When only `title` is specified: uses title for both button and menu title - When only `Stack.Toolbar.Label` is used as child: uses it as a label. Menu title is undefined - When both `Label` child and `title` prop are used - `Label` sets the button text, `title` sets the menu popup title Additionally this PR fixes minor native update issues, when the prop becomes `null` # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan 1. CI 2. Manual testing For this code ```tsx {/* title */} <Stack.Toolbar.Menu title="TP"> <Stack.Toolbar.MenuAction icon="star" onPress={() => Alert.alert("Star")}> Action in TitleOnly </Stack.Toolbar.MenuAction> </Stack.Toolbar.Menu>; {/* Toolbar.Label */} <Stack.Toolbar.Menu> <Stack.Toolbar.Label>T.L</Stack.Toolbar.Label> <Stack.Toolbar.MenuAction icon="flag" onPress={() => Alert.alert("Flag")}> Action in LabelOnly </Stack.Toolbar.MenuAction> </Stack.Toolbar.Menu>; {/* Both title and Toolbar.Label */} <Stack.Toolbar.Menu title="TP"> <Stack.Toolbar.Label>T.L</Stack.Toolbar.Label> <Stack.Toolbar.MenuAction icon="heart" onPress={() => Alert.alert("Heart")}> Action in Both </Stack.Toolbar.MenuAction> </Stack.Toolbar.Menu>; ``` Renders: <img width="230" height="64" alt="Screenshot 2026-01-26 at 15 36 12" src="https://github.com/user-attachments/assets/18098574-b605-43f0-8f58-cac3f68383f4" /> And menus: - title only (both button and menu have same value): <img width="244" height="95" alt="Screenshot 2026-01-26 at 15 36 18" src="https://github.com/user-attachments/assets/b31b53b4-44c4-4a4f-83ca-8096a87bab4e" /> - Toolbar.Label only (no menu title): <img width="256" height="72" alt="Screenshot 2026-01-26 at 15 36 22" src="https://github.com/user-attachments/assets/194f272a-0fcd-45d7-9e68-cc003a3f702c" /> - Both (different button and menu title): <img width="237" height="95" alt="Screenshot 2026-01-26 at 15 36 28" src="https://github.com/user-attachments/assets/0e372148-9ac6-43f7-b550-e11abd6e19b3" /> # 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) --------- Co-authored-by: Hassan Khan <hassan@expo.dev>
…ok is used (#42533) # Why Fixes #42255 When using the native zoom transition in expo-router on iOS, the `interactiveDismissShouldBegin` callback was always set, even when `usePreventZoomTransitionDismissal` hook wasn't used. This caused issues, especially when integrating with `ScrollView` **Before** https://github.com/user-attachments/assets/0cd5ba48-4234-4afa-80c1-8b603fdcf9ed **After** https://github.com/user-attachments/assets/b7c06978-c5b2-4bc8-a081-69c5ba80d3f0 # How Modified `LinkZoomTransitionEnabler.swift` to only set the `interactiveDismissShouldBegin` callback when `dismissalBoundsRect` is explicitly provided via the hook. When the hook isn't used (or when `dismissalBoundsRect` is nil), iOS now uses its default dismissal behavior. # Test Plan Manual testing # 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)
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 : )