Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CommCare Connect #2696

Open
wants to merge 103 commits into
base: master
Choose a base branch
from
Open

CommCare Connect #2696

wants to merge 103 commits into from

Conversation

OrangeAndGreen
Copy link
Contributor

Summary

Feature branch for CommCare Connect work

Product Description

Adds functionality for CommCare Connect.
User can register/recover a ConnectID account from the app login page.
User can unlock ConnectID once account has been registered/recovered.
When CID is unlocked, user can login to apps automatically using passwords that are securely stored in the app.

Safety Assurance

  • If the PR is high risk, "High Risk" label is set
  • I have confidence that this PR will not introduce a regression for the reasons below
  • Do we need to enhance manual QA test coverage ? If yes, "QA Note" label is set correctly

Safety story

QA has a test plan for ConnectID functionality so far.

Dave Viggiano and others added 30 commits March 2, 2023 10:58
Initial registration workflow working.
Implemented basic photos page and SMS verification.
Basic password manager implementation after ConnectID login.
Implemented local encrypted DB for data related to Connect.
Some cleanup after achieving POC functionality.
Using secure storage for password manager functionality.
A couple small bug fixes.
Preparing for OIDC calls.
Moved ConnectID activities into a sub-namespace called connect.
Showing recovery phone number in UI when sending alt OTP.
Now encrypting DB passphrase using a Cipher, and storing the encrypted passphrase in the global DB.
Added table to global DB for storing ConnectKeyRecords (changed DB version to 6).
Min SDK Version moved back to 16 now that we aren't using newer helper classes (EncryptedFile, MasterKeys).
Not allowing password option when prompting for biometric unlock during registration.
Fixed bug where ConnectID button on login page would appear after logging out of an app even if ConnectID user was not configured.
Disabled auto-login to app after unlocking ConnectID.
…strings.txt to strings.xml.

Re-enabled strict mode.
Small improvements to EncryptionUtils for versions before Android M.
Some other small changes based on PR review.
Added code for encrypting DB in Android version before API 23.
Fixed going to alt. phone verification after password fails three times.
Added better consent wording, links, and checkbox.
Some bug fixes for QA tickets.
Better error messaging on registration and phone verification pages.
Storing alt number in Connect DB.
Not allowing user to change primary number to match alt number.
Fixed bugs involving forgetting ConnectID user and saved app credentials.
Changed code to update primary phone ad main reg. info when user returns to those screens after initial creation.
Improvements to recovering workflow after crash or backup to start.
@shubham1g5
Copy link
Contributor

@damagatchi retest this please

if (readyApps.size() == 1 || presetAppRecord != null) {
if ((readyApps.size() == 1 && (!ConnectIdManager.isConnectIdIntroduced() || ConnectIdManager.isUnlocked()))
|| presetAppRecord != null) {
setLoginInputsVisibility(true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@OrangeAndGreen I just noticed this while working on some merge conflicts, But since this code also gets triggered when connect is not enabled, should not setLoginInputsVisibility(true); should be in the if later on with condition if (ConnectIdManager.isUnlocked()) { ?

shubham1g5 and others added 13 commits September 24, 2023 12:02
…f the API version prevents the app from taking the user directly to enrollment, a message is displayed and a button allows the user to go to settings where they can enroll.
Improved biometric enrollment for Android versions before API 30
Rearranged UI for biometric configuration to save vertical space
…g registration (when there aren't any other options configured yet).
Fixed populating phone number input from existing phone number.
Not showing the "Other Options" button on the fingerprint unlock dialog when it is shown during ConnectID registration.
@shubham1g5
Copy link
Contributor

@damagatchi retest this please

@shubham1g5 shubham1g5 added the skip-integration-tests Skip android tests. label Sep 29, 2023
@shubham1g5
Copy link
Contributor

@damagatchi retest this please

@OrangeAndGreen
Copy link
Contributor Author

@damagatchi retest this please.

@OrangeAndGreen
Copy link
Contributor Author

@damagatchi retest this please

@OrangeAndGreen OrangeAndGreen removed the skip-integration-tests Skip android tests. label Mar 18, 2024
@OrangeAndGreen
Copy link
Contributor Author

@damagatchi Retest this please

1 similar comment
@OrangeAndGreen
Copy link
Contributor Author

@damagatchi Retest this please

@OrangeAndGreen
Copy link
Contributor Author

@damagatchi Retest this please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
High Risk If the PR introduce high risk changes that has high probability of introducing breaking changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants