Skip to content
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-09-13] [HOLD for payment 2023-09-12] [$500] BUG: [distance] request next button is hidden on small height screens #26541

Closed
6 tasks
neil-marcellini opened this issue Sep 1, 2023 · 61 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor

Comments

@neil-marcellini
Copy link
Contributor

neil-marcellini commented Sep 1, 2023

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:

  1. Run App on latest main branch (for now)
  2. Sign in with an account on the distance requests beta (or enable all betas)
  3. Click green plus, request money, distance
  4. Enter start and finish addresses
  5. Open dev tools and set the responsive device dimensions to 400x400

Expected Result:

Let's hide the map and show the request button, unless anyone else had better ideas.

Actual Result:

The request button is hidden and you can't scroll down to it

Workaround:

Use a reasonably sized device / orientation. The only real scenario here is mobile web in landscape view.

Platforms:

Which of our officially supported platforms is this issue occurring on?
Idk let's check

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: unreleased
Reproducible in staging?: Not yet
Reproducible in production?: Not yet
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: Originally reported by Hayata in a PR review here
Expensify/Expensify Issue URL:
Issue reported by: @hayata-suenaga
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693611241072219

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0131f651439d571fb4
  • Upwork Job ID: 1697755507566587904
  • Last Price Increase: 2023-09-01
@neil-marcellini neil-marcellini added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Sep 1, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 1, 2023

Triggered auto assignment to @CortneyOfstad (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Sep 1, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@neil-marcellini neil-marcellini added the External Added to denote the issue can be worked on by a contributor label Sep 1, 2023
@melvin-bot melvin-bot bot changed the title BUG: [distance] request next button is hidden on small height screens [$500] BUG: [distance] request next button is hidden on small height screens Sep 1, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 1, 2023

Job added to Upwork: https://www.upwork.com/jobs/~0131f651439d571fb4

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 1, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 1, 2023

Current assignee @CortneyOfstad is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Sep 1, 2023

Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav (External)

@neonbhai
Copy link
Contributor

neonbhai commented Sep 2, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

[distance] request next button is hidden on small height screens

What is the root cause of that problem?

New Feature

What changes do you think we should make in order to solve the problem?

Solution 1:

  • We can get isExtraSmallScreenHeight using useWindowDimensions and only render MapView if the the screen is not extra small
    <View style={styles.mapViewContainer}>
    {!isOffline && Boolean(mapboxAccessToken.token) ? (
    <MapView
const {isExtraSmallScreenHeight} = useWindowDimensions();

and then render the mapView container conditionally:

{!isExtraSmallScreenHeight && <View style={styles.mapViewContainer}>

Solution 2:

  • we can add styles.displayNone to the mapViewContainer CSS itself if the view is small here:

    App/src/styles/styles.js

    Lines 3869 to 3875 in 8fbe6aa

    mapViewContainer: {
    ...flex.flex1,
    ...spacing.p4,
    ...spacing.flex1,
    minHeight: 300,
    maxHeight: 500,
    },

What alternative solutions did you explore? (Optional)

xx

@RPSanchez
Copy link

RPSanchez commented Sep 2, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

[distance] request next button is hidden on small height screens

What is the root cause of that problem?

The code initially renders both the map and the request button without considering the available screen height.

What changes do you think we should make in order to solve the problem?

  1. Dimensions should be imported via React Native for screen dimensions.
import { Dimensions } from 'react-native';
  1. Screen height should then be calculated.
const windowHeight = Dimensions.get('window').height;
  1. Conditionally render the map and request button depending on the size of the screen. If it's smaller than 400px - for example - hide the map and adjust the size of the button to fit the screen.
    <View style={[styles.flexRow, styles.justifyContentCenter, styles.pt1]}>
  2. The button size itself can further be edited via innerStyles.

What alternative solutions did you explore? (Optional)

Rendering exclusively the map at a certain size, with user interaction then making the request button available.

@melvin-bot
Copy link

melvin-bot bot commented Sep 2, 2023

📣 @RPSanchez! 📣
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.
Please follow these steps:

  1. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  2. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  3. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@RPSanchez
Copy link

Contributor details
Your Expensify account email: [email protected]
Upwork Profile Link: https://www.upwork.com/freelancers/~01537b3cc571627ce8

@melvin-bot
Copy link

melvin-bot bot commented Sep 2, 2023

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

@ZhenjaHorbach
Copy link
Contributor

ZhenjaHorbach commented Sep 2, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

On small screens, the button is hidden under the map.

What is the root cause of that problem?

Since the map has a fixed height and the screen does not support scrolling, there is no place for the button.

What changes do you think we should make in order to solve the problem?

Instead of hiding the map, we can add a ScrollView instead <></>
So that users can enjoy all the content.

Screen.Recording.2023-09-02.at.10.30.20.mov

What alternative solutions did you explore? (Optional)

NA

@rizalalfandi123
Copy link

rizalalfandi123 commented Sep 3, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

request next button is hidden on small height screens

What is the root cause of that problem?

The screen below the distance tab is not scrollable, so when on a small screen it cannot fit all the content.

What changes do you think we should make in order to solve the problem?

The best solution is to make the screen scrollable, so that all the content inside can be accessed by the user.
We can turn the React Fragment (<></>) into a ScrollView Component ().

Screencast.from.2023-09-03.11-06-18.webm

Note: scroll is only visible when the screen cannot fit all the content.

What alternative solutions did you explore? (Optional)

None

@melvin-bot
Copy link

melvin-bot bot commented Sep 3, 2023

📣 @rizalalfandi123! 📣
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.
Please follow these steps:

  1. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  2. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  3. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@rizalalfandi123
Copy link

Contributor details
Your Expensify account email: [email protected]
Upwork Profile Link: https://www.upwork.com/freelancers/~0184b429844e7f9abd

@melvin-bot
Copy link

melvin-bot bot commented Sep 3, 2023

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

@mananjadhav
Copy link
Collaborator

@hayata-suenaga @neil-marcellini @CortneyOfstad what are your thoughts on adding a ScrollView?

@allroundexperts
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

Next button is cut off when creating distance requests

What is the root cause of that problem?

We're not using a fixed footer for the next button.

What changes do you think we should make in order to solve the problem?

We need to wrap this into ScrollView having style as flex: 1.

After that, we need to wrap this inside the FixedFooter component.

Result

Screen.Recording.2023-09-05.at.1.13.29.AM.mov

What alternative solutions did you explore? (Optional)

None

@hayata-suenaga hayata-suenaga removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 4, 2023
@sakluger sakluger removed their assignment Sep 14, 2023
@CortneyOfstad
Copy link
Contributor

So the issue was reported by @hayata-suenaga and the Contributor and C+ are both paid outside of Upwork, so no payments are needed at this time from me 👍

@mananjadhav / @allroundexperts any updates on the checklist above? Thanks!

@mananjadhav
Copy link
Collaborator

@CortneyOfstad I would like to request for a partial comp for C+ here. I did review the proposals, but due to urgency it was assigned on slack.

I am unsure at which point we should've added the Scroll behavior?

  • Was it when the component was created here
  • or this PR, where we added multiple waypoint handling for smaller screen.

I also don't think we need any regression steps here.

@CortneyOfstad
Copy link
Contributor

@hayata-suenaga does that ^^^ sound good to you?

@CortneyOfstad
Copy link
Contributor

Bump @hayata-suenaga

@hayata-suenaga
Copy link
Contributor

ah sorry I missed this one.

@mananjadhav and @ntdiary both reviewed the PR. They both should get some amount of payments.

@mananjadhav
Copy link
Collaborator

@hayata-suenaga @CortneyOfstad Can you please update the payment summary so that I can raise a payment request.

@ntdiary
Copy link
Contributor

ntdiary commented Sep 21, 2023

ah sorry I missed this one.

@mananjadhav and @ntdiary both reviewed the PR. They both should get some amount of payments.

Ah, personally, I'd be happy to split the payments here with @mananjadhav, regardless of the total amount. 😄

Additionally, I'm not sure what the requirements are for NewDot payment. If possible, I'd like to apply for it in the future as well. : )

@mananjadhav
Copy link
Collaborator

Thanks @ntdiary. @CortneyOfstad Can you please update the payment summary here?

@allroundexperts
Copy link
Contributor

@mananjadhav @ntdiary @hayata-suenaga Do we consider #26859 as a regression from this issue? If so, the payment should be halved!

@hayata-suenaga
Copy link
Contributor

no I don't think we have to think that PR? as a regression

@mananjadhav
Copy link
Collaborator

Thanks for confirming @hayata-suenaga.

@CortneyOfstad considering this was assigned and merged within 3 days this is eligible for the speed bonus.

That being said, I think the payout summary would be:

@allroundexperts - 750$
@ntdiary - 500$ (full speed bonus to them as they reviewed the PR)
@mananjadhav - 250$

@CortneyOfstad
Copy link
Contributor

CortneyOfstad commented Sep 26, 2023

Sorry for the delay here!

Just to confirm, @hayata-suenaga does that pay summary work for you as well? I feel like this is more than fair, but wanted a buddy-check before sending out payments 👍

@hayata-suenaga
Copy link
Contributor

discussing the payment prices internally. thank you for your patience everyone 🙇

@CortneyOfstad
Copy link
Contributor

To confirm @mananjadhav, the amounts you put include the bonuses, correct? Or does a bonus need to be added to the total you listed? Thanks!

@mananjadhav
Copy link
Collaborator

Yes @CortneyOfstad it includes the bonus.

@CortneyOfstad
Copy link
Contributor

Thanks!

@mananjadhav @ntdiary and @allroundexperts — I've sent job offers to each of you in Upwork. Please accept them as soon as you can so I can get those paid out. Thanks for your patience with this, and always – if you have any questions, just let me know!

@allroundexperts
Copy link
Contributor

Hi @CortneyOfstad!

I get paid through the app.

@CortneyOfstad
Copy link
Contributor

No worries! I've withdrawn the offer in Upwork! Feel free to make the request in the app, and let me know if any additional info is needed on my part to get that paid!

@CortneyOfstad
Copy link
Contributor

@ntdiary Contract has been paid, so you should be all set!

@mananjadhav It shows that the proposal in Upwork is still waiting for you to accept — please let me know as soon as you complete this. Thank you!

@melvin-bot melvin-bot bot added the Overdue label Oct 2, 2023
@mananjadhav
Copy link
Collaborator

mananjadhav commented Oct 2, 2023

@CortneyOfstad I will raise the request on NewDot. No upwork needed. Also can you confirm or acknowledge the posted payout summary? I'll need it for approval on the NewDot.

@melvin-bot melvin-bot bot removed the Overdue label Oct 2, 2023
@CortneyOfstad
Copy link
Contributor

@mananjadhav Sounds good!

The payment breakdown is shared below:

@allroundexperts - 750$ — TO BE PAID IN NEWDOT
@ntdiary - 500$ (they reviewed the PR) — ALREADY PAID IN UPWORK
@mananjadhav - 250$ — TO BE PAID IN NEWDOT

@CortneyOfstad
Copy link
Contributor

@mananjadhav @allroundexperts once you are both paid in NewDot, please let me know here so I can then close this out. Thanks!

@mananjadhav
Copy link
Collaborator

I think we can close once @allroundexperts has raised. I've raised my request.

@allroundexperts
Copy link
Contributor

I have raised mine as well. Thank you @mananjadhav and @CortneyOfstad!

@JmillsExpensify
Copy link

$750 payment approved for @allroundexperts based on BZ summary.

@JmillsExpensify
Copy link

$250 payment approved for @mananjadhav based on BZ summary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

No branches or pull requests