DostEducation / RP_IVR_analytics

This is a cloud function based webhook processing service that is being using to get webhook calls from RapidPro to capture different analytical data point.
GNU Affero General Public License v3.0
4 stars 1 forks source link

Logic correction for the language selection and the user onboarding flow. #477

Closed Sachinbisht27 closed 1 month ago

Sachinbisht27 commented 2 months ago

Describe the bug We are experiencing some discrepancies for the users who are changing their program and language details after completing the registration.

Add diagnosis details

  1. Multiple user groups:
    • Once the Language selection is completed.
    • The user is getting added to the user group for the selected language by DRY-FLOW.
    • The user again changes the language ID by placing the missed call.
    • Which is adding him to another user group as well.
  2. Program ID and time selection details not updating in the database:
    • Once the onboarding is completed the program details didn't update on the database.
    • The user program and time category can be changed by the user multiple times on the onboarding day.

Steps to reproduce the behavior For multiple user group issues:

  1. Complete the user onboarding by selecting the upcoming time slot.
  2. Run the DRY-FLOW.
  3. Place a missed call and update the language ID.
  4. Then run the DRY-FLOW again.
  5. Check the user is added to how many groups.

For data sync issue:

  1. Complete the user onboarding by selecting all the prompts.
  2. Once the data is updated to the database and the registration is marked as completed.
  3. Place a missed call again and change the program and time details.
  4. Check if the details are updating in the database properly or not.

Expected behavior

Screenshot; image

Root cause User Onboarding Logic.

Impact

Action items

Criticality

Acceptance Criteria

Documentation Add whatever documentation will be required here.

thebelrobot commented 1 month ago

Observations so far:

  1. Most of the users who got added to a wrong language group had a common behaviour of multiple onboarding requests.
  2. I have tried dry running multiple workflows, but was not able to reach a situation where my number is added to a wrong language group.
  3. In my try run I was able to re-create the scenario.
Sachinbisht27 commented 1 month ago

Diagnosis sheet for the affected users:

https://docs.google.com/spreadsheets/d/1iWay43QC4aG80Dr1hksZ66BN54l9TIohBkrdkyX-h3Y/edit?usp=sharing

Sachinbisht27 commented 1 month ago

The root causes for the issue with the action item to fix:

Diagnosis:

Completed users are signing up again

Target issue:

New users giving other responses than expected.

Target issue:

Users changing language.

Target issue:

For already affected users:

Target issue:

Sachinbisht27 commented 1 month ago

We will be targeting the Fix for the diagnosed issues in separate GitHub tasks:

Sachinbisht27 commented 1 month ago

Closing as diagnosis is completed and we are targeting all action items in separate issues.