Open IuliiaHerets opened 1 month ago
Triggered auto assignment to @muttmuure (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.
@muttmuure 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
Edited by proposal-police: This proposal was edited at 2024-09-11 02:28:02 UTC.
After calling API to close the account, the session
onyx data is clear. Then, it navigates user to sign in page.
In here, we call API update automatic timezone here, we don't check whether the current user account ID is available or not.
That leads to the networkRequestQueue
data is not empty (its length > 0).
Then we type a new email then press on "Continue", which will trigger the read API.
And because the read API is only called once the networkRequestQueue
is empty, clicking on the "Continue" button does not seem to work until networkRequestQueue
is empty.
In here, we can early return if session.accountID
is undefined.
The session
data is from here.
currentAccountID = -1;
BaseLoginForm
if the networkRequestQueue
is not empty.@muttmuure Eep! 4 days overdue now. Issues have feelings too...
Job added to Upwork: https://www.upwork.com/jobs/~021836048383075873170
Triggered auto assignment to Contributor-plus team member for initial proposal review - @jjcoffee (External
)
Thanks for the proposal @dominictb!
we call API update automatic timezone here, we don't check whether the current user account ID is available or not.
I'm not sure I understand why we call this only in this situation (closing an account), can you clarify that? It sounds almost like there's something missing when we close the account (e.g. some Onyx value that isn't being reset).
I'm also a bit confused overall on your RCA, are you saying that the networkRequestQueue
never empties because the updateAutomaticTimezone
call is returning an error and therefore retrying and clogging up the queue indefinitely?
I'm not sure I understand why we call this only in this situation (closing an account)
accountID
, so we set timezone
to null
in:
https://github.com/Expensify/App/blob/1e8d80e850af52e60ec0fefbe11553cc196e8fee/src/libs/Navigation/AppNavigator/AuthScreens.tsx#L125-L130but the currentAccountID
is not cleared, it still stores the session.accountID
value when we did not close account.
updateAutomaticTimezone
function. I'm also a bit confused overall on your RCA, are you saying that the networkRequestQueue never empties because the updateAutomaticTimezone call is returning an error and therefore retrying and clogging up the queue indefinitely
Yes. You can try it by opening "Inspect" > "Application" > "IndexedDB" > "OnyxDB" > "keypairValue" > Observer the "NetworkRequestQueue" key after we close account.
the currentAccountID is not cleared, it still stores the session.accountID value when we did not close account.
Isn't this the overall RCA here then? If we update currentAccountID
once the account is deleted, it sounds like the issue would be solved. Or is there some reason for not doing that?
If we update currentAccountID once the account is deleted, it sounds like the issue would be solved
Yes. I updated my proposal to include that solution.
Sounds good! Let's go with @dominictb's proposal, probably following the idea to set currentAccountID
to -1
(we may tweak this on the PR if necessary).
:ribbon::eyes::ribbon: C+ reviewed
Triggered auto assignment to @yuwenmemon, see https://stackoverflow.com/c/expensify/questions/7972 for more details.
π£ @jjcoffee π An offer has been automatically sent to your Upwork account for the Reviewer role π Thanks for contributing to the Expensify app!
π£ @dominictb π An offer has been automatically sent to your Upwork account for the Contributor role π Thanks for contributing to the Expensify app!
Offer link Upwork job Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review π§βπ» Keep in mind: Code of Conduct | Contributing π
@jjcoffee I cannot close the account now, the CTA button is loading infinitely, Can you help check?
https://github.com/user-attachments/assets/22e0130a-9325-4201-be64-2f608f0cba06
@dominictb Hmm yeah I get the same on staging.
@dominictb Maybe you can try reverting the PR mentioned here in order to keep things moving on this?
@yuwenmemon @jjcoffee @muttmuure @dominictb this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
Not overdue
Reviewing
label has been removed, please complete the "BugZero Checklist".
The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.43-6 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2024-10-10. :confetti_ball:
For reference, here are some details about the assignees on this issue:
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
Regression Test Proposal
Do we agree π or π
@muttmuure Friendly bump for payment, thanks! :pray:
If you havenβt already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.31-12 Reproducible in staging?: Y Reproducible in production?: Y Email or phone of affected tester (no customers): applausetester+nl564@applause.expensifail.com Issue reported by: Applause Internal Team
Action Performed:
Expected Result:
Continue button takes user to the magic code page
Actual Result:
Continue button stops working
Workaround:
Unknown
Platforms:
Screenshots/Videos
https://github.com/user-attachments/assets/47284513-d9be-41db-ae24-74ca2fe42686
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @muttmuure