-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Due for payment 2025-04-02] [$250] iOS - Security - The copilot switcher still displays after logging in back to the main account #58218
Comments
Triggered auto assignment to @jliexpensify ( |
iOS <> Android bug swap |
Job added to Upwork: https://www.upwork.com/jobs/~021899644539670492309 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @hoangzinh ( |
Hi, I'm Viktoryia from Callstack - expert contributor group - and I would like to work on this issue. |
UPD: I've reproduced the issue, investigating it! |
ProposalPlease re-state the problem that we are trying to solve in this issue.App considers the main account as copilot if you log into it after login out from copilot switched to main. What is the root cause of that problem?The app defines if the account is acting as delegated (copilot), by checking through the app the When I log in as a copilot account and switch to the main account, the OpenApp command is called which adds Account data returned by OpenApp when switching to delegate app.
When I log out and then log in to the main account, the signInAfterTransitionFromOldDot is called. It clears out the onyx data, but App/src/libs/actions/Session/index.ts Line 569 in cda61b1
During the main account launch, the OpenApp command is called. It returns the main Account data returned by OpenApp when login to main account
The app checks that the delegate field exists and shows the functionality for the delegated account. What changes do you think we should make in order to solve the problem?We need to clear out To do that, we need to update clearOnyxForNewAccount function accordingly:
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?N/A What alternative solutions did you explore? (Optional)N/A Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. |
@hoangzinh Huh... This is 4 days overdue. Who can take care of this? |
@hoangzinh any ETA on reviewing the proposal? |
I will try to review your proposal today or tomorrow. |
Hi @VickyStash, I thought we already clear out all Onyx data when an account is logged out, don't we? |
In case of Hybrid App, the log out is handled there: App/src/libs/actions/Session/index.ts Lines 246 to 250 in 7cbbb55
So it returns before clearing the data on the new app side. As an option, we can try to clear the Onyx data right before |
I see, let me review it carefully. Thanks @VickyStash |
@VickyStash because Onyx.merge is an async action, are you going to wrap it with current Onyx.clear here to clear Onyx data? |
I think to be safe we can:
@hoangzinh What do you think? |
probably |
@hoangzinh Sounds good to me! Do you want me to update the proposal accordingly? |
Yes please. It helps internal engineer review everything |
@hoangzinh Done! |
@VickyStash's proposal looks good to me Link to proposal #58218 (comment) 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @stitesExpensify, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
I'll prepare the PR tomorrow! |
The PR is ready for the review. |
Thank you @VickyStash. @stitesExpensify do you agree with Viktoryia proposal here #58218 (comment) |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.18-4 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2025-04-02. 🎊 For reference, here are some details about the assignees on this issue:
|
@hoangzinh @kadiealexander @hoangzinh The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
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: v9.1.11-3
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: No, reproducible on hybrid only
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/5724066
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Device used: iPhone 12 / iOS 17.7.2
App Component: User Settings
Action Performed:
Precondition:
Full Copilot access:
Steps:
Main account:
5. Login back to the main account
6. Navigate to Settings > Security
7. Remove Copilot access from the account
Expected Result:
The main account can remove the copilot normally
Actual Result:
After log out the copilot and log in back the main account the copilot switcher still display in the settings and when trying to remove the copilot display the "not so fast ..." modal
Workaround:
Unknown
Platforms:
Screenshots/Videos
View all open jobs on GitHub
Bug6767187_1741684890679.Copilot.mp4
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @kadiealexanderThe text was updated successfully, but these errors were encountered: