| #
128e1e19 |
| 10-Mar-2023 |
Will Schurman <[email protected]> |
[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).
show more ...
|
| #
19aed303 |
| 03-Mar-2023 |
Will Schurman <[email protected]> |
[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).
show more ...
|
| #
ae827301 |
| 01-Mar-2023 |
Will Schurman <[email protected]> |
[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).
show more ...
|
| #
5697f03e |
| 01-Mar-2023 |
Will Schurman <[email protected]> |
[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).
show more ...
|
| #
0b66f7dd |
| 24-Feb-2023 |
Will Schurman <[email protected]> |
[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).
show more ...
|
| #
efd75dec |
| 16-Aug-2021 |
Tomasz Sapeta <[email protected]> |
[ios] Migrate all remaining native code
|
| #
167fd314 |
| 30-Jun-2021 |
Will Schurman <[email protected]> |
[ios] Use stable manifest ID where applicable (#13280)
|
| #
96495090 |
| 23-Apr-2021 |
Eric Samelson <[email protected]> |
[expo-updates][ios] split SelectionPolicy into 3 separate interfaces (#12682)
|
| #
40b2cdcb |
| 14-Aug-2020 |
Eric Samelson <[email protected]> |
[android][ios] add full infrastructure and implementation for UpdatesBinding (#9694)
# Why
This PR adds the complete infrastructure for allowing the new expo-updates exported JS module to work as
[android][ios] add full infrastructure and implementation for UpdatesBinding (#9694)
# Why
This PR adds the complete infrastructure for allowing the new expo-updates exported JS module to work as a scoped module in the managed workflow codebase and communicate with the `Kernel` classes.
# How
For iOS, I followed the pattern that was used in other scoped modules like Sensors. EXUpdatesBinding is a scoped module that is given access to a pair of kernel services, each of which have access to the AppLoader (and therefore expo-updates state) through the EXKernelAppRecord. All of the properties are just threaded through.
For Android, there were fewer steps to thread through but we weren't keeping a reference to the AppLoader anywhere. I added a simple map in the Kernel for this, which the scoped UpdatesBinding has access to through the KernelProvider.
Finally, since the `Updates.expo.ts` polyfill is no longer needed for the unversioned managed workflow, I removed this code from expo-updates.
# Test Plan
Backport these changes to SDK 38 and add a versioned SDK 38 copy of the expo-updates module, and switch EXKernelAppRecord/Kernel to use the new ExpoUpdatesAppLoader so expo-updates is used.
I launched a test published app created by installing expo-updates and then manually deleting the `build/Updates.expo.*` files from node_modules. All the exported functions from expo-updates worked and assets were resolved to the copies on disk downloaded by expo-updates
show more ...
|
| #
92e817a0 |
| 01-Aug-2020 |
Eric Samelson <[email protected]> |
[ios] add EXAppLoaderExpoUpdates and stub EXUpdatesBinding
|