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

[HOLD for Payment 2024-05-29] [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end #34692

Closed
1 task
marcaaron opened this issue Jan 17, 2024 · 23 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Engineering NewFeature Something to build that is a new item. Weekly KSv2

Comments

@marcaaron
Copy link
Contributor

This is a sister issue to https://github.com/Expensify/Expensify/issues/341000.

As part of the Group Chats design doc we are migrating all report.participantAccountIDs to report.participants with a new data structure that can be used to show:

  • all participants of a report
  • whether they are "visible" or not
  • what their role in the chat is i.e. 'admin'|'member'

Holding on back end changes:

The general roll out of this should be as follows:

  • The backend will start by sending both data structures
  • The App will be updated to never use the deprecated one
  • We will also need an Onyx migration to create the new participants object for all reports.
  • After merging the App PR and deploying it we will force all production app versions to switch to the latest (Internal engineer will coordinate this once the native apps are deployed to production)
  • We can then stop sending the deprecated data structures report.participants (old version where it is an array of emails), report.participantAccountIDs & report.visibleChatMemberAccountIDs
@marcaaron marcaaron changed the title [HOLD] Frontend: Migrate off of participantAccountIDs to participants format in the front end [HOLD] [MEDIUM] Frontend: Migrate off of participantAccountIDs to participants format in the front end Jan 19, 2024
@melvin-bot melvin-bot bot added the Monthly KSv2 label Jan 29, 2024
@arielgreen arielgreen changed the title [HOLD] [MEDIUM] Frontend: Migrate off of participantAccountIDs to participants format in the front end [HOLD] [CRITICAL] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end Feb 22, 2024
@marcaaron
Copy link
Contributor Author

@arielgreen this one would be good to get a contributor to work on. Perhaps someone with experience working on performance or typescript refactors as the changes will be a little surgical and quite large.

Similar to other issues - we can technically launch without this and the feature will be the same for users (but it should be done).

@arielgreen
Copy link
Contributor

Thanks for the context @marcaaron! Perhaps with that detail, for now I'll bump this down to HIGH and plan on sourcing contributor help with it.

@arielgreen arielgreen changed the title [HOLD] [CRITICAL] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end [HOLD] [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end Mar 4, 2024
@aldo-expensify
Copy link
Contributor

@marcaaron do you know what is the current progress on the first step: The backend will start by sending both data structures? just trying to get a rough idea, and I would be happy to help clearing this up after I finish with other high priority issues.

@marcaaron
Copy link
Contributor Author

Hey thanks @aldo-expensify !

We are pretty close - this issue gives a good idea -> https://github.com/Expensify/Expensify/issues/341000

What's left is to...

  1. Merge your OpenReport changes
  2. Add some more updates to Auth and then merge this PR.
  3. Address the concerns in this issue.
  4. And some clean up*

Clean up

  • Investigate moving participants Onyx updates to a "lower level" + write tests. Suggested by @flodnv here.
  • Remove any places that are returning duplicate jsonResponse['someOnyxUpdate'] (e.g. here and here - but there are a few more). These are not needed as the updates always get passed to the API caller in the PHP $response.

I will work on creating some issues for these tasks if you want to help there. Tbh kind of planned on doing it myself since I'm very invested in cleaning up everything, but appreciate the help for sure ❤️

@marcaaron
Copy link
Contributor Author

@s77rt curious if you'd be interested in picking this one up once we are done with the main feature work. 90% of the backend changes are done we just need to go in and re-wire all the references to participantAccountIDs and visibleChatMemberAccountIDs. Let me know if so! I think you have some good context on what would need to be tested.

@s77rt
Copy link
Contributor

s77rt commented Apr 5, 2024

Sure I'd like to work on this

@marcaaron marcaaron self-assigned this Apr 5, 2024
@marcaaron
Copy link
Contributor Author

🦸 We can start after the second front end PR gets merged, but I'll assign you now.

@s77rt
Copy link
Contributor

s77rt commented Apr 15, 2024

Will look into this today

@melvin-bot melvin-bot bot removed the Overdue label Apr 15, 2024
@s77rt s77rt mentioned this issue Apr 15, 2024
50 tasks
@marcaaron marcaaron changed the title [HOLD] [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end Apr 16, 2024
@s77rt
Copy link
Contributor

s77rt commented Apr 21, 2024

Update: Raised a Onyx PR fixing a bug that I encountered working on this Expensify/react-native-onyx#537

@melvin-bot melvin-bot bot added the Reviewing Has a PR in review label Apr 28, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Apr 28, 2024
Copy link

melvin-bot bot commented May 15, 2024

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@ikevin127
Copy link
Contributor

ikevin127 commented May 23, 2024

⚠️ Automation failed: This was deployed to production today here, therefore should be [HOLD for Payment 2024-05-29] and have Awaiting Payment label. Additionally, it's missing the NewFeature label -> doesn't have a BZ team member assigned.

cc @marcaaron

@marcaaron marcaaron added the NewFeature Something to build that is a new item. label May 23, 2024
Copy link

melvin-bot bot commented May 23, 2024

Triggered auto assignment to @miljakljajic (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

Copy link

melvin-bot bot commented May 23, 2024

⚠️ It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time ⚠️

Copy link

melvin-bot bot commented May 23, 2024

Triggered auto assignment to Design team member for new feature review - @dubielzyk-expensify (NewFeature)

@marcaaron
Copy link
Contributor Author

Thanks! Assigned you and adding the correct labels to get this sorted.

@miljakljajic this was a new feature not a Bug so I added that label.

Other details:

@s77rt is working with me and @mallenexpensify directly on this one
@ikevin127 worked as the C+ on the review so he needs to get paid for that

@trjExpensify trjExpensify changed the title [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end [HOLD for Payment 2024-05-29] [HIGH] [Groups] Frontend: Migrate off of participantAccountIDs to participants format in the front end May 29, 2024
@trjExpensify trjExpensify added Awaiting Payment Auto-added when associated PR is deployed to production and removed Reviewing Has a PR in review labels May 29, 2024
@trjExpensify
Copy link
Contributor

Payment summary as follows:

Is that correct?

@trjExpensify
Copy link
Contributor

Also, after paying this out we can close the issue? (Sorry, there's a bunch of PRs linked here)

@ikevin127
Copy link
Contributor

I think that's correct! The reported deploy blocker from #34692 (comment) was not related to the participants migration based on #42232 (comment).

Also, after paying this out we can close the issue? (Sorry, there's a bunch of PRs linked here)

cc @marcaaron @s77rt Please, correct me if I'm wrong on any of the questions!

@trjExpensify
Copy link
Contributor

Alright, I've sent an offer in the meantime. I can always amend the price after the hipcheck.

@s77rt
Copy link
Contributor

s77rt commented May 29, 2024

I think the PR may had a relation with this bug #40254 (comment) but after the BE changes fixing this the bug was no longer reproducible. I can't tell for sure if the BE changes were enough or if an actual frontend solution was needed.

@ikevin127
Copy link
Contributor

@trjExpensify Is this enough for payment to be issued today or we're waiting for Marc's confirmation too ?

@trjExpensify
Copy link
Contributor

Yeah, the latter. I'm coming in pretty cold on this one. I reached out to Marc earlier and I'll settle this after. 👍

@trjExpensify
Copy link
Contributor

Alright, Marc got back to me. Paid!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Engineering NewFeature Something to build that is a new item. Weekly KSv2
Projects
None yet
Development

No branches or pull requests

8 participants