-
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
[Due for payment 2025-02-19] [$250] mweb - Onboarding - Accounting software selection has blue border when redirected from OD #55145
Comments
Triggered auto assignment to @trjExpensify ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The accounting software selection has blue border when redirected from OD. What is the root cause of that problem?When a row is selected, it's focused here Then because
The blue border is displayed based on this style. Lines 68 to 80 in c30c298
What changes do you think we should make in order to solve the problem?This bug also happens on other pages that use the selection list, which we don't navigate after selecting a row.
Lines 68 to 80 in c30c298
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?What alternative solutions did you explore? (Optional)We can remove the sync focus here. and remove
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. |
Job added to Upwork: https://www.upwork.com/jobs/~021878829529063238484 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allgandalf ( |
🤔 Would love to get some more design team thoughts on this—it looks like the default style for focusing an element if you were navigating with your keyboard? |
Hmm yeah.... I mean, we kind of need those blue outlines for things like keyboard navigation and tabbing, but I guess the question is, why is this getting that kind of tab focus in the first place? Can't we just highlight the option as "selected" without needing to give it the :active/:focus style? |
Totally. Definitely agree. |
Agree with the designers. We generally don't wanna disable the blue outlines given it's critical for accessibility, but it feels a bit weird that the outline is already on that thing without having tabbed. |
This comment has been minimized.
This comment has been minimized.
🚨 Edited by proposal-police: This proposal was edited at 2025-01-22 02:52:43 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.On the accounting software selection page, there is a blue border around the selected item, which should only happen if the user uses keyboard navigation to navigate the menu. What is the root cause of that problem?This only happens on selection lists that do not have a text input for searching the options at the top. The folowing code, which is part of the text input, handles updating the focus. Sorry, github refused to paste this permalink as anything but a link Then when rendering the select list options, the value of isTextInputFocusedRef is used to calculate the shouldSyncFocus param:
Finally, in the useSyncFocus hook which is used by ListItem, line 23 will be executed, causing the incorrect style: App/src/hooks/useSyncFocus/index.ts Lines 18 to 26 in 4365558
What changes do you think we should make in order to solve the problem?Change this line:
to:
This makes it so everything works when there is no text input with the select list. What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?Create a UI test that renders a selection list without a text input. Verify that when an item is clicked the style is not added. What alternative solutions did you explore? (Optional)N/A |
That part is something we might want to fix, but I think it's separate from what's going on in this bug report. Why are we using a :active/:focus tab style when we make the transition from Old to New? |
@shawnborton I don't think it's separate. I reproduced the issue on CountrySelectPage by removing the text input and just displaying the select options. |
Hmm I'm not following. But do you agree that we shouldn't be triggering tab/keyboard focus when we make the transition from Classic to NewDot? |
@shawnborton Yes, I agree. The reason it’s adding the blue border is because there is no text input. Let me see if I can explain it better. The presence of the blue border is controlled by the text input on the selection list. When it gets focus it takes away the blue border. When it blurs it adds it. Both of these things happen indirectly in the use SyncFocus hook. I think the assumption was that if the input lost focus that meant keyboard navigation was being used on the selection list list (and vice versa). However, since there is no text input on the accounting page, it never receives the focus and the blue border is never removed. |
Thanks for the explanation! Now let's get some good proposals for how to fix that :) |
@shawnborton just to be on the same page, can you please suggest the final expected behaviour for this issue |
I think we just simply want to remove the :active/:focus styling from the selectOption shown here: By that I mean, we don't want to trigger the behavior that caused that row to have the :active/:focus styles. We want to keep our general blue outline styles intact throughout the app though. The idea is just to prevent it from being triggered in this particular case. |
makes sense , @nkdengineer @rdipippo please align your proposal with the expected results (if not already), I will review the proposals later today |
@allgandalf I have a solution I want to test - how do I trigger onboarding in my local build? |
@trjExpensify @allgandalf 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! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@trjExpensify, @allgandalf Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@allgandalf what's the story here? |
let's go with @nkdengineer 's proposal , RCA is correct and solution makes sense (Note to internal engineer: I also think there alternative solution would work, but i prefer main solution here) 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @neil-marcellini, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
The story was that I updated my K2 and messed up something with the access token, fixed it now, sorry for the delay 😅 |
Damn, an Amazon Bestseller. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Ok, sounds like that will work. Let's make sure this doesn't create a regression for the original issue #50316 |
📣 @allgandalf 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @nkdengineer 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Issue not reproducible during KI retests. (First week) |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.96-1 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-02-19. 🎊 For reference, here are some details about the assignees on this issue:
|
@allgandalf @trjExpensify @allgandalf 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] |
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: 9.0.84-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: Exp
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Device used: iPhone 15 Pro Max / iOS 18.2
App Component: Other
Action Performed:
Expected Result:
The accounting software selection will not have blue border.
Actual Result:
The accounting software selection has blue border when redirected from OD.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6712636_1736716164990.ScreenRecording_01-13-2025_05-04-33_1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @trjExpensifyThe text was updated successfully, but these errors were encountered: