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

[Offline] Group chat - Group chat turns to not here page when creating group with non-existing account #51473

Closed
2 of 8 tasks
lanitochka17 opened this issue Oct 25, 2024 · 13 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Needs Reproduction Reproducible steps needed retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause Weekly KSv2

Comments

@lanitochka17
Copy link

lanitochka17 commented Oct 25, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 9.0.54-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause - Internal Team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Go offline
  3. Go to FAB > Start chat
  4. Enter any random gmail account (non-existing account)
  5. Click Add to group
  6. Start a group with the user
  7. Go online

Expected Result:

Group chat will not turn to not here page after returning online

Actual Result:

Group chat turns to not here page after creating group chat with non-existing account offline and returning online

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence
Bug6645533_1729859324388.20241025_201912.mp4

View all open jobs on GitHub

@lanitochka17 lanitochka17 added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Oct 25, 2024
Copy link

melvin-bot bot commented Oct 25, 2024

Triggered auto assignment to @mallenexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@lanitochka17
Copy link
Author

@mallenexpensify FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

@NJ-2020
Copy link
Contributor

NJ-2020 commented Oct 27, 2024

Edited by proposal-police: This proposal was edited at 2024-10-27 14:23:02 UTC.

Proposal

Please re-state the problem that we are trying to solve in this issue.

Group chat - Group chat turns to not here page when creating group with non-existing account

What is the root cause of that problem?

It shows 404 page not found because we did not pass the emailList value when requesting to the OpenReport API after change from offline to online
Screenshot 2024-10-27 at 07 08 36
It's because when we go to offline mode and create new group, the OpenReport API get called 2 times, first when creating the group and second when opening the group chat

const createGroup = useCallback(() => {
if (!newGroupDraft) {
return;
}
const logins: string[] = (newGroupDraft.participants ?? []).map((participant) => participant.login);
Report.navigateToAndOpenReport(logins, true, undefined, newGroupDraft.reportName ?? '', newGroupDraft.avatarUri ?? '', avatarFile, optimisticReportID.current, true);
}, [newGroupDraft, avatarFile]);

After this PR #51093 we will replace duplicated OpenReport requests if the request.command and the report id is equal meaning it will replace the previous request with the new one (when opening group chat) which will remove the emailList value (from the previous request createGroup)
checkAndFixConflictingRequest: (persistedRequests) =>
resolveDuplicationConflictAction(persistedRequests, (request) => request.command === WRITE_COMMANDS.OPEN_REPORT && request.data?.reportID === reportID),

What changes do you think we should make in order to solve the problem?

We should check also for emailList if the previous request and current request is same
We can check also for other param like accountIDList if needed

API.paginate(CONST.API_REQUEST_TYPE.WRITE, WRITE_COMMANDS.OPEN_REPORT, parameters, {optimisticData, successData, failureData}, paginationConfig, {
    checkAndFixConflictingRequest: (persistedRequests) =>
        resolveDuplicationConflictAction(persistedRequests, (request) => request.command === WRITE_COMMANDS.OPEN_REPORT && request.data?.reportID === reportID && request.data?.emailList ===  parameters.emailList),
});

Result

Screen.Recording.2024-10-27.at.07.20.52.mov

What alternative solutions did you explore? (Optional)

Copy link

melvin-bot bot commented Oct 28, 2024

@mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@melvin-bot melvin-bot bot added the Overdue label Oct 28, 2024
@mallenexpensify mallenexpensify changed the title Group chat - Group chat turns to not here page when creating group with non-existing account [Offline] Group chat - Group chat turns to not here page when creating group with non-existing account Oct 29, 2024
@mallenexpensify mallenexpensify added Needs Reproduction Reproducible steps needed Weekly KSv2 and removed Daily KSv2 labels Oct 29, 2024
@melvin-bot melvin-bot bot removed the Overdue label Oct 29, 2024
@MelvinBot
Copy link

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

@mallenexpensify
Copy link
Contributor

@NJ-2020 thanks for the proposal. I'm unsure exactly what I want to do with the issue so I added Needs Reproduction and Weekly. We're shifting internal priorities and I'm unsure where 'offline' issues fall into that.

@NJ-2020
Copy link
Contributor

NJ-2020 commented Oct 29, 2024

Okay no problem, thank you

@mallenexpensify
Copy link
Contributor

I'm back from OOO on Nov 14th, not assigning another BZ, if one is needed please add or post in #contributor-plus to ask for one to be added, thx.

@melvin-bot melvin-bot bot added the Overdue label Nov 15, 2024
@mallenexpensify
Copy link
Contributor

Just spent 20 mins trying to get into new.expensify.com and staging.new.expensify.com with my [email protected] account and had no luck with both, will revisit/test soon

@melvin-bot melvin-bot bot removed the Overdue label Nov 19, 2024
@NJ-2020
Copy link
Contributor

NJ-2020 commented Nov 20, 2024

This has been fixed here #52350

cc: @mallenexpensify

@mallenexpensify mallenexpensify added the retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause label Nov 21, 2024
@mallenexpensify
Copy link
Contributor

Thanks @NJ-2020 , throwing retest weekly on it to get tested again before closing.

@mvtglobally
Copy link

Issue not reproducible during KI retests. (First week)

@melvin-bot melvin-bot bot added the Overdue label Nov 29, 2024
@mallenexpensify
Copy link
Contributor

Looks like it's fixed 🎉 (also... 🌮🌮🌮🌮🌮)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Needs Reproduction Reproducible steps needed retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause Weekly KSv2
Projects
None yet
Development

No branches or pull requests

5 participants