-
Notifications
You must be signed in to change notification settings - Fork 3k
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
HIGH: [Tracking] Implement report NextSteps in Auth #42118
Comments
Moving this to critical to include it in the daily updates |
The proposal got enough support so we can move ahead. I will plan to make a short predesign for this project, but my week is broken up with moving stuff from Scotland to Czechia and short planned holiday. I expect to make more progress next week, but I will attempt to have the predesign out by EOW, early next week the latest. |
@mountiny Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Gonna pick this back up this week once the performance is in better place |
Looking into a predesign for tomorrow |
Deployer duties took over, still on my list |
The predesign was posted on Friday, going to sum it up to the doc this week |
Aiming for EOW still |
Violations doc is out, I havent made much progress yet on this, but will ship this on Monday |
Still looking for the time here. Good news is @mountiny is working on a solution to get this to be 1:1:1 even before the migration, so the urgency in terms of making things faster is a little eased up. But still hoping to knock this out soon |
Falling behind due to higher pri work, hopefully after the 10/28 deadline for a lot of things we can tackle this again (at the latest) |
Will open up for this next week |
@mjasikowski, @dangrous Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Copilot is 99% wrapped, should be good to jump back in |
@mjasikowski, @dangrous Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Okay this time for sure. Next week! |
Shall we change this to weekly for now? |
higher priority stuff is on the table, will ideally get to this soon! |
We'll get there one day, hopefully as things slow down a bit in the holiday season |
Holiday project maybe? If not, in Jan for sure. |
Whatsnext post here.
Design doc https://docs.google.com/document/d/1gUDVqDdDj0jVOIuFBqPr0D6-vnClB-iztl38PzsiBqE/edit
GH Project https://github.com/orgs/Expensify/projects/154/views/1
CAP issue https://github.com/Expensify/Expensify/issues/406189
Proposal
Migrate the report next steps from PHP to Auth
Problem
Report next steps are currently calculated on the fly in PHP and are not stored in a database. This means that any commands using report next steps cannot be implemented following the true 1:1:1 API philosophy at the moment. We cannot queue report next steps updates in Auth because we must wait for an Auth command response to trigger the calculation of updated next steps in PHP. Only then can the update be pushed to relevant clients.
Similar to the case of violations, this leads to multiple Auth calls being made during a single API request, breaking the 1:1:1 rule. Many commands are slowed down due to the report next steps computation triggering multiple Auth calls. For example, any action that changes the state or status of a report will trigger a new next step computation. These may be computed multiple times per report as each participant of the expense report might receive different next steps.
It's worth noting that in order to support optimistic and offline calculation of some report next steps, we've implemented the core collect workspace next steps logic in the front-end code of NewDot.
While this project should only focus on migrating what we have from PHP to Auth, it is important to note that this migration is likely to be critical for ensuring that important upcoming projects are 1:1:1-compliant, such as the Search page, where we need to compute the next action for a report efficiently.
Solution
At a high level, the solution is to move report next steps to Auth; however, the details need to be fleshed out through predesign and a design document.
At minimum, we should discuss:
cc @JmillsExpensify @cead22
Tasks
#whatsnext
[email protected]
and paste in the Proposal[email protected]
(continue the same email chain as before - your last message should be the WN Proposal) with the link to your Design Doc containing your high-level problem and solutionDesignDocReview
label to get the High-level overview of the problem and High-level of proposed solution section reviewedDesignDocReview
label to this issue[email protected]
one last time to let them know the Design Doc is moving into the implementation phase[email protected]
once everything has been implemented and do a Project Wrap-Up retrospective that provides:Issue Owner
Current Issue Owner: @dangrousThe text was updated successfully, but these errors were encountered: