| #
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 ✅
|
| #
8e6653a3 |
| 28-Aug-2023 |
Wojciech Dróżdż <[email protected]> |
[secure-store][android] Secure store audit (#23804)
# Why
ENG-6327
Secure-store was using the old modules API. We wanted to add synchronous
functions to the API, so it's possible to use SecureSto
[secure-store][android] Secure store audit (#23804)
# Why
ENG-6327
Secure-store was using the old modules API. We wanted to add synchronous
functions to the API, so it's possible to use SecureStore in the global
JS scope. During the migration I've also found some bugs/unexpected
behaviours which were corrected
# How
- Migrated `secure-store` to Kotlin and the new modules API
- Changed callback-based authentication prompt to Kotlin coroutines
- Added `getItemSync` and `setItemSync` functions
- Both functions call the same functions as Async versions, but on the
main thread
- It is now possible to save values which require authentication and
ones that don't under one keychain on the JS side. This is archived by
creating two separate keys on the native side.
- Before it wasn't possible to save a no-authentication value under a
keychain, which was initialised with a require-auth value (an exception
was thrown). It was possible to save a value which requires
authentication into a keychain which was already initialised as no-auth,
but it wasn't really encrypted with the necessity of auth and could've
been decrypted without authentication (although `secure-store` always
asked for biometrics correctly)
- It is now possible to save values under different keychains but the
same key. `Secure-store` can now differentiate between them. Before
saving `value1` under `key1` and `keychain1` and `value2` under `key1`
and `keychain2` would overwrite the `value1` under `key1` with a new
value. Now they are separate. This archived by saving the items in
shared preferences under a key which includes the keychain eq.
`keychain1-key1` and `keychain2-key1`. This emulates the `ios`
`secure-store` behavior
- Backwards compatibility with the current naming scheme of keystore
aliases has been kept
- Improved invalidated key exception handling. When removing a key from
the key store all values under that key will be removed from shared
preferences in order to avoid exceptions caused by decryption fails.
This doesn't apply to values stored with previous versions of
`expo-secure-store` as it is not possible to determine if value was
stored with a keychain without making an decryption attempt.
- Updated the docs
- Removed SDK20 read support
# Test Plan
Tested in Bare Expo and Expo Go on a physical android 13 and 7 devices
(forced api < 23 functions on android 7 only for testing since we don't
have such an old device)
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| #
fcc3d068 |
| 26-Jul-2023 |
Łukasz Kosmaty <[email protected]> |
[go][Android] Add `ExpoGoModule` (#23710)
# Why
Adds an almost empty `ExpoGoModule` specific to the Expo Go app. This module is present in the Home app too.
# How
Add a decorator function
[go][Android] Add `ExpoGoModule` (#23710)
# Why
Adds an almost empty `ExpoGoModule` specific to the Expo Go app. This module is present in the Home app too.
# How
Add a decorator function that allows us to extend created `AppContext`.
# Test Plan
- run an experience in the expo go app and check if the `ExpoGoModule` is present ✅
show more ...
|
| #
4fde8ae7 |
| 07-Jun-2023 |
Alan Hughes <[email protected]> |
[android][file-system] Migrate to new modules API (#22728)
[android][file-system] Migrate to new modules API (#22728)
|
| #
fa5bb8bd |
| 01-Oct-2021 |
Kudo Chien <[email protected]> |
[android][tools] fix android shell app errors for sdk 43 (#14613)
# Why
fix android shell app for sdk 43
# How
- `et android-build-packages`
- fix an exception for `ScopedContext` cannot d
[android][tools] fix android shell app errors for sdk 43 (#14613)
# Why
fix android shell app for sdk 43
# How
- `et android-build-packages`
- fix an exception for `ScopedContext` cannot downcast to `ReactContext`. the exception is from here: https://github.com/expo/expo/blob/b319832785511f1b253530e5d2357ea7c394bc28/packages/expo-modules-core/android/src/main/java/expo/modules/adapters/react/ReactAdapterPackage.java#L26-L29
i checked sdk-42 code where it also passing `scopedContext` in `DetachedModuleRegistryAdapter`. since there are much change, i didn't trace down which commit cause the change. anyway it looks like passing `reactContext` make sense.
- support to pass `--privateConfigFile` in `et android-shell-app`
- xdl also needs some changes: https://github.com/expo/xdl/pull/40
# Test Plan
`et android-build-packages --packages all`
`et android-shell-app --url "https://staging.exp.host/@kudochien/native-component-list-next/index.exp?sdkVersion=43.0.0" --sdkVersion 43.0.0 --privateConfigFile privateConfig.json`
show more ...
|
| #
5db43c74 |
| 05-Sep-2021 |
Will Schurman <[email protected]> |
[expo-manifests] Remove reliance upon stableLegacyId/originalFullName (#14265)
|
| #
280cec8a |
| 31-Aug-2021 |
Will Schurman <[email protected]> |
[android] Kotlinize scoped universal modules (#14168)
|
| #
50661f5c |
| 30-Aug-2021 |
Will Schurman <[email protected]> |
[expo-manifests] Rename RawManifest -> Manifest (#14194)
|
| #
706a476d |
| 26-Aug-2021 |
Will Schurman <[email protected]> |
[expo-updates] Factor out raw manifests into their own package (#14183)
|
| #
2dd697a6 |
| 17-Aug-2021 |
Will Schurman <[email protected]> |
[android] Kotlinize headless and detached app stuff (#14000)
|