[client] Fix ExponentKernel.sdkVersions type inference in home (#13293)
[home] Clean up some typedefs and legacy components (#12974)
[updates] Add EAS updates to Expo Go project page (#12804)
[home] Fix references to @react-native-community/async-storage
Use community async storage and fix tests (#9481)
[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)# Why Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.
[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)# Why Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel. Also fixed https://twitter.com/bantingGamer/status/1251154340129062917 # How - Added `EXDevMenuManager` singleton that manages the dev menu. Most parts of it were in kernel or some others classes strongly connected with kernel. Now, kernel is just its delegate. - Refactored `EXKernelDevMotionHandler` to `EXDevMenuMotionInterceptor` which is much clearer and makes it possible to uninstall the interceptor (these interceptors are kinda hacky, I tried not to do them this way but well, RN does the same ). - Added `EXDevMenuGestureRecognizer` for long press gesture, with minimum press duration set to 0.5s and with light impact haptic feedback. - Added `EXDevMenuGestureInterceptor` that swaps the default implementation of `UIView#gestureRecognizers`, but only for `UIWindow`s. This is needed to make three-finger gesture work everywhere in the app. - Renamed `EXMenuViewController` to `EXDevMenuViewController` (all dev menu classes should be prefixed by `EXDevMenu`) and again, removed some connections to kernel. - Added UI in user settings to select dev menu gestures (can select them separately). - Fixed an issue with dev menu view being below modals in the view hierarchy. # Test Plan So far I've tested it only with published experience. I'm gonna do smoke tests on dev apps later. I mostly focused on testing whether: - the dev menu works in general (after refactoring) - three-finger gesture works on the initial screen of the app, on the modals and on the dev menu itself - all combinations of selected gestures work as expected - selected gestures persist after killing and relaunching the client
show more ...
[ios][home] Redesign DevMenu on iOS (#6793)# Why Part of #6521 # How - Refactored JS code responsible for rendering DevMenu and converted it to TypeScript. - Redesigned DevMenu to be a b
[ios][home] Redesign DevMenu on iOS (#6793)# Why Part of #6521 # How - Refactored JS code responsible for rendering DevMenu and converted it to TypeScript. - Redesigned DevMenu to be a bottom sheet instead of a modal to improve user experience. - Upgraded `react-navigation-stack` to `^2.0.15`. - In/out DevMenu animations are now controlled by JavaScript side (less native code). - Moved Kernel's module methods related to DevMenu to separate `DevMenuModule` file (I think it makes the code using it clearer). - `Nux` wasn't clear to me what it is and what it does, so I suggest renaming it to `Onboarding`. - Prepared some stuff to be used on Android as well (Android support will come in a separate PR). - Removed legacy menu gesture from both native code and from home user settings. - Published dev home with those changes. # Test Plan - [x] Test on experience in debug mode - [x] Test on experience in production mode - [x] Test on snacks - [x] Test on older SDKs - [x] Test on simulators - [x] Test that onboarding shows up once you open the experience for the first time or you didn't accept it yet (clicked `Got it` button). # Demo Expanding/collapsing demo on the left, onboarding screen on the right.  
[expo] Remove unused dev menu (#6249)# Why To clean up some technical debt. # How Removed `addDevMenu` functionality from Home and then all the leftovers from native side. # Test Plan
[expo] Remove unused dev menu (#6249)# Why To clean up some technical debt. # How Removed `addDevMenu` functionality from Home and then all the leftovers from native side. # Test Plan CI should build the apps.
[home] Add a typed API layer for the kernel + a fully defined mock kernelThis adds Kernel.ts, which is a typed interface for the kernel module and is its API layer. I also defined a platform layer
[home] Add a typed API layer for the kernel + a fully defined mock kernelThis adds Kernel.ts, which is a typed interface for the kernel module and is its API layer. I also defined a platform layer for the kernel that runs on web as well as on iOS & Android when Home is run as a regular project instead of as the privileged Home app.