PalisadoesFoundation / talawa

Community Organization Management Software. Click on the link below to see our documentation.
https://docs.talawa.io/
GNU General Public License v3.0
311 stars 438 forks source link

bfix: handles error incase of unsuccessful logout #2420

Closed am-casper closed 6 months ago

am-casper commented 6 months ago

What kind of change does this PR introduce? This fixes a bug. Error handing in case of unsuccessful logging out is improved.

Issue Number: #2416

Fixes #2416

Did you add tests for your changes?

Updated a couple of tests.

Summary

As a user, i don't want to not able to log out properly and stuck between the App Settings and Select Language screen, everytime a logout is unsuccessful.

Does this PR introduce a breaking change?

This fixes a critical bug, especially for users who have unstable internet connection.

Have you read the contributing guide?

Yes

github-actions[bot] commented 6 months ago

Our Pull Request Approval Process

We have these basic policies to make the approval process smoother for our volunteer team.

Testing Your Code

Please make sure your code passes all tests. Our test code coverage system will fail if either of these two conditions occur:

  1. The overall code coverage drops below the target threshold of the repository
  2. Any file in the pull request has code coverage levels below the repository threshold

The process helps maintain the overall reliability of the code base and is a prerequisite for getting your PR approved. Assigned reviewers regularly review the PR queue and tend to focus on PRs that are passing.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them. When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

Other

:dart: Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.

codecov[bot] commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.74%. Comparing base (8652d99) to head (26aba3c).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #2420 +/- ## ======================================== Coverage 95.74% 95.74% ======================================== Files 152 152 Lines 7518 7518 ======================================== Hits 7198 7198 Misses 320 320 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

dhanagopu commented 6 months ago

@CyberWake @Kevoniat Can you review this PR?

noman2002 commented 6 months ago

@am-casper Please attach a video.

am-casper commented 6 months ago

@noman2002 This is after the bug fix. Before the bug was fixed, app crashes after logout if internet connectivity is weak https://github.com/PalisadoesFoundation/talawa/assets/103204377/ba41e69b-c28b-4e2a-a79a-5f6258877c61

am-casper commented 6 months ago

When logged out, navigate it to the login screen not on the language selection screen.

@noman2002 updated the commit. Kindly have a look

palisadoes commented 6 months ago

This is an update on the PR merging freeze:

  1. In the next few hours we will be merging the develop-userTypeFix branch into the develop branch.
  2. The develop-userTypeFix branch was created to fix a long standing design flaw where Admins were Admins of all organizations, not specific ones.
  3. The userType field has been removed from the User collection and it has been replaced by an appUserProfileId field.
    1. This field is null if the user isn’t registered to use the apps. This will help people to add users manually during the event checkin process, or if an Admin wants to manually add someone in the Admin dashboard.
    2. When not null the AppUserProfileID will reference a AppUserProfile collection with App related information such as the organizations for which a user may be an Admin.
    3. The updated schema can be found here https://github.com/PalisadoesFoundation/talawa-api/blob/develop-userTypeFix/schema.graphql
    4. This is the parent issue that we have been using to track progress:
      1. https://github.com/PalisadoesFoundation/talawa-api/issues/1965
  4. This merge will cause some conflicts in your PR.

We decided to do this at the beginning of the weekend to give us all time to adjust PR code and create bug fixes that may arise.

Update your code at or after midnight GMT on the morning of March 23, 2024. (5:30am IST).

If your PRs have already been approved, request a re-review after fixing the conflicts and refactoring to the new AppUserProfileID methodology.