-
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-16] [$2000] Android - Composer input overlaps with attachment separator #16848
Comments
Triggered auto assignment to @puneetlath ( |
Bug0 Triage Checklist (Main S/O)
|
Wow @dhairyasenjaliya you've got some good eyes. |
Job added to Upwork: https://www.upwork.com/jobs/~0160683cfa6e9f3593 |
Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt ( |
Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new. |
ProposalPlease re-state the problem that we are trying to solve in this issue.composer input overlaps with attachment separator in android What is the root cause of that problem?the root case is ButtonAttachment react native use to know how many pixels in and in the app the current style for footer is : <ButtonAttachment style={{borderRightWidth: 1}} />
// view paddingVertical: 5, and no backgroundColor let border to show blurely
<View>
// Composer has backgroundColor: themeColors.componentBG
<Composer />
</View> What changes do you think we should make in order to solve the problem?apply the same background color for my sugguest is to add and also if we found the ButtonAttachment textInputComposeSpacing: {
paddingVertical: 5,
...flex.flexRow,
flex: 1,
backgroundColor: themeColors.componentBG,
}, What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.composer input overlaps with attachment separator in android What is the root cause of that problem?The root case may be the fixed width provided in the styling. What changes do you think we should make in order to solve the problem?the issue can be solved by not providing fixed width of composer and add a bit margin to it so it could have a safe space from separator and send button |
ProposalPlease re-state the problem that we are trying to solve in this issue.composer input overlaps with attachment separator in android What is the root cause of that problem?The root cause of this problem is styling. What changes do you think we should make in order to solve the problem?This issue can be fixed by adding min-width and max-width in the massage dialog div. |
@ahmedGaber93 Thanks for the proposal. I'm not sure this is blur related. If you zoom the following screenshot https://user-images.githubusercontent.com/43996225/229310637-cf6becf7-ebc5-433f-9c6d-d73181242e12.png you will see that the separator is shown correctly on top and bottom parts and only the middle part where the input is rendered it's cut (overlapped). |
@Mabroorkhan Thanks for the proposal. Your RCA is not clear, you need to pinpoint the exact root cause and not guess potential causes. |
@UzairHKhan Thanks for the proposal. Your RCA is not clear, can you elaborate? And why this happens on Android only? |
@s77rt some time it only happens in a single platform or in similar screen size phones and works fine in all others the main cause of these types of issues is the width of the boxes if it is taking the width more than it requires it will overlap or can displace another box the possible way to fix this is by adding
This similar issue occurred in my previous work history and was happening only in iOS. |
@UzairHKhan If that's the case then we need to figure out why the input is taking more space than it requires. |
@s77rt I find the issue is due to |
@Mabroorkhan Thanks for checking. Can you elaborate why this happen only on Android? |
@s77rt Yes I need to dive into the code to get more context on this possibly textarea has some width. |
@s77rt Another possible way to fix the border issue is to make the textarea background transparent it won't affect the UI as div also have same bg color and if the text overlaps the border it will still be visible |
@s77rt i think this overlaps not related with width of any View in the component, because i trying simple example in expo snack and the overlaps is exist. simple example code.import * as React from 'react';
import { View } from 'react-native';
export default function App() {
return (
<View style={{flex: 1, justifyContent: 'center', backgroundColor: "black"}}>
<View style={{
borderWidth : 1,
borderColor : "green",
borderRadius : 15,
overflow : 'hidden',
flexDirection: "row",
alignItems: "center",
}}>
<View style={{
height: 30,
width: 30,
backgroundColor: "black",
borderRightWidth: 1,
borderRightColor: "green"
}} />
<View style={{backgroundColor: "black", flex:1, height: 20, borderWidth: 0}} />
</View>
</View>
);
} you can try snack here but test it in a real device because i think emulators don't have the a real number of pixels. |
@UzairHKhan Thanks for the proposed fix but I think we are not looking for solutions at this point. It's important to understand the root cause first. |
Yup - hope i'm trying to help here a little bit 😁. |
@s77rt but also interesting that in flatter they have the same issue with 1px border flutter/flutter#13675 (comment) And also seems difference is that android building layout based on dp and not in pixels. I think RN trying to convert and stick to following android paradigm - but seems it's not perfect even in android itself |
@narefyev91 What do you propose to move forward? |
I will suggest to move away from custom calculation for border - because based on your discovering we already have inconsistency between platforms. As solution should be generic - i will suggest to add Separator View - with width 1, in case that width in Android renders correctly - and do not have any issues with styling. |
@s77rt This is an image from bare Android App |
@narefyev91 Having blurry pixels is not an issue. As long as adjacent elements don't get drawn on those blurry pixels I'm okay with that. |
But blurry pixels are not counting as a wall to prevent View of start drawing inside that area |
But on a bare Android App will they act as a wall? |
nope - it's doing the same as we already see |
@narefyev91 Thank you! I have just asked on Slack on how we should move forward https://expensify.slack.com/archives/C01GTK53T8Q/p1682425579144149 cc @puneetlath |
RETESTS SUMMARY This fix is verified on Branch PR Draft narefyev91:add-new-separator-for-action-composer Tests are conducted on the following devices: The above tests are executed with a 100% pass value |
This comment was marked as off-topic.
This comment was marked as off-topic.
@puneetlath, @s77rt, @narefyev91 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
This is on staging. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.12-0 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-16. 🎊 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:
|
|
Thanks @s77rt. Checklist completed and contract offers sent. |
All paid. Thanks everyone! |
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:
Composer input should not be overlaps with attachment separator
Actual Result:
Composer input overlaps with attachment separator
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.2.93-4
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
Expensify/Expensify Issue URL:
Issue reported by: @dhairyasenjaliya
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1680359256103449
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: