[dev-client] cleanup unused native code (#18405)
[dev-client] Run spotless (#17612)# Why Run `spotless` in dev-* packages
[dev-launcher] remove dev menu from extra modules (#16562)
[dev-menu][android] remove dev menu session (#16270)
[expo-dev-menu][expo-dev-menu-interface] add deviceId parameter to dev sessions query (#15539)
[dev-client][android] Remove usage of the `GlobalScope` (#15073)# Why Closes ENG-1175. # How Replaced usage of the `GlobalScope` with custom coroutine scope. # Test Plan - bare-exp
[dev-client][android] Remove usage of the `GlobalScope` (#15073)# Why Closes ENG-1175. # How Replaced usage of the `GlobalScope` with custom coroutine scope. # Test Plan - bare-expo ✅
show more ...
[expo-dev-launcher][expo-dev-menu] add flag to disable dev menu auto-launch (#14196)
[android] Add kotlin spotless ktlint linter for bare-expo (#13596)# Why In [#12545](https://github.com/expo/expo/pull/12545) ktlint was added to expo-go, but it didn't work with bare app. # H
[android] Add kotlin spotless ktlint linter for bare-expo (#13596)# Why In [#12545](https://github.com/expo/expo/pull/12545) ktlint was added to expo-go, but it didn't work with bare app. # How 1. Add spotless plugin, configure ktlint in accordance with how it was already implemented in expo-go. 2. Fix current lint errors
[dev-menu][dev-launcher] Make items order consistently across platforms (#13449)
[dev-client][android] Add auto-discovery for dev-menu extensions in dev-launcher (#12801)# Why Closes ENG-1022 # How Added a way to discover packages with dev-menu extensions in dev-launch
[dev-client][android] Add auto-discovery for dev-menu extensions in dev-launcher (#12801)# Why Closes ENG-1022 # How Added a way to discover packages with dev-menu extensions in dev-launcher to include them in the launcher bridge. # Test Plan - bare-expo ✅
[dev-menu] Fix `isAvailable` option in `DevMenuAction` having no effect (#12703)# Why Closes ENG-943. # How - Updated the dev-menu UI if `isAvailable` returns false. # Test Plan - ba
[dev-menu] Fix `isAvailable` option in `DevMenuAction` having no effect (#12703)# Why Closes ENG-943. # How - Updated the dev-menu UI if `isAvailable` returns false. # Test Plan - bare-expo ✅ # Changelog - Fixed`isAvailable` option in `DevMenuAction` having no effect.
[expo-dev-menu] Fetch eas updates data (#12452)# Why Closes ENG-347. # How - fixed `RNScreens module cannot be null` by downgrading the `react-native-screens` version (it was bumped in the
[expo-dev-menu] Fetch eas updates data (#12452)# Why Closes ENG-347. # How - fixed `RNScreens module cannot be null` by downgrading the `react-native-screens` version (it was bumped in the repo some time ago but the newest version doesn't work well with dev-menu). - created a new concept of pulling async data into dev-menu - `DataSource` - extended action functionality to handle the case where the js side passes arguments into native code (needed by list component). - exposed functions with fetches updates data from our GraphQL API - parsed GraphQL response and wrapped it into data objects # Test Plan - bare-expo ✅
[expo-dev-client] Share session & new UI (#12235)# Why Closes ENG-613. Contains: - https://github.com/expo/expo/pull/12236 - https://github.com/expo/expo/pull/12240 - https://github.com/expo
[expo-dev-client] Share session & new UI (#12235)# Why Closes ENG-613. Contains: - https://github.com/expo/expo/pull/12236 - https://github.com/expo/expo/pull/12240 - https://github.com/expo/expo/pull/12245 # How - Exporting the expo API client - Restored session state when the app is initialized (not when dev menu is launched) - Created simple requests to our API - Rewritten dev-launcher UI and consume dev session. - Hided dev menu debug options when the user is in the launcher. # Test Plan - bare-expo - Android ✅ - iOS ✅
[expo-dev-menu] Add auth & profile screen (#11915)# Why Adds auth & profile screen to dev-menu # How - Reimplemented web browser functionalities in dev-menu (mostly copied the code from `e
[expo-dev-menu] Add auth & profile screen (#11915)# Why Adds auth & profile screen to dev-menu # How - Reimplemented web browser functionalities in dev-menu (mostly copied the code from `expo-web-browser`) - Implemented UI - similar to one in the home app - Created simple local storage to store a session. - Added the GraphQL client # Test Plan - bare-expo ✅ - https://exponent-internal.slack.com/archives/C3XK84RRR/p1612967628256400
[expo-dev-menu] Add support for screens, links and selection list widget (#11384)# Why This is a preparation for adding the screen extension to the `dev-menu` # How Basicly just splitting
[expo-dev-menu] Add support for screens, links and selection list widget (#11384)# Why This is a preparation for adding the screen extension to the `dev-menu` # How Basicly just splitting the `DevMenuItemsList.tsx` into multiple components # Test Plan - bare-expo ✅
[expo-dev-menu] Fix first launch behavior (#11289)# Why Fix the first launch behavior. Now the `dev-menu` will always show on the boarding screen when it's the first launch. Moreover, I've also
[expo-dev-menu] Fix first launch behavior (#11289)# Why Fix the first launch behavior. Now the `dev-menu` will always show on the boarding screen when it's the first launch. Moreover, I've also fixed how the show at launch option. The behavior was very inconsistent. It was working differently on both platforms. Right now, the `show at launch` option and onboarding screen works in the same way on both platforms. # Test Plan - bare-expo - iOS ✅ - Android ✅
[expo-dev-menu-interface] Add auto-linking support (#10775)# Why We want to make sure that the installation process for `dev-menu` and `dev-client` is as trivial as possible. So I've added the
[expo-dev-menu-interface] Add auto-linking support (#10775)# Why We want to make sure that the installation process for `dev-menu` and `dev-client` is as trivial as possible. So I've added the auto-linking support into `expo-dev-menu-interface`. # How - react-native auto-linking works only if the dependency is listed in the package.json. So I've updated the documentation - users need to install both packages `expo-dev-menu` and `expo-dev-menu-interface`. - create dummy `ReactPackage` - otherwise, the auto-linking doesn't work. - https://github.com/expo/expo/blob/9262d54309ab52d6b0cdcc60aad9720a9783ccdd/packages/expo-dev-menu-interface/react-native.config.js#L1-L13 # Test Plan - bare-expo - iOS ✅ - android ✅
[expo-dev-menu] Unify key commands (#10321)# Why Unify key commands. # How - Created in js package an platform-agnostic enum that represents key modifiers. - Exported platform-specific va
[expo-dev-menu] Unify key commands (#10321)# Why Unify key commands. # How - Created in js package an platform-agnostic enum that represents key modifiers. - Exported platform-specific values to matched created enum. Unfortunately, android's virtual keyboard only supports `shift` as a modifier. # Todo - ~~[ ] build js~~ will be done in a different PR # Test Plan - bare-expo ✅
[expo-dev-menu][android] Remove from release builds (#10091)# Why We don't want to include `dev-menu` in the release build. # Test Plan - bare-expo ✅
[expo-dev-menu][android] Extract interfaces (#9854)# Why Somehow we want to detect if someone has dev-menu installed but we don't wont to include the `expo-dev-menu` package. So we need to extr
[expo-dev-menu][android] Extract interfaces (#9854)# Why Somehow we want to detect if someone has dev-menu installed but we don't wont to include the `expo-dev-menu` package. So we need to extract some of the dev-menu interfaces to another package. I've also fixed dev-menu items caching. # Test Plan - run `bare-expo` ✅