| 04e66b12 | 26-Sep-2023 |
Gabriel Donadel Dall'Agnol <[email protected]> |
[dev-launcher] Launch directly into previously opened project (#24614)
# Why
Closes ENG-10041
# How
In order to allow users to launch directly into previously opened
projects, this PR upda
[dev-launcher] Launch directly into previously opened project (#24614)
# Why
Closes ENG-10041
# How
In order to allow users to launch directly into previously opened
projects, this PR updates `startWithWindow` and `handleIntent` to try to
launch from the most recent URL of the RecentlyOpenedAppsRegistry. If
the bundle cannot be loaded, it falls back to the regular launcher.
This also refactors the existing dev-client and dev-launcher config
plugins adding a new `tryToLaunchLastOpenedBundle` parameter to the
Android and iOS plugin config types.
E.g.
```json
"plugins": [
[
"expo-dev-client",
{
"android": {
"tryToLaunchLastOpenedBundle": true
},
"ios": {
"tryToLaunchLastOpenedBundle": true
}
}
]
]
```
# Test Plan
Run dev-client through bare-expo on Android and iOS testing opening the
app directly, with and without "Recent Apps" and opening through deep
links
# Checklist
- [ ] 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: Łukasz Kosmaty <[email protected]>
show more ...
|
| c06ce7d3 | 26-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[task-manager][Android] Migrated codebase to use Expo modules API (#24157)
# Why
Migrated codebase to use Expo modules API
# Test Plan
- bare-expo ✅ |
| bad6d389 | 25-Sep-2023 |
Mark Lawlor <[email protected]> |
fix(router): fix navigation with nested <Slot /> layouts (#24598)
# Why
Fixes: #24576
# How
We should be using `target` instead of `source` for our navigation.
# Test Plan
Added new t
fix(router): fix navigation with nested <Slot /> layouts (#24598)
# Why
Fixes: #24576
# How
We should be using `target` instead of `source` for our navigation.
# Test Plan
Added new test. Verified with reproduction from #24596
# Checklist
<!--
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: Expo Bot <[email protected]>
show more ...
|
| 8e07b095 | 25-Sep-2023 |
Mark Lawlor <[email protected]> |
feat(metro-config): Enable isCSSEnabled by default (#24489)
# Why
ENG-9887
# How
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
<!--
Please describe h
feat(metro-config): Enable isCSSEnabled by default (#24489)
# Why
ENG-9887
# 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.
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: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>
show more ...
|
| 1c8e3ea0 | 25-Sep-2023 |
Mark Lawlor <[email protected]> |
feat(cli): Enable tsconfigPaths by default (#24490)
# Why
ENG-9888
# How
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
<!--
Please describe how you t
feat(cli): Enable tsconfigPaths by default (#24490)
# Why
ENG-9888
# 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.
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: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>
show more ...
|
| 6fbb1ad1 | 25-Sep-2023 |
Brent Vatne <[email protected]> |
[changelog] Sync from sdk-49 |
| 5c44ab1e | 25-Sep-2023 |
Alan Hughes <[email protected]> |
[android][splashscreen] remove isClickable from splashscreen view (#24601) |
| 57cc75f7 | 23-Sep-2023 |
Douglas Lowder <[email protected]> |
[expo-updates] fix reloadAsync() when isUsingExpoDevelopmentClient=true (#24588)
# Why
Fix a regression created in #21253 . After that change, `reloadAsync()`
would throw if called from a dev cl
[expo-updates] fix reloadAsync() when isUsingExpoDevelopmentClient=true (#24588)
# Why
Fix a regression created in #21253 . After that change, `reloadAsync()`
would throw if called from a dev client build.
Once this is merged, it should be cherry picked to sdk-49 branch.
# How
Fix the regression. See discussion at
https://github.com/expo/expo/pull/21253#discussion_r1329961204
# Test Plan
- CI should pass
- Customers report that this change fixes the issue
# Checklist
<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->
- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
show more ...
|
| 56074367 | 23-Sep-2023 |
Gabriel Donadel Dall'Agnol <[email protected]> |
[dev-launcher][ios] Fix Cmd+D opening React Native Debug Menu on launcher (#24580)
# Why
Close ENG-10142
# How
To prevent the React Native Debug Menu from being displayed on the launcher screen w
[dev-launcher][ios] Fix Cmd+D opening React Native Debug Menu on launcher (#24580)
# Why
Close ENG-10142
# How
To prevent the React Native Debug Menu from being displayed on the launcher screen we must unregister the KeyCommand from react-native. We were already doing that inside [_initAppWithUrl](https://github.com/expo/expo/blob/015c884fae8544ddd4e99e96387d0437fa609857/packages/expo-dev-launcher/ios/EXDevLauncherController.m#L515) but that only affects new react-native instances and not the dev-launcher itself. To fix that this PR updates the `navigateToLauncher` function to also init the module observer. I decided to not unregister cmd+d when `EX_DEV_LAUNCHER_URL` is present to facilitate local development when working with dev-launcher
# Test Plan
Run dev-client through bare-expo with and without EX_DEV_LAUNCHER_URL
# Checklist
<!-- 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).
show more ...
|
| 86fe77d4 | 22-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[permissions] Remove permissions package (#24081)
# Why
Removes `expo-permissions` package. That package was deprecated for a long time but never removed. I think we can do it now.
# ToDo
[permissions] Remove permissions package (#24081)
# Why
Removes `expo-permissions` package. That package was deprecated for a long time but never removed. I think we can do it now.
# ToDo
- [ ] publish new home app - will be done in a separate PR
# Test Plan
- bare-expo ✅
- expo-go ✅
show more ...
|
| 30a2771e | 22-Sep-2023 |
Cedric van Putten <[email protected]> |
fix(asset): URL encode asset paths defined as query parameter (#24562)
# Why
Package folders may contain a `+` symbol when using isolated modules by
supported package managers. This happens for
fix(asset): URL encode asset paths defined as query parameter (#24562)
# Why
Package folders may contain a `+` symbol when using isolated modules by
supported package managers. This happens for `@expo/vector-icons` and
pnpm, for example:
<img width="1351" alt="image"
src="https://github.com/expo/expo/assets/1203991/f8c226ce-ba62-4b5a-bc30-422669845771">
While the path _is_ valid, the `+` is [interpreted as a special
character
(space)](https://datatracker.ietf.org/doc/html/rfc1738#section-2.2)
because it's not URL encoded.
# How
- Escape asset path (in `asset.httpServerLocation`) when defined as
?export_path` or `?unstable_path` query parameter.
# Test Plan
- Create a tabs pnpm project (see #24561)
- `$ pnpm expo start`
- Vector icons should work on both Android and iOS
- No warning in terminal must be logged:
<img width="839" alt="image"
src="https://github.com/expo/expo/assets/1203991/9e7e9b4c-44fd-4dc4-979f-6eccb17d5278">
# Checklist
<!--
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: Expo Bot <[email protected]>
show more ...
|
| f56f51d5 | 22-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[core][Android] Remove benchmark code (#24569)
# Why
Removes unused benchmark code.
|
| 0dde25e8 | 22-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[android] [application] migrate to sweet API (#24568)
# Why
Improved version of https://github.com/expo/expo/pull/22585. |
| 0823de9e | 22-Sep-2023 |
Gabriel Donadel Dall'Agnol <[email protected]> |
[dev-launcher][ios] Fix app launch when using multiple scenes (#24565)
# Why
When configuring an app that uses `UIApplicationSupportsMultipleScenes`,
UIApplication.shared.windows is unable to
[dev-launcher][ios] Fix app launch when using multiple scenes (#24565)
# Why
When configuring an app that uses `UIApplicationSupportsMultipleScenes`,
UIApplication.shared.windows is unable to find any UIWindow causing
ExpoDevLauncherAppDelegateSubscriber to fail to start
https://github.com/expo/expo/blob/284bb8887638b6c52273aea5d234288478ffff66/packages/expo-dev-launcher/ios/ReactDelegateHandler/ExpoDevLauncherAppDelegateSubscriber.swift#L12
Closes https://github.com/expo/expo/issues/23536
Closes ENG-9926
# How
This PR updates AppDelegateSubscriber to attempt to get a window from
`UIApplication.shared.delegate?.window` and then falls back to
`UIApplication.shared.windows` if a window is not located. I also tried
using `UIApplication.shared.connectedScenes` but returns an empty array
# Test Plan
Run dev-client through Bare Expo
<img width="400" alt="image"
src="https://github.com/expo/expo/assets/11707729/9988ab96-c920-4afd-a1a8-201c13c047da">
Run an [example
project](https://github.com/banesp/expo-dev-launcher-keywindow-bug-demo/tree/bare-with-scene-delegates)
using Carplay
<img width="1069" alt="image"
src="https://github.com/expo/expo/assets/11707729/8c3089f3-5842-4658-8ffc-5e1e38277e97">
# Checklist
<!--
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).
show more ...
|
| 27e0894d | 22-Sep-2023 |
lukmccall <[email protected]> |
[calendar][skip ci] Add changelog for #24102 |
| 8b21e58b | 22-Sep-2023 |
Thomas Mollard <[email protected]> |
[ios][calendar] Fix url parsing when adding url in calendar event and reminder (#24102)
# Why
Resolves https://github.com/expo/expo/issues/13804 (the issue closed but the issue was actually never
[ios][calendar] Fix url parsing when adding url in calendar event and reminder (#24102)
# Why
Resolves https://github.com/expo/expo/issues/13804 (the issue closed but the issue was actually never fixed)
When adding a url to an event or a reminder in expo-calendar, the entire url is url-encoded and it cannot be used
# How
Use `NSURLComponents componentsWithString` that correctly parses the url passed as string (see [doc](https://developer.apple.com/documentation/foundation/nsurlcomponents/1572054-componentswithstring?language=objc)) and set `url` in `calendarEvent` or `reminder` if `URL` of `URLComponents` is not `nil`
# Test Plan
Tested locally in my application by updating the source code
# Checklist
<!--
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).
show more ...
|
| 229dec0d | 22-Sep-2023 |
Łukasz Kosmaty <[email protected]> |
[notifications][Android] Convert all exported modules to new API (#24499)
# Why
Converts all exported modules to new API in `expo-notifications`.
# Test Plan
- bare-expo ✅
- expo go ✅ |
| b7576b8a | 21-Sep-2023 |
Alan Hughes <[email protected]> |
[fix][calendar] Fix iOS 17 permissions in current module (#24545) |
| a2441f5f | 21-Sep-2023 |
Mark Lawlor <[email protected]> |
feat: separate Expo Web & Metro types from router (#24255)
# Why
[ENG-9978
](https://linear.app/expo/issue/ENG-9978/split-the-typed-environment-feature-out-of-typed-routes)
Expo Router includ
feat: separate Expo Web & Metro types from router (#24255)
# Why
[ENG-9978
](https://linear.app/expo/issue/ENG-9978/split-the-typed-environment-feature-out-of-typed-routes)
Expo Router included TypeScript definitions for Expo Web and Metro. I'm
not 100% sure the best place to move these types too, so I'm open to
suggestions.
`expo` for Expo Web, as there is no Expo Web package and these are
global environment types.
`@expo/metro-config`. Its a bit weird putting these types in the config
package, but this is also where a lot of the related code is.
# 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.
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: Expo Bot <[email protected]>
show more ...
|
| 34a1b52d | 21-Sep-2023 |
Mark Lawlor <[email protected]> |
fix(router): correctly clone hoisted groups (#24218)
# Motivation
Fixes: https://github.com/expo/router/issues/805
Hoisted routes inside array groups were not being correctly cloned. The
matc
fix(router): correctly clone hoisted groups (#24218)
# Motivation
Fixes: https://github.com/expo/router/issues/805
Hoisted routes inside array groups were not being correctly cloned. The
matcher was not detecting the hoisted route and the cloning logic
assumed one set of groups, but a hoisted route may have many.
# Execution
* Updated `matchGroupName` regex to allow for leading/trailing folder
names.
* Updated `fileNodeToRouteNode` logic to extrapolate multiple array
groups
# Test Plan
Modified the example in https://github.com/expo/router/issues/805 to
include a set of nested groups as well.
File tree is
```
events/_layout // <Slot />
events/(manage,preview)/_layout // <Slot />
events/(manage,preview)/[eventId]
events/(manage,preview)/(a,b)/_layout // <Slot />
events/(manage,preview)/(a,b)/test
```
Current (2.0.4) Sitemap:

After:

---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| 7f9ebcf1 | 21-Sep-2023 |
Evan Bacon <[email protected]> |
chore(expo-dev-menu): Drop support for configuring SDK 44 and below with Prebuild. (#24504)
# Why
Config plugins are versioned with versioned packages, meaning they
shouldn't need to be SDK vers
chore(expo-dev-menu): Drop support for configuring SDK 44 and below with Prebuild. (#24504)
# Why
Config plugins are versioned with versioned packages, meaning they
shouldn't need to be SDK versioned at all. Even if they were, SDK 44 is
pretty far back. On top of that, these checks don't support UNVERSIONED.
<!--
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.
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: Expo Bot <[email protected]>
show more ...
|
| cf6af4e9 | 21-Sep-2023 |
aleqsio <[email protected]> |
[expo-image][web] Add header support (#24447)
Co-authored-by: Łukasz Kosmaty <[email protected]> |
| 12cf8561 | 21-Sep-2023 |
lukmccall <[email protected]> |
[core][Android] Fix failing instrumental tests |
| 1a3a1db5 | 20-Sep-2023 |
Evan Bacon <[email protected]> |
Update tsconfigs to node 18 (current LTS) (#24471)
# Why
Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.
<!--
Please describe the motivation for this PR,
Update tsconfigs to node 18 (current LTS) (#24471)
# Why
Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| 0afd420b | 20-Sep-2023 |
Evan Bacon <[email protected]> |
fix(router): prevent circular navigation references. (#24548)
# Why
- fix regression in https://github.com/expo/expo/pull/24457
# How
- clone objects to prevent circular references.
# Te
fix(router): prevent circular navigation references. (#24548)
# Why
- fix regression in https://github.com/expo/expo/pull/24457
# How
- clone objects to prevent circular references.
# Test Plan
- Added test that could repro the issue.
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|