-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[$250] IOS - Submit expense - Next button not fully visible after returning online #41810
Comments
Triggered auto assignment to @sonialiap ( |
@sonialiap FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors |
We think that this bug might be related to #wave-collect - Release 1 |
ProposalPlease re-state the problem that we are trying to solve in this issue.Next button not fully visible after returning online What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?We will pass |
Job added to Upwork: https://www.upwork.com/jobs/~01f1a3e2d4eb573fb6 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Native small screens - Submit expense - Next button not fully visible after returning online What is the root cause of that problem?Currently when we are using "small screens" (or native screens) the MapView try to use the space available to render itself, this space is calculated by the ScreenWrapper component based in the initialHeight (in this case) and the children components. The issue is for native screens when we render the map the first time (when online) we take the all available space, but then when we go offline we show/render an offline indicator, this makes the available height reduced (so we see the map pending indicator a bit short than the map), then when we go online the map try to recover its original height (but now we have less height space due the offline indicators) and move down the next button. What changes do you think we should make in order to solve the problem?We should set the height of each container with percents to fix this issue in IOURequestStepDistance and also in MoneyRequestAmountForm, to keep next button aligned. The changes should be in
And in
Also in App/src/pages/iou/MoneyRequestAmountForm.tsx Lines 302 to 306 in 66b4072
And finally in App/src/pages/iou/MoneyRequestAmountForm.tsx Line 314 in 66b4072
This way we going to force to react native to recalculate the height of the component even when offline indicator are not displayed (when they doesn't exists in the rendered components). Tests:Before changes: Map.view.overlap.next.button.-.test.before.changes.mp4After changes next.button.moved.test.mp4 |
@eVoloshchak, @sonialiap Huh... This is 4 days overdue. Who can take care of this? |
@eVoloshchak what do you think of the above proposal? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@eVoloshchak, @sonialiap 6 days overdue. This is scarier than being forced to listen to Vogon poetry! |
@neonbhai, I've applied your proposal to @samilabud, thank you for the thorough explanation!
Can we make the map view fill all the available space? |
Good point, I will try to do a formula to calculate the height based to the current calculation that we do in ScreenWrapper, this way I think this going to persist good in the future. |
At the end the only way I found was using flexbox, I have updated my proposal, please check it out 🙏🏼: |
@eVoloshchak, @sonialiap Whoops! This issue is 2 days overdue. Let's get this updated quick! |
ProposalPlease re-state the problem that we are trying to solve in this issue.IOS - Submit expense - The next button is cut off after the user goes from offline to online. What is the root cause of that problem?In IOURequestStartPage, the shouldShowOfflineIndicator is not passed, so the ScreenWrapper defaults the value of shouldShowOfflineIndicator to true. App/src/components/ScreenWrapper.tsx Line 115 in e8ae3c5
Also the IOURequestStepDistance and IOURequestStepAmount do not have OfflineIndicator. What changes do you think we should make in order to solve the problem?In IOURequestStepDistance and IOURequestStepAmount need to add OfflineIndicator after the StepScreenWrapper closing tag. Also in the IOURequestStartPage pass shouldShowOfflineIndicator={false} to the ScreenWrapper.
In ScreenWrapper component, add
In IOURequestStepAmount,
After MoneyRequestAmountForm add
Following previous steps add OfflineIndicator to IOURequestStepDistance at What alternative solutions did you explore? (Optional) |
@jscoder2151, I've applied your solution, but it seems there is an issue with the Next button placement |
@samilabud, same issue with your updated proposal, I do think this might be due to recent changes to Forms component on main |
@eVoloshchak @sonialiap 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! |
Thank you for checking out, definitely there was a change I have updated my proposal and there are new tests videos. Also I created this draft if helps: #42442 |
@samilabud, you propose to apply different styles to iOS native only, is that correct? |
At the beginning I thought we should just fix the issue in the platform was reported: I have changed my proposal and it seems to be working as the previous tests, I have also updated the draft PR: #42442.
I have notice since a time ago that this kind of styles issues happens in natives platforms but not in the web, because the web some how update the DOM. See this example where google chrome do the job when this happens, see the second 20 where I move the mouse a the left of the emulator and the the next button seems to be overlapped and later it fixed without do nothing: Next.button.moved.in.web.test.mp4 |
@samilabud, this results in the "Next" button having bottom margin. Notice how the two buttons on the video below are on different levels Screen.Recording.2024-05-23.at.10.18.46.mov |
Draft updated: #42442 Quick test: Testing.money.request.manual.amount.and.with.distance.calc.mp4 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@eVoloshchak, @sonialiap Huh... This is 4 days overdue. Who can take care of this? |
@samilabud, looking at the proposal, you've already hit the limitation of this approach: you have to use |
Hi @eVoloshchak, I have create a method to calculate the flex distribution based in window height, please check it out and let me know if that makes sense, I have tested even increasing the font size using accessibility functions please see the next video: next.button.moved.when.returning.from.offline.mode.-.test.mp4Draft updated: #42442 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@eVoloshchak I have revised proposal and branch for review. |
@eVoloshchak, @sonialiap Eep! 4 days overdue now. Issues have feelings too... |
@eVoloshchak what do you think of the updated proposal? |
@eVoloshchak @sonialiap this issue is now 4 weeks old, please consider:
Thanks! |
@samilabud, your proposal does add a lot of complexity, there should be a better approach with minimal code (we just need to make the map fill the full container height) @jscoder2151, you're proposing to move the offline indicator from the universal Essentially we need to figure out why map doesn't respect it's parent's height. Why does the map height recalculated correctly if we render |
@eVoloshchak The WorkspaceNewRoomPage is also adding OfflineIndicator separately, so adding the offlineIndicator to the IOURequestStepDistance and IOURequestStepAmount does not break the pattern.
|
@jscoder2151, 2 pages in the whole app use this approach ( |
Hi @eVoloshchak I have updated my proposal with new changes and new video with test, at the end it is the same but using percents for heights, which is simple and easy to handle for any future changes. Please let me know if this make more sense to you 🙏🏼. Also added new draft #43129 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@samilabud, why do we have to specify the height manually?
|
Hi @eVoloshchak, thank you for checking out.
It seems to be a react native bug, this should work with flexbox but if we don't specify a height and then we hide and later show any component we going to get this same bug (if we are using the whole screen). I have tried even without using the StepScreenWrapper component, also just with the View container (without the draggable list component) the results are the same. I can't find any documentation related to this kind of error, so I'm going to stay subscribed to this topic just to see if someone can solve this by applying another solution 🙏🏼. Thank you. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 1.4.71-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
The Next button is fully visible
Actual Result:
Only the top of the Next button is visible. It is reproducible with Manual and Scan tabs
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6474132_1715107077940.IMG_6781.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @eVoloshchakThe text was updated successfully, but these errors were encountered: