-
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
[HOLD for payment 2023-05-03] [$1000] Auto Complete Address, blue border doesn't cover the edge #17277
Comments
Triggered auto assignment to @kadiealexander ( |
Bug0 Triage Checklist (Main S/O)
|
Job added to Upwork: https://www.upwork.com/jobs/~013f1335a90efc1a5f |
Current assignee @kadiealexander is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt ( |
Triggered auto assignment to @mountiny ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Auto Complete Address, blue border doesn't cover the edge What is the root cause of that problem?The rounded borders of the dropdown container are causing the outline to be truncated as we haven't applied any vertical padding for the list view to avoid it (or have border radius defined for first and last rows) What changes do you think we should make in order to solve the problem?We just need to add some vertical spacing to it here like App/src/components/AddressSearch.js Line 268 in 3abe7b2
eg. listView: [
!displayListViewBorder && styles.googleListView,
displayListViewBorder && styles.borderTopRounded,
displayListViewBorder && styles.borderBottomRounded,
displayListViewBorder && styles.mt1,
displayListViewBorder && styles.pv1, Result after applying fix: |
ProposalPlease re-state the problem that we are trying to solve in this issue.Blue border indicating focus isn't properly rendered in the autocomplete address dropdown list. What is the root cause of that problem?The style which is used to indicate focus of an element makes use of a blue inset in CSS. The top and bottom edges of the address dropdown have rounded corners which end up cutting off the inset, since CSS insets cannot have a border radius set. What changes do you think we should make in order to solve the problem?This is dependent on the overall design language, but removing the rounded corners fixes the problem as shown in the image below. What alternative solutions did you explore? (Optional)Using an image or using the CSS border-image-slice directive to indicate focus such that the focus indicator is rendered properly with rounded corners. |
ProposalPlease re-state the problem that we are trying to solve in this issue.Auto Complete Address, blue border doesn't cover the edge What is the root cause of that problem?This is happening because we're not applying any padding for list inside What changes do you think we should make in order to solve the problem?To fix this, we should apply "12px" or "8px" of vertical padding inside |
ProposalPlease re-state the problem that we are trying to solve in this issue.Auto Complete Address, blue border doesn't cover the edge What is the root cause of that problem?This is caused by rounded borders in dropdown container. Thus clipping outline(box-shadow is used here) What changes do you think we should make in order to solve the problem?We should apply top rounded corners for first child and bottom rounded corners to last child. Currently https://github.com/FaridSafi/react-native-google-places-autocomplete package which is used here doesn't allow applying individual styles for first or last element. It only allows to apply general same style for all row elements. The best solution would be creating an issue and offering a pr request for this package to support individual styling for row elements. We can modify this components What alternative solutions did you explore? (Optional)none |
ProposalPlease re-state the problem that we are trying to solve in this issue.We want the blue focus border in auto-complete address dropdown to be rounded like its container. Only the first and the last row needs to have rounded radius What is the root cause of that problem?We are not adding border radius to the address dropdown rows here. What changes do you think we should make in order to solve the problem?We need to add border top left/right radius to the first and border bottom left/right radius to the last row of the dropdown list. For this we would need to check the row index and apply styles, atm this is not supported by the react-native-google-places-autocomplete. We would need to fix it upstream, I would suggest we update our own fork of react-native-google-places-autocomplete. For this we would need to do these
and receive it in the function args like this
DemoScreen.Recording.2023-04-12.at.2.40.58.PM.movWhat alternative solutions did you explore? (Optional)N/A |
ProposalPlease re-state the problem that we are trying to solve in this issue.Auto Complete Address, blue border doesn't cover the edge. What is the root cause of that problem?The What changes do you think we should make in order to solve the problem?To address the issue, I propose a simple solution using CSS. The container element of
This will add border radius to the top corners of the first child What alternative solutions did you explore? (Optional)N/A Resultssolution.mov |
📣 @firzx77! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Format:
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
Ans: The root cause of this problem is that the container is placed inside a list view and due to this the list border is being overwritten by the default css of the device in which the issue is occurring (Mac, Safari, Chrome).
a. We need to give border radius to the list first child and last child. This will help it to adjust according to the browser default functionality and will be able to solve the problem universally. Thus, the problem should be solved with the first method. |
📣 @webexpert889! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Format:
|
@aman-atg Thanks for the proposal. I don't think your RCA is correct. |
@akinwale Thanks for the proposal. I don't think your RCA is correct, the use of inset box shadow is a good thing here. Otherwise the box shadow won't be visible at all. |
@daraksha-dk Thanks for the proposal but it's a duplicate. |
Thank you for your response. Could you please explain further? I'm not recommending removing the inset box shadow here. The box shadow will always be cropped by a rounded border, as can be shown. When you remove the rounded corners, the inset box shadow displays properly for the first and last elements (refer to the image I attached). |
there was a regression from this Pr so adjusting the title to wait for payment until the fix is impelmented. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.5-6 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-05-03. 🎊 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:
|
@MelvinBot I think you are confused. That PR did not fix this issue. This issue was fixed by #17403 and the checklist is already provided here #17277 (comment) |
Sorry, just getting my ducks in a row for payment. Was there a regression from this PR as per #17277 (comment)? |
@kadiealexander Yes, this is the regression that it caused - #17664 |
Awesome, thanks @aman-atg! |
@aman-atg, @s77rt, @hungvu193 please apply here so I can issue payment: https://www.upwork.com/jobs/~013f1335a90efc1a5f |
Thanks @kadiealexander , I've just applied |
Thanks @kadiealexander, I've also applied. |
@kadiealexander Applied |
Thanks guys! I've sent contracts to @aman-atg and @s77rt (sorry, yours is reduced due to the regression penalty) and made payment to @hungvu193. |
@kadiealexander Yes, sorry I forgot to mention. I have accepted the offer. |
@kadiealexander Have accepted the offer, thanks! |
Everyone is paid and the checklist is complete!! Thanks for the help, team. |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result
Blue border should fully cover the edge dropdown.
Actual Result
Blue border doesn't cover the edge of the dropdown.
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: v1.2.98-2
Reproducible in staging?:
Reproducible in production?:
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
Screen.Recording.2023-04-11.at.14.07.01.mov
Recording.203.mp4
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681197151185779
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: