-
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
[ON HOLD][$2000] Android - Workspace is still selectable even after 'Create room' button has been pressed #21577
Comments
Triggered auto assignment to @johncschuster ( |
Bug0 Triage Checklist (Main S/O)
|
Job added to Upwork: https://www.upwork.com/jobs/~011eacb8f4d46da0d6 |
Current assignee @johncschuster is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @fedirjh ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Picker (Selection fields) are still enabled after the Create Room button is clicked, which allows the user to change the values. What is the root cause of that problem?The root cause of this problem is on the
When the submit function is called, this doesn't block the Pickers in any way, so while the action is fired, they are still enabled. We also need to make the actions after the submit asynchronously, so that it doesn't block our state from updating. What changes do you think we should make in order to solve the problem?We should add an extra state on the component like that:
On the submit action, we should add the following:
*EDIT: I initially used the OLD IMPLEMENTATION:
NEW IMPLEMENTATION:
This one disables the Select fields without changing the looks. This way, the selection fields / inputs will be disabled while the room is being created |
Not overdue, Melvin. We're just getting proposals now. @fedirjh, what do you think of the above proposal? |
@Thanos30 I think the root cause is that we don't disable the Form input's edition after submission. Ideally, we should fix the Form and block any interaction after submission. Regarding the solution, we should avoid using |
@fedirjh I could look into the Form inputs' disabling option if you prefer it this way. The reason I am using the setTimeout, is because the Form submission is triggering an immediate navigation, and our issue is happening in between the navigation process. Within that small time space, the state update on the Form component isn't firing, since we are on the navigating process. That's why we use the setTimeout in order to do that on the background. Feel free to test on your own environment if possible so you can check this first-hand. Thanks for the feedback |
Looks like something related to As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our Feel free to drop a note in #expensify-open-source with any questions. |
We should fix it globally, it may occur on other forms as well, so it would be ideal to address the root cause.
Maybe we should investigate that further, this is feels tricky to me. Not sure , but we can switch the order of execution, update state then submit the form. |
I checked, I can follow the same logic inside the Form component so that it works like that everywhere.
I tried that, as I mentioned above, the state update is asynchronous, so it still doesn't trigger. I understand that it sounds a bit tricky, in real life scenarios the Navigation will probably never take long enough for the user to be able to click on the selection fields again. Debouncing the creation of the room and the navigation with a delay of 0 will simply run the actions on the background asynchronously, which allows us to remain on the same state and be able to update it. If you think about it, in most forms, there is an asynchronous function following up, so it's not that strange. |
@johncschuster, @fedirjh Whoops! This issue is 2 days overdue. Let's get this updated quick! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@johncschuster I think we should wait for better proposal , actually we don't allow |
@fedirjh I couldn't figure out a way around this without debouncing the call so that it runs on the background (asynchronously) and not block the state update. If you want me to update my proposal to use the Thank you for the feedback |
Not overdue, Melvin. We're still waiting on proposals |
Thanks for the bump! That sounds good to me! Are we putting this on hold for #27025, or is there a different issue I can link to? |
I've put the issue on hold. @fedirjh, can you confirm I have the right issue for the hold when you get a moment? Thank you! |
Still holding. |
hey @johncschuster It should be on hold for #25397 |
Still on hold. |
@johncschuster The create room flow has been changed. It now uses a push to page for workspace selection, which seems to improve the UX and fix the bug for me. @kbecciv could you please retest the issue? CleanShot.2023-10-27.at.00.09.21.mp4 |
@johncschuster Can we retest if this bug still exists? please check my comment #21577 (comment) |
Sure! @kbecciv, can you re-test that flow? |
@johncschuster Checking, will update you shortly |
Issue is not reproducible Screen_Recording_20231109_120222_New.Expensify.mp4 |
@johncschuster Are we good to close this bug ? |
Yes! Let's close it! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
Workspace should not be selected when the 'create room' button has been pressed
Actual Result:
Workspace is still selectable even after 'Create room' button has been pressed
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.29-11
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
workspace.2.mp4
Screen.Recording.20230626.115123.New.Expensify.2.mp4
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687430588059259
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: