* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* refactor(INJI-449): update expo related packages and crypto-js
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* revert(INJI-449): downgrade crypto-js to 3.3.0 from 4.x.x version
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* refactor(INJI-449): optimize time taken to hide splash screen
Co-authored-by: Sreenadh S <32409698+sree96@users.noreply.github.com>
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* 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 <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* refactor(INJI-559): update podfile.lock
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* refactor(INJI-449): optimize import
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
---------
Signed-off-by: Kiruthika Jeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* perf(INJI-458): cache fixed result of custom keystore presence
Each call over the RN bridge can take significant user-visible time, and since
the result is used multiple times and cannot change for a device in runtime,
it can be computed once stored for later use.
Signed-off-by: Harsh Vardhan <harsh59v@gmail.com>
* feat(INJI-458): show loading for android h/w keystore check & generation
Signed-off-by: Harsh Vardhan <harsh59v@gmail.com>
* feat(INJI-472): show loader on issuer select
Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
Signed-off-by: Harsh Vardhan <harsh59v@gmail.com>
* refactor(INJI-458): rename const name to isHardwareKeystoreExists
Signed-off-by: Harsh Vardhan <harsh59v@gmail.com>
---------
Signed-off-by: Harsh Vardhan <harsh59v@gmail.com>
Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
* feat(INJI-403): add events in the VC download flow for success scenario
* refactor(INJI-403): updates logic to capture preferred language in telemetry
Signed-off-by: Alka <prasadalka1998@gmail.com>
* fix(INJI-403): revert changes of google services and env added by mistake
Signed-off-by: Alka <prasadalka1998@gmail.com>
* refactor(INJI-403): extracts some methods of telemetry to a util file
Signed-off-by: Alka <prasadalka1998@gmail.com>
* fix(INJI-403): fetch selected issuer's id from context instead of event
Signed-off-by: Alka <prasadalka1998@gmail.com>
* feat(INJI-403): update telemetry package link to mosip org
Signed-off-by: Alka <prasadalka1998@gmail.com>
* feat(INJI-403): making language code mapping fail safe and removing unwanted code
Signed-off-by: Alka <prasadalka1998@gmail.com>
---------
Signed-off-by: Alka Prasad <Alka1703@users.noreply.github.com>
Signed-off-by: Alka <prasadalka1998@gmail.com>
* feat(inji-344): add flipper config for mmkv and xstate
* feat(inji-409): Add flipper config file and enable devtools for all machines
* feat(inji-409): Add react-navigation to flipper config
* feat(inji-344): Use VC Key class instead of separate functions for managing vc key
* feat(inji-344): Use properties from VcKey Class instead of reading from vckey string
* feat(inji-344): Rename vcKey to vcMetadata
* feat(inji-344): Use vc's unique id or vckey instead of joined string of vc metadata
* feat(inji-344): Use vc key instead of unique id to avoid confusion. Fix issues reg parsing vc metadata
* feat(inji-344):fix redownloading issue
Co-authored-by: Tilak <tilakpuli15@gmail.com>
* feat(inji-344): Remove vc getting stored on update of pin status
* feat(inji-344): update other vc's pin status to false when any vc is pinned
* feat(inji-344): remove hash ID for UIN
* feat(inji-344): revert google services json
* feat(inji-344): remove mmkv logs added for debugging
* feat(inji-344): fix received vcs not getting displayed on reopen of app
* feat(inji-344): fix id not shown in revoke component
---------
Co-authored-by: Sri Kanth Kola <srikanthsri7447@gmail.com>
* feat(INJI-267): add and export deviceId constant in constants file
Use react-native-device-info library to get the unique identifier for each and every device
* refactor(INJI-267): extracts AppId global variable into a global variable file and renames it to __AppId
* refactor(INJI-267): extracts inji version and tuvali version handling into global variable file
* feat(INJI-267): add telemetry configuration in the application
* feat(INJI-267): generate unique session id for every session of the app
After launching the app until we kill the app we consider it as a single session
* feat(INJI-267): add start and end telemetry events for the QR login success flow
* feat(INJI-267): pass session id value in sunbird config
* feat(INJI-267): add start and end telemetry events for the VC sharing success flow
* feat(INJI-267): add start and end telemetry events for the VC activation success flow
* refactor(INJI-267): change QR login, VC share telemetry events type
* refactor(INJI-267): extract generateSessionId function, deviceId into global variables file
* feat(INJI-267): adds device related information in the config value
* feat(INJI-267): add and export deviceId constant in constants file
Use react-native-device-info library to get the unique identifier for each and every device
* refactor(INJI-267): extracts AppId global variable into a global variable file and renames it to __AppId
* refactor(INJI-267): extracts inji version and tuvali version handling into global variable file
* feat(INJI-267): add telemetry configuration in the application
* feat(INJI-267): generate unique session id for every session of the app
After launching the app until we kill the app we consider it as a single session
* feat(INJI-267): add start and end telemetry events for the QR login success flow
* feat(INJI-267): pass session id value in sunbird config
* feat(INJI-267): add start and end telemetry events for the VC sharing success flow
* feat(INJI-267): add start and end telemetry events for the VC activation success flow
* refactor(INJI-267): change QR login, VC share telemetry events type
* refactor(INJI-267): extract generateSessionId function, deviceId into global variables file
* feat(INJI-267): adds device related information in the config value
* feat(INJI-267): add selected language in global variables file to pass it into sunbird config
* feat(INJI-267): updates config structure and add AppInfo event
* feat(INJI-267): create dummy end event data to make the schema and send AppInfo Event on app launch
* feat(INJI-267): add and export deviceId constant in constants file
Use react-native-device-info library to get the unique identifier for each and every device
* refactor(INJI-267): extracts AppId global variable into a global variable file and renames it to __AppId
* refactor(INJI-267): extracts inji version and tuvali version handling into global variable file
* feat(INJI-267): add telemetry configuration in the application
* feat(INJI-267): generate unique session id for every session of the app
After launching the app until we kill the app we consider it as a single session
* feat(INJI-267): add start and end telemetry events for the QR login success flow
* feat(INJI-267): pass session id value in sunbird config
* feat(INJI-267): add start and end telemetry events for the VC sharing success flow
* feat(INJI-267): add start and end telemetry events for the VC activation success flow
* refactor(INJI-267): change QR login, VC share telemetry events type
* refactor(INJI-267): extract generateSessionId function, deviceId into global variables file
* feat(INJI-267): adds device related information in the config value
* feat(INJI-267): add and export deviceId constant in constants file
Use react-native-device-info library to get the unique identifier for each and every device
* feat(INJI-267): add telemetry configuration in the application
* feat(INJI-267): pass session id value in sunbird config
* refactor(INJI-267): change QR login, VC share telemetry events type
* refactor(INJI-267): extract generateSessionId function, deviceId into global variables file
* feat(INJI-267): adds device related information in the config value
* feat(INJI-267): add selected language in global variables file to pass it into sunbird config
* feat(INJI-267): updates config structure and add AppInfo event
* feat(INJI-267): create dummy end event data to make the schema and send AppInfo Event on app launch
* feat(INJI-267): bump up react-native-localize and remove unnecessary code
* feat(INJI-267): remove some unused imports and unnecessary formattings
* feat(INJI-267): remove unnecessary formattings
* feat(INJI-267): extracts obsrv host in an env variable
* feat(INJI-267): add env variable in react-native-dot-env index file
* feat(INJI-267): bump up react-native-localize
---------
Signed-off-by: Swati Goel <meet2swati@gmail.com>
Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Co-authored-by: Swati Goel <meet2swati@gmail.com>
details about the component:
- has two buttons tryAgain & cancel each occupying half the space in the
row
- kludge: uses similar styling for both themes
- TODO: override the width styles in-place instead
- this component should not be used for production as this is strictly
temporary for narrowing down in on bugs
Other changes:
- removed additional button from original MessageOverlay component
Reason: when keychain.getGenericPassword errors due to a false/falsy response,
the state machine goes ahead and clears the MMKV store and the VC
directory as without the key the encrypted data is not meaningful,
it may so happen that the keychain/keystore is not unlocked yet as
most modern mobile OSes can choose to lock access to it when the phone
is locked
Fix: earlier the state machine would go and clear the datastores without
user intervention, this fix will give the user a prompt if encrypted
VCs exist on app-data and allow user to try reading the keychain once
again before silently deleting everything
Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
Co-authored-by: Alka <prasadalka1998@gmail.com>