[file-system][iOS] Migrate to Expo Modules API (#23943)
[iOS] Refactor version manager in Expo Go (#23624)
[ios][updates][tools] fix swift casting runtime exception (#23132)# Why close ENG-9094 # How - this is again the swift runtime exception for casting versioned class to unversioned class li
[ios][updates][tools] fix swift casting runtime exception (#23132)# Why close ENG-9094 # How - this is again the swift runtime exception for casting versioned class to unversioned class like https://github.com/expo/expo/pull/23012#discussion_r1237294135. this time it's the `EXUpdatesUpdate` and solved by the `object_setClass` too. - moving the `object_setClass` to expo-go only `EXUpdatesBinding` class which is a proper place to do the casting. however, this requires more swift <-> objc interop like adding swift compatibility header to search paths and adding `-fmodule-map`. - some refactoring for the expokit podspec # Test Plan - ci passed - test local expo-go to load sdk 49 updates (both classic updates and eas updates)
show more ...
[expo-updates] Updates state machine for iOS and Android, E2E tests (#22845)# Why Implement state machine on Android and iOS. # How - New state machine classes on Android and iOS - Integr
[expo-updates] Updates state machine for iOS and Android, E2E tests (#22845)# Why Implement state machine on Android and iOS. # How - New state machine classes on Android and iOS - Integration with UpdatesController/AppController - State machine change events sent to JS - Test hook in `@expo/use-updates` to allow E2E tests - E2E tests for both platforms # Test Plan - Manual testing on both platforms - Unit tests for state machine on both platforms - New E2E tests for state machine feature - Existing E2E tests and existing `expo-updates` functionality should be unaffected # 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).
Remove Amplitude from Expo Go (#22523)
[exupdates][ios] Fix odd nullability issue in expo module (#21655)# Why 1. `EXUpdatesBinding.config` returns nil when called here 2. This is because `EXUpdatesManager.configForScopeKey` returns
[exupdates][ios] Fix odd nullability issue in expo module (#21655)# Why 1. `EXUpdatesBinding.config` returns nil when called here 2. This is because `EXUpdatesManager.configForScopeKey` returns nil for what I assume is the home scope key. I checked and it was also the case prior to the swift conversion, but didn't crash because objective-c is more nil-selector-call-lenient. # How Change types to be nullable. # Test Plan Run expo go, see no more crash. # 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
[exupdates][ios] Convert database to swift (#21450)# Why This converts a good chunk of the EXUpdates database code to swift. # How Convert manually. Unfortunately this couldn't be broken u
[exupdates][ios] Convert database to swift (#21450)# Why This converts a good chunk of the EXUpdates database code to swift. # How Convert manually. Unfortunately this couldn't be broken up further due to OpaquePointer return type incompatibility (can't return OpaquePointer over bridge). # Test Plan Run all tests and build app. # 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
[ios] fix build errors (#21481)# Why fix expo go ios and bare-expo build errors # How there are two errors: 1. bare-expo `EXDevLauncherController.h:8:1: use of '@import' when C++ module
[ios] fix build errors (#21481)# Why fix expo go ios and bare-expo build errors # How there are two errors: 1. bare-expo `EXDevLauncherController.h:8:1: use of '@import' when C++ modules are disabled, consider using -fmodules and -fcxx-modules`. the import is from bare-expo's AppDelegate.mm. the solution migrates `@import EXManifest; -> +#import <EXManifests/EXManifests-Swift.h>` 2. ios expo go: https://github.com/expo/expo/actions/runs/4305432041/jobs/7507869126 ``` /Users/runner/work/expo/expo/ios/Pods/Headers/Public/EXConstants/EXConstantsService.h:14:43: error: declaration of 'EXInternalModule' must be imported from module 'EXFileSystem.EXFilePermissionModule' before it is required @interface EXConstantsService : NSObject <EXInternalModule, EXConstantsInterface> ``` the pr tries to add some rearrange some imports # Test Plan ci passed
[expo-updates][ios] Convert selection policies to swift (#21394)# Why This converts EXUpdatesSelectionPolicy stuff to swift. # How Manually convert. # Test Plan Run all tests (will u
[expo-updates][ios] Convert selection policies to swift (#21394)# Why This converts EXUpdatesSelectionPolicy stuff to swift. # How Manually convert. # Test Plan Run all tests (will update tests in a follow-up PR to ensure they don't both break accidentally). # 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
[expo-updates][ios] Convert EXUpdatesConfig to swift (#21391)# Why Converting one more class to swift. # How Convert manually. # Test Plan Run all tests and build. # Checklist
[expo-updates][ios] Convert EXUpdatesConfig to swift (#21391)# Why Converting one more class to swift. # How Convert manually. # Test Plan Run all tests and build. # 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
[exupdates][ios] Start converting to swift (#21320)# Why Start the conversion process of the expo-updates library by converting EXUpdatesUpdate and subclasses. # How Convert manually... l
[exupdates][ios] Start converting to swift (#21320)# Why Start the conversion process of the expo-updates library by converting EXUpdatesUpdate and subclasses. # How Convert manually... lol. The main note is that we can't use swift nullability/type forcing operators (`!`, `as!`, `as?`) etc since the previous implementation was relying upon NSAssert to raise an NSException which is caught in the calling code, so I added new extension functions to replicate the behavior (similar to EXManifests util functions). # Test Plan Build and run all tests. # 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
[exmanifests][ios] Convert to swift (#21298)
[expo-updates] add docblocks to most classes (#19491)
[ios] add exportedInterfaces to EXUpdatesBinding (#18763)
[expo-updates] add current and embedded update id headers to manifest requests (#17033)
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)# Why upgrade for sdk 45 # How ## upgrade react native fork code in https://github.com/expo/react-native/tree/sdk-45 ba
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)# Why upgrade for sdk 45 # How ## upgrade react native fork code in https://github.com/expo/react-native/tree/sdk-45 basically cherry pick most necessary commits from sdk-44 branch but not these two: 1. https://github.com/expo/react-native/commit/125b36ac6d76e702bea4d7c41a8a402d68cdb1f1: because ExpoKit is already deprecated. 2. https://github.com/expo/react-native/commit/82d3ff5218cc576b5c7ea44c7adbf8b5aa5d985c: [use the official way to set metro server address](https://github.com/facebook/react-native/commit/e2b5b6504cb4dee8f2ec67f1d3a410801e1ca09a) ## migrate project setup basically reference from: https://react-native-community.github.io/upgrade-helper/?from=0.64.2&to=0.67.2 ## other build errors or launch errors just to deal with these mess one by one. # Test Plan - [android] unversioned expo-go build + launch + load unversioned NCL - [ios] unversioned expo-go build + launch + load unversioned NCL
[iOS][Expo Go] Remove legacy code (#14690)
[expo-manifests] Remove reliance upon stableLegacyId/originalFullName (#14265)
[expo-manifests] Rename RawManifest -> Manifest (#14194)
[expo-updates] Factor out raw manifests into their own package (#14183)
[ios] Migrate all remaining native code
[ios] Migrate some packages to use expo-modules-core
[ios] Remove unnecessary constants binding argument from EXScopedNotificationCategoriesModule (#13546)
[ios] Pass manifest into EXScopedFirebaseCore (#13543)
[ios] Pass manifest into EXScopedFacebook (#13531)
12345