-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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 2023-07-26] [$1000] Web - Admin of a workspace is selected and the remove button is activated by Pressing the space key #22413
Comments
Triggered auto assignment to @anmurali ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPosting proposal early as per new guidelines Please re-state the problem that we are trying to solve in this issue.Workspace Admin can be selected and Remove Button enabled by Pressing the space key What is the root cause of that problem?When we click checkbox for admin row and press spacebar, it will toggle App/src/pages/workspace/WorkspaceMembersPage.js Lines 318 to 323 in 776ea5d
Here we disabled checkbox at line 319 so user will not able to check via mouse, but it will trigger What changes do you think we should make in order to solve the problem?We have to update <Checkbox
disabled={disabled}
isChecked={isChecked}
//onPress={() => toggleUser(item.accountID, item.pendingAction)} // *** OLD Code
onPress={() => !disabled && toggleUser(item.accountID, item.pendingAction)} // *** Updated Code
accessibilityLabel={item.displayName}
/> It will solve the issue as shown in result video. Note: We can adjust/optimize onPress logic during pr if need. Additional suggestion: What alternative solutions did you explore? (Optional)We can create Replace line 309 with and replace line 321 with Replace line 341 with Resultadmin-select.mov |
ProposalPlease re-state the problem that we are trying to solve in this issue.In the Workspace members page admin can be selectable with a space key for the removal What is the root cause of that problem?Within App/src/components/Pressable/GenericPressable/BaseGenericPressable.js Lines 88 to 114 in ed21fda
What changes do you think we should make in order to solve the problem?We can retrun early when the component is disabled and won't allow executing
What alternative solutions did you explore? (Optional)We can only execute App/src/components/Checkbox.js Line 81 in ed21fda
|
ProposalPlease re-state the problem that we are trying to solve in this issue.We can toggle disabled checkbox with space. What is the root cause of that problem?Checkbox component has a App/src/components/Checkbox.js Lines 55 to 62 in ed21fda
If the member is an admin, we will disable the Checkbox. Both App/src/components/Pressable/GenericPressable/BaseGenericPressable.js Lines 140 to 144 in ed21fda
But in GenericPressable, we don't specifically handle App/src/components/Pressable/GenericPressable/BaseGenericPressable.js Lines 165 to 166 in ed21fda
What changes do you think we should make in order to solve the problem?The other solution above will do the job, but I just want to share my suggestion to completely fix the underlying issue. There will be quite a lot of changes 😄 In my opinion, it's not very reliable to pass undefined to every possible callback available in Pressable. We can easily miss it, like in this issue. So, we should completely disable the Pressable when
This will set Last, we have OpacityView in PressableWithFeedback. To not have multiple unnecessary View, we can move this to GenericPressable (and it's logic). We will conditionally render between OpacityView and View based on whether we want a feedback or not.
What alternative solutions did you explore? (Optional)Disable the keydown listener in BaseGenericPressable when the button is disabled.
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Web - Admin of a workspace is selected and the remove button is activated by Pressing the space key What is the root cause of that problem?Root cause of this issue is that we have a What changes do you think we should make in order to solve the problem?Update the propKey here App/src/components/Checkbox.js Line 81 in 9d73692
onKeyPress .
What alternative solutions did you explore? (Optional)Maybe handle the |
Reproduced on staging in Chrome/ Mac |
Job added to Upwork: https://www.upwork.com/jobs/~014fb70565a6eaf9ee |
Current assignee @anmurali is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
@eVoloshchak, @anmurali Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@eVoloshchak can you review the proposals here and pick one? |
@PrashantMangukiya's proposal will work, but only for this specific page, I think we should strive for a more universal approach @Pujan92 , I don't think your approach will resolve the issue. There is no need to add
@bernhardoj's proposal looks good to me!
I think it's ok to have a separate method/logic for each callback. There is a finite number of callbacks for Pressable, there won't be a bunch of new ones, and that will allow us to have a more flexible logic if we need to 🎀👀🎀 C+ reviewed! |
Triggered auto assignment to @bondydaa, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@eVoloshchak so, are we going to do this in BaseGenericPressable (bcs I didn't specifically mention this solution, if yes, I will add it to the alternative): or the |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.42-26 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 2023-07-26. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
As a reminder, here are the bonuses/penalties that should be applied for any External 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 👎 |
Requested the payment via NewDot |
@anmurali Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @eVoloshchak's NewDot payments. More information on this compliance process in Slack. |
@bondydaa, @eVoloshchak, @anmurali, @bernhardoj Huh... This is 4 days overdue. Who can take care of this? |
Reached our via DM |
|
Reviewed details for @eVoloshchak. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot. |
@bondydaa, @eVoloshchak, @anmurali, @bernhardoj Whoops! This issue is 2 days overdue. Let's get this updated quick! |
i think waiting for payment still @JmillsExpensify @anmurali ? |
No for NewDot, we're good on that front. 🙌🏼 |
@bernhardoj - upwork.com/nx/wm/offer/26037915 |
@anmurali accepted! |
Paid. |
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:
Notice that Admin of a workspace is selected and the remove Button is activated
Expected Result:
Can't select Admin of a workspace
Actual Result:
Admin of a workspace is selected and the remove Button is activated
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.37-5
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
Test63_Adminselect-1.mp4
Reproduce.mov
Recording.3482.mp4
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688674750643479
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: