Skip to content

Commit

Permalink
Merge upstream develop into multiple-inji-builds (#1042)
Browse files Browse the repository at this point in the history
* feat(INJI-474): show popup for invalid QR (#999)

* feat(INJI-474): show popup for invalid QR

* at times a scanned QR code is neither online nor offline

Co-authored-by: adityankannan-tw <[email protected]>
Signed-off-by: Harsh Vardhan <[email protected]>

* refactor(INJI-474): add a dismiss-able popup w buttons

Signed-off-by: Harsh Vardhan <[email protected]>

* feat(INJI-474): use polyfill for URL searchParams feat

Signed-off-by: Harsh Vardhan <[email protected]>

* feat(INJI-474): move popup buttons to a single row

Signed-off-by: Harsh Vardhan <[email protected]>

* refactor(INJI-474): align buttons in popup

Co-authored-by: Anil kumar M <[email protected]>
Signed-off-by: Harsh Vardhan <[email protected]>

* feat(INJI-474): don't show Loader on invalidQR & fix QR type logic

Signed-off-by: Harsh Vardhan <[email protected]>

* refactor(INJI-474): propagate btn style changes to Themes

Co-authored-by: Vijay <[email protected]>
Signed-off-by: Harsh Vardhan <[email protected]>

---------

Signed-off-by: Harsh Vardhan <[email protected]>
Co-authored-by: Harsh Vardhan <[email protected]>
Co-authored-by: Anil kumar M <[email protected]>
Co-authored-by: Vijay <[email protected]>

* Fix: (Inji-261): Most of the elements which are still in orange in the purple theme are fixed. (#1021)

* Feat(INJI-261): Some elements still appearing orange colour in the purple theme

Signed-off-by: anil_majji <[email protected]>

* FIX(INJI-261): Some elements still appearing orange colour in the purple theme

Signed-off-by: anil_majji <[email protected]>

* FIX(INJI-261): Fixed the home screen icons to purple theme

Signed-off-by: anil_majji <[email protected]>

* FIX(INJI-261): Fixed the comments of respective PR

Signed-off-by: anil_majji <[email protected]>

* FIX(INJI-261): Fixed the comments of respective PR

Signed-off-by: anil_majji <[email protected]>

---------

Signed-off-by: anil_majji <[email protected]>

* MOSIP-30340 | Regression test for IOS added (#1023)

* Test script updated for new apk

Signed-off-by: kamalsingh <[email protected]>

* new test cases added

Signed-off-by: kamalsingh <[email protected]>

* new test cases added from master sheet

Signed-off-by: kamalsingh <[email protected]>

* Test cases added from regression sheet

Signed-off-by: kamalsingh <[email protected]>

* new test cases added

Signed-off-by: kamalsingh <[email protected]>

* automated ios tests for regression

Signed-off-by: kamalsingh <[email protected]>

* conflict resolved

Signed-off-by: kamalsingh <[email protected]>

---------

Signed-off-by: kamalsingh <[email protected]>

* Credential Registry testcases, help page new test cases added , MOSIP-30054 MOSIP-30230 MOSIP-30282 (#1024)

* MOSIP-30054 MOSIP-30230 MOSIP-30282

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflicts

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflict

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflict

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflict

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflict

Signed-off-by: Anup Nehe <[email protected]>

* resolve conflict

Signed-off-by: Anup Nehe <[email protected]>

---------

Signed-off-by: Anup Nehe <[email protected]>

* fix(INJI-536):check status failed while downloading vc (#1032)

Signed-off-by: Sri Kanth Kola <[email protected]>

* refactor(INJI-449): replace crypto-js with node-forge for encryption/decryption (#1034)

* refactor(INJI-449): replace crypo-js with node-forge

crypto-js has vulneraribitiles prior to version 4.2.0 for encryption / decryption & 4.x.x version is not compatible with our react native project For this reason we had to move to different library for encryption / decryption

Co-authored-by: Sreenadh S <[email protected]>
Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* fix(INJI-449): secure-keystore warning popup shown on reload of app

settings key which was stored in storage was not loaded into settings machine context correctly, which caused the bug - on reload settings related flows was falling back to initial setting.

Co-authored-by: Sreenadh S <[email protected]>

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): gitignore automation test results

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): simplify usage of methods in node-forge

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

---------

Signed-off-by: Kiruthika Jeyashankar <[email protected]>
Co-authored-by: Sreenadh S <[email protected]>

* refactor(INJI-449): fix OWASP vulnerabilities with dependencies (#1035)

* refactor(INJI-449): remove unused dependencies

Dependencies removed

1. expo-status-bar
2. @expo-google-fonts/poppins
3. react-native-simple-markdown
4. react-native-swipe-gestures

DevDependencies removed

1. @react-native/metro-config (removed as we already have @expo/metro-config dependency used)
2. metro-react-native-babel-preset
3. @types/react-test-renderer
4. react-test-renderer

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): update expo related packages and crypto-js

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): update transitive dependency of expo-updates package

plist package is a transitive dependency of expo-updates which had vulnerability - Prototype pollution vulnerability via .parse() in Plist before v3.0.4 allows attackers to cause a Denial of Service (DoS) and may lead to remote code execution. Thus this package was updated to fix vulnerability

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): update axios dependency of telemetry-sdk to 1.6.0

Since the package axios(1.5.0) has vulnerability - Cross-Site Request Forgery (CSRF), it is updated to 1.6.0

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* fix(INJI-449): vulnerablity issue with @digitalbazaar/rsa-verification-key-2018

override the node-forge dependency of the package - @digitalbazaar/rsa-verification-key-2018 as it has the high severity with CVE count 13

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* revert(INJI-449): downgrade crypto-js to 3.3.0 from 4.x.x version

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): use expo-splash-screen instead of expo-app-loading

expo-app-loading package is deprecated and it is suggested to replace it with expo-splash-screen

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): optimize time taken to hide splash screen

Co-authored-by: Sreenadh S <[email protected]>

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): change appEntry to index js

Change appEntry to index.js file since react-native-url-polyfill/auto is imported to avoid URL error. appEntry is required for expo package update

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-559): update podfile.lock

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* refactor(INJI-449): optimize import

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

---------

Signed-off-by: Kiruthika Jeyashankar <[email protected]>

* feat(INJI-541): for sonar qube generate dummy release keystore file in build.gradle

Signed-off-by: PuBHARGAVI <[email protected]>

* fix(INJI-541): pass sonar args as input variable in internal build yml file

Signed-off-by: PuBHARGAVI <[email protected]>

* fix(INJI-541): use dummy alias and password for dummyrelease keystore

Signed-off-by: PuBHARGAVI <[email protected]>

* MOSIP-30369 | Framework structure change to support device farm execution (#1039)

* Test script updated for new apk

Signed-off-by: kamalsingh <[email protected]>

* new test cases added

Signed-off-by: kamalsingh <[email protected]>

* new test cases added from master sheet

Signed-off-by: kamalsingh <[email protected]>

* Test cases added from regression sheet

Signed-off-by: kamalsingh <[email protected]>

* new test cases added

Signed-off-by: kamalsingh <[email protected]>

* automated ios tests for regression

Signed-off-by: kamalsingh <[email protected]>

* conflict resolved

Signed-off-by: kamalsingh <[email protected]>

* framework optimization

Signed-off-by: kamalsingh <[email protected]>

* folder structure changed

Signed-off-by: kamalsingh <[email protected]>

* framework restructure for device farm

Signed-off-by: kamalsingh <[email protected]>

* incorporated review comments

Signed-off-by: kamalsingh <[email protected]>

---------

Signed-off-by: kamalsingh <[email protected]>

* fix(INJI-541): comment sonarqube check

Signed-off-by: adityankannan-tw <[email protected]>

* fix(INJI-541): use correct env variable name for slack webhook url

Signed-off-by: adityankannan-tw <[email protected]>

---------

Signed-off-by: Harsh Vardhan <[email protected]>
Signed-off-by: anil_majji <[email protected]>
Signed-off-by: kamalsingh <[email protected]>
Signed-off-by: Anup Nehe <[email protected]>
Signed-off-by: Sri Kanth Kola <[email protected]>
Signed-off-by: Kiruthika Jeyashankar <[email protected]>
Signed-off-by: PuBHARGAVI <[email protected]>
Signed-off-by: adityankannan-tw <[email protected]>
Co-authored-by: Harsh Vardhan <[email protected]>
Co-authored-by: Anil kumar M <[email protected]>
Co-authored-by: Vijay <[email protected]>
Co-authored-by: kamalsinghthoughtworks <[email protected]>
Co-authored-by: anup-nehe <[email protected]>
Co-authored-by: srikanth716 <[email protected]>
Co-authored-by: KiruthikaJeyashankar <[email protected]>
Co-authored-by: Sreenadh S <[email protected]>
Co-authored-by: PuBHARGAVI <[email protected]>
Co-authored-by: adityankannan-tw <[email protected]>
  • Loading branch information
11 people authored Nov 30, 2023
1 parent e255d04 commit 4c45e71
Show file tree
Hide file tree
Showing 159 changed files with 7,841 additions and 6,320 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,12 @@ android/app/debug.keystore
.expo
dist/
web-build/

# automation test results
# test reports generated after running test
injitest/report/
injitest/testng-report/
# logs from tests ran
injitest/src/logs/
# test case class files
injitest/target/
20 changes: 11 additions & 9 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
fileignoreconfig:
- filename: ios/Podfile.lock
checksum: cc123c3e1f04d41b394ceb16843b15c08bac3ba619ae853ff322717739761a85
- filename: package.json
checksum: fdd5905228a1afbfb004c710fd6c61adf073a12840200327c0592b76bea5e7e3
checksum: a5a22604f2b9d917adaf3561fdcaeccd4e69b92e1240070480d7498e1eda5162
- filename: package-lock.json
checksum: 179883df6d414d82b7f54353a3a4cc75e6a681224f4b6d1831ce85de27de2726
checksum: 7e8bc0fa27b4eca3b7a825bccdef88ef1c9e7932a5d9af0e5feca2d42d72703b
- filename: lib/jsonld-signatures/suites/ed255192018/ed25519.ts
checksum: 493b6e31144116cb612c24d98b97d8adcad5609c0a52c865a6847ced0a0ddc3a
- filename: components/PasscodeVerify.tsx
checksum: 14654c0f038979fcd0d260170a45894a072f81e0767ca9a0e66935d33b5cc703
- filename: i18n.ts
Expand Down Expand Up @@ -45,9 +45,7 @@ fileignoreconfig:
checksum: bc12c43ccc27ac04e5763fa6a6ed3cee63e4362ba5666c160b5e53269de924ab
checksum: 9a61cd59a3718adf1f14faf3024fec66a3295ef373878a878a28e5cb1287afaa
- filename: ios/Podfile.lock
checksum: cc123c3e1f04d41b394ceb16843b15c08bac3ba619ae853ff322717739761a85
- filename: ios/Podfile.lock
checksum: cc123c3e1f04d41b394ceb16843b15c08bac3ba619ae853ff322717739761a85
checksum: edad9c2d11b0b3ed819cb0dcbfaf0515d31adb8116223c07f7b7b79e6689fe96
- filename: screens/Home/IntroSlidersScreen.tsx
checksum: 72ef913857448ef05763e52e32356faa2d1f3de8130a1c638d1897f44823031f
- filename: shared/commonUtil.ts
Expand All @@ -57,7 +55,7 @@ fileignoreconfig:
- filename: shared/openId4VCI/Utils.ts
checksum: ba3041b2ce380f44f6f52dc2c3df337d857df4494bd3c8727df9bf6fb5734750
- filename: shared/cryptoutil/cryptoUtil.ts
checksum: b785ff3f01ab9530119072c4d38195048bfeee6155c54ea7dd031559acb722f3
checksum: adbc2ff6df1df412e891c988c9ba03fc82f66c2f6c64339f87d513fc835d14cc
- filename: machines/store.typegen.ts
checksum: 6d22bc5c77398316b943c512c208ce0846a9fff674c1ccac79e07f21962acd5f
- filename: machines/VCItemMachine/ExistingMosipVCItem/ExistingMosipVCItemMachine.typegen.ts
Expand All @@ -82,5 +80,9 @@ fileignoreconfig:
checksum: feea5a7f044ef6961d53e7d1e1ffb92a3e0f72761496424f6e64288e3718d605
- filename: android/app/build.gradle
checksum: c2d2ab90258fc346d2f2d57b360883b6e57540eac5467a8e8438c2d5eada90df
- filename: machines/bleShare/scan/scanMachine.ts
checksum: a514c958ca3da3c5b22a1a95ad680af8f05fb22638fab79b3842aa8fcc1b4a17
version: ""

- filename: locales/spa.json
checksum: eac9685c6b205ece5759e414669d27ad7ce383453d7b5e7d9f5ce75d290cc860
version: ""
15 changes: 12 additions & 3 deletions App.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React, {useContext, useEffect} from 'react';
import AppLoading from 'expo-app-loading';
import {AppLayout} from './screens/AppLayout';
import {useFont} from './shared/hooks/useFont';
import {GlobalContextProvider} from './components/GlobalContextProvider';
Expand All @@ -26,9 +25,12 @@ import SecureKeystore from 'react-native-secure-keystore';
import {isHardwareKeystoreExists} from './shared/cryptoutil/cryptoUtil';
import i18n from './i18n';
import './shared/flipperConfig';
import * as SplashScreen from 'expo-splash-screen';

SplashScreen.preventAutoHideAsync();

// kludge: this is a bad practice but has been done temporarily to surface
// an occurance of a bug with minimal residual code changes, this should
// an occurrence of a bug with minimal residual code changes, this should
// be removed once the bug cause is determined & fixed, ref: INJI-222
const DecryptErrorAlert = (controller, t) => {
const heading = t('errors.decryptionFailed');
Expand All @@ -48,6 +50,14 @@ const AppLayoutWrapper: React.FC = () => {
const isDecryptError = useSelector(appService, selectIsDecryptError);
const controller = useApp();
const {t} = useTranslation('WelcomeScreen');

useEffect(() => {
async function hideAppLoading() {
await SplashScreen.hideAsync();
}
hideAppLoading();
}, []);

if (isDecryptError) {
DecryptErrorAlert(controller, t);
}
Expand Down Expand Up @@ -78,7 +88,6 @@ const AppLoadingWrapper: React.FC = () => {
}, [isKeyInvalidateError]);
return (
<>
<AppLoading />
<MessageOverlay
isVisible={isKeyInvalidateError}
title={t('errors.invalidateKeyError.title')}
Expand Down
1 change: 1 addition & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ react {
//
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
// entryFile = file("../js/MyApplication.android.js")
entryFile = file("../../index.js")
//
// A list of extra flags to pass to the 'bundle' commands.
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
Expand Down
2 changes: 1 addition & 1 deletion android/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ DEBUG_KEYSTORE_ALIAS = ENV["DEBUG_KEYSTORE_ALIAS"]
RELEASE_KEYSTORE_PASSWORD = ENV["RELEASE_KEYSTORE_PASSWORD"]
DEBUG_KEYSTORE_PASSWORD = ENV["DEBUG_KEYSTORE_PASSWORD"]
PLAY_CONSOLE_RELEASE_DESCRIPTION = ENV["BUILD_DESCRIPTION"]
SLACK_URL = ENV["SLACK_URL"]
SLACK_URL = ENV["SLACK_WEBHOOK_URL"]
CREDENTIAL_REGISTRY_EDIT = ENV["CREDENTIAL_REGISTRY_EDIT"]
INJI_FLAVOR = ENV["APP_FLAVOR"]

Expand Down
Binary file removed assets/pending_activation.png
Binary file not shown.
11 changes: 10 additions & 1 deletion components/VC/MosipVCItem/MosipVCItemDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,16 @@ export const MosipVCItemDetails: React.FC<
props.isBindingPending ? (
<Column style={Theme.Styles.openCardBgContainer} padding="10">
<Column margin={'0 0 4 0'} crossAlign={'flex-start'}>
<Image source={Theme.activationPending}></Image>
<Icon
name="shield-alert"
color={Theme.Colors.Icon}
size={Theme.ICON_LARGE_SIZE}
type="material-community"
containerStyle={{
marginEnd: 5,
bottom: 1,
}}
/>
<Text
testID="offlineAuthDisabledHeader"
style={{flex: 1}}
Expand Down
8 changes: 5 additions & 3 deletions components/ui/themes/DefaultTheme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ const Colors = {
LightOrange: '#FDF1E6',
GradientColors: ['#F59B4B', '#E86E04'],
DisabledColors: ['#C7C7C7', '#C7C7C7'],
captureIconBorder: '#F59B4B',
TimeoutHintBoxColor: '#FFF7E5',
TimeoutHintBoxBorder: '#FFF2D6',
TimoutHintText: '#8B6105',
resendCodeTimer: '#555555',
uncheckedIcon: '#DBDBDB',
Expand Down Expand Up @@ -789,7 +789,7 @@ export const DefaultTheme = {
borderColor: Colors.Orange,
},
container: {
height: 'auto',
height: 45,
flexDirection: 'row',
},
disabled: {
Expand Down Expand Up @@ -853,6 +853,8 @@ export const DefaultTheme = {
margin: 21,
paddingHorizontal: 14,
paddingVertical: 12,
borderWidth: 2,
borderColor: Colors.TimeoutHintBoxBorder,
borderRadius: 12,
},
sharedSuccessfully: {
Expand Down Expand Up @@ -1312,11 +1314,11 @@ export const DefaultTheme = {

ICON_SMALL_SIZE: 16,
ICON_MID_SIZE: 22,
ICON_LARGE_SIZE: 33,
PinIcon: require('../../../assets/pin_icon.png'),
CloseCard: require('../../../assets/card_bg.png'),
CardBackground: require('../../../assets/card_bg.png'),
OpenCard: require('../../../assets/card_bg.png'),
activationPending: require('../../../assets/pending_activation.png'),
cardFaceIcon: require('../../../assets/placeholder-photo.png'),
MosipSplashLogo: require('../../../assets/icon.png'),
MosipLogo: require('../../../assets/mosip-logo.png'),
Expand Down
33 changes: 18 additions & 15 deletions components/ui/themes/PurpleTheme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ const Colors = {
DisabledColors: ['#C7C7C7', '#C7C7C7'],
captureIconBorder: '#F59B4B',
Purple: '#70308C',
LightPurple: '#AEA7FF',
TimeoutHintBoxColor: '#FFF7E5',
TimoutHintText: '#8B6105',
LightPurple: '#F3E2FF',
TimeoutHintBoxColor: '#FBF5FF',
TimeoutHintBoxBorder: '#FFF7E5',
TimoutHintText: '#1C1C1C',
resendCodeTimer: '#555555',
uncheckedIcon: '#DBDBDB',
};
Expand Down Expand Up @@ -530,7 +531,7 @@ export const PurpleTheme = {
height: isIOS() ? 100 : 'auto',
},
idInputBottom: {
borderBottomColor: Colors.Orange,
borderBottomColor: Colors.Purple,
borderBottomWidth: 1,
},
getId: {
Expand Down Expand Up @@ -792,7 +793,7 @@ export const PurpleTheme = {
borderColor: Colors.Purple,
},
container: {
height: 'auto',
height: 45,
flexDirection: 'row',
},
disabled: {
Expand Down Expand Up @@ -856,6 +857,8 @@ export const PurpleTheme = {
margin: 21,
paddingHorizontal: 14,
paddingVertical: 12,
borderWidth: 2,
borderColor: Colors.TimeoutHintBoxBorder,
borderRadius: 12,
},
sharedSuccessfully: {
Expand Down Expand Up @@ -1311,29 +1314,29 @@ export const PurpleTheme = {

ICON_SMALL_SIZE: 16,
ICON_MID_SIZE: 22,
ICON_LARGE_SIZE: 33,
PinIcon: require('../../../assets/pin_icon.png'),
CloseCard: require('../../../assets/card_bg.png'),
CardBackground: require('../../../assets/card_bg.png'),
OpenCard: require('../../../assets/card_bg.png'),
activationPending: require('../../../assets/pending_activation.png'),
cardFaceIcon: require('../../../purpleAssets/profile_icon.png'),
MosipSplashLogo: require('../../../assets/icon.png'),
MosipLogo: require('../../../assets/mosip-logo.png'),
CameraFlipIcon: require('../../../assets/camera-flip-icon.png'),
ImageCaptureButton: require('../../../assets/capture-button.png'),
CameraFlipIcon: require('../../../purpleAssets/camera-flip-icon.png'),
ImageCaptureButton: require('../../../purpleAssets/capture-button.png'),
DomainWarningLogo: require('../../../assets/domain-warning.png'),
WarningLogo: require('../../../assets/warningLogo.png'),
OtpLogo: require('../../../purpleAssets/otp-mobile-logo.png'),
SuccessLogo: require('../../../assets/success-logo.png'),
ReceiveCardIcon: require('../../../assets/receive-card-icon.png'),
ReceivedCardsIcon: require('../../../assets/received-cards-icon.png'),
DigitalIdentityLogo: require('../../../assets/digital-identity-icon.png'),
ReceiveCardIcon: require('../../../purpleAssets/receive-card-icon.png'),
ReceivedCardsIcon: require('../../../purpleAssets/received-cards-icon.png'),
DigitalIdentityLogo: require('../../../purpleAssets/digital-identity-icon.png'),
InjiLogoWhite: require('../../../assets/inji-logo-white.png'),
InjiProgressingLogo: require('../../../assets/progressing-logo.png'),
LockIcon: require('../../../assets/lock-icon.png'),
InjiHomeLogo: require('../../../assets/inji-home-logo.png'),
InjiProgressingLogo: require('../../../purpleAssets/progressing-logo.png'),
LockIcon: require('../../../purpleAssets/lock-icon.png'),
InjiHomeLogo: require('../../../purpleAssets/inji-home-logo.png'),
MagnifierZoom: require('../../../assets/magnifier-zoom.png'),
HelpIcon: require('../../../assets/help-icon.png'),
HelpIcon: require('../../../purpleAssets/help-icon.png'),
sharingIntro: require('../../../assets/intro-secure-sharing.png'),
walletIntro: require('../../../assets/intro-wallet-binding.png'),
IntroScanner: require('../../../assets/intro-scanner.png'),
Expand Down
3 changes: 2 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'react-native-gesture-handler';
import { registerRootComponent } from 'expo';
import 'react-native-url-polyfill/auto'; // https://stackoverflow.com/a/75787849
import {registerRootComponent} from 'expo';

import App from './App';

Expand Down
Binary file not shown.
Loading

0 comments on commit 4c45e71

Please sign in to comment.