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

Android - Payments- White space is displayed in Settings after make default payment #10520

Closed
kbecciv opened this issue Aug 24, 2022 · 29 comments
Assignees

Comments

@kbecciv
Copy link

kbecciv commented Aug 24, 2022

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Issue found when executing PR #10162

Action Performed:

Precondition: VBA added into testing account

  1. Go to NewDot
  2. Log in with account
  3. Go to Setting - Payment
  4. Select Payment and add as default
  5. Go to Settings

Expected Result:

White space is not displayed in Settings after make default payment

Actual Result:

White space is displayed in Settings after make default payment

Workaround:

Unknown

Platform:

Where is this issue occurring?

  • Android

Version Number: 1.1.89.0

Reproducible in staging?: Yes

Reproducible in production?: No

Email or phone of affected tester (no customers): [email protected]

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos: Any additional supporting documentation

Bug5702073_Screen_Recording_20220824-063835_New_Expensify.mp4

Expensify/Expensify Issue URL:

Issue reported by: Applause - Internal Team

Slack conversation:

View all open jobs on GitHub

@kbecciv kbecciv added the DeployBlockerCash This issue or pull request should block deployment label Aug 24, 2022
@OSBotify
Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@melvin-bot
Copy link

melvin-bot bot commented Aug 24, 2022

Triggered auto assignment to @youssef-lr (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@sketchydroide
Copy link
Contributor

@youssef-lr this might be to much (we need it fixed today), I'll try to see if someone else can pick it up

@youssef-lr youssef-lr removed their assignment Aug 24, 2022
@Luke9389 Luke9389 self-assigned this Aug 24, 2022
@Luke9389
Copy link
Contributor

I'm gonna leave an obnoxious amount of updates on this issue until it's solved.
First step is updating all repos and then reproducing this in my dev environment.

@Luke9389
Copy link
Contributor

While waiting for android to boot I'm gonna check out recent PRs that touched this flow.

@Luke9389
Copy link
Contributor

Checking out the onClose of the AddPaymentMethodMenu.

@mountiny
Copy link
Contributor

cc @rushatgabhane and @dhairyasenjaliya might be related to the changes in #10162 if you could have a look

@marcaaron
Copy link
Contributor

Random guess but looks like the offline indicator component or keyboard shortcuts modal could be taking up space when in view.

{// If props.children is a function, call it to provide the insets to the children.
_.isFunction(this.props.children)
? this.props.children({
insets,
didScreenTransitionEnd: this.state.didScreenTransitionEnd,
})
: this.props.children
}
<KeyboardShortcutsModal />
{this.props.isSmallScreenWidth && (
<OfflineIndicator />
)}

@Luke9389
Copy link
Contributor

Building android is happening very slowly right now.

@rushatgabhane
Copy link
Member

rushatgabhane commented Aug 24, 2022

@Luke9389 maybe give this a try?

adb kill-server
adb start-server

https://expensify.slack.com/archives/C01GTK53T8Q/p1659710703756429?thread_ts=1659709912.693069&cid=C01GTK53T8Q

If app performance is slow, then disable hermes

@marcaaron
Copy link
Contributor

Can someone confirm that this also happens on web? And if so, what are the reproduction steps?

@marcaaron
Copy link
Contributor

I followed the steps above but could not reproduce on staging web. The issue description says that these platforms are affected:

Web
iOS
Android
Desktop App
Mobile Web

@Luke9389
Copy link
Contributor

Just looking at the code, maybe this is not being set correctly?

isShortcutsModalOpen: {key: ONYXKEYS.IS_SHORTCUTS_MODAL_OPEN},

@dhairyasenjaliya
Copy link
Contributor

Random guess but looks like the offline indicator component or keyboard shortcuts modal could be taking up space when in view.

{// If props.children is a function, call it to provide the insets to the children.
_.isFunction(this.props.children)
? this.props.children({
insets,
didScreenTransitionEnd: this.state.didScreenTransitionEnd,
})
: this.props.children
}
<KeyboardShortcutsModal />
{this.props.isSmallScreenWidth && (
<OfflineIndicator />
)}

Yup as we tested keyboard spacer but this new changes for offline indicator made android issues

@mountiny
Copy link
Contributor

mountiny commented Aug 24, 2022

Can someone confirm that this also happens on web? And if so, what are the reproduction steps?

I think they only mentioned Android in title, meaning this is only on Andoird but havent updated the list later on.

Can you please confirm @kbecciv?

@Luke9389
Copy link
Contributor

@dhairyasenjaliya Can you please give as much detail as possible on what this means?

Yup as we tested keyboard spacer but this new changes for offline indicator made android issues

@sketchydroide
Copy link
Contributor

I followed the steps above but could not reproduce on staging web. The issue description says that these platforms are affected:

Web iOS Android Desktop App Mobile Web

The title says it's specific to Android though, maybe the description was not updated correctly?

@Luke9389
Copy link
Contributor

Hey @rushatgabhane, how do I disable Hermes?

@Luke9389
Copy link
Contributor

When testing this, I'm trying to add a payment method, but the option is greyed out, does anyone happen to know why?
Screen Shot 2022-08-24 at 4 55 10 PM

@rushatgabhane
Copy link
Member

@Luke9389 over here

project.ext.react = [
enableHermes: true, // clean and rebuild if changing
]

@JmillsExpensify
Copy link

FWIW, I'm don't think this is a real deploy blocker given that this part of the App is tied to our internal P2P beta – though obviously we should fix it more generally.

@dhairyasenjaliya
Copy link
Contributor

@dhairyasenjaliya Can you please give as much detail as possible on what this means?

Yup as we tested keyboard spacer but this new changes for offline indicator made android issues

Soon I will investigate this currently im away from my mac

@Luke9389
Copy link
Contributor

FWIW, I'm don't think this is a real deploy blocker given that this part of the App is tied to our internal P2P beta – though obviously we should fix it more generally.

In that case I think we should remove the DeployBlockerCash label. @sketchydroide are you cool with that?

@sketchydroide
Copy link
Contributor

yes, go ahead also let't make is a daily, it needs to be fixed once this in no longer a beta

@Luke9389 Luke9389 added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Aug 24, 2022
@sketchydroide sketchydroide added Hourly KSv2 and removed Hourly KSv2 labels Aug 24, 2022
@kbecciv
Copy link
Author

kbecciv commented Aug 24, 2022

@sketchydroide @Luke9389 My apologies, issue only accrued in Android app, updated issue environment.

@sketchydroide
Copy link
Contributor

no worries, it's just good to keep it consistent so we don't loose time testing platforms
thanks 😄

@dhairyasenjaliya
Copy link
Contributor

Solution

  • We should remove LayoutAnimation.configureNext from the baseKeyboard as this animation is getting clashes with BaseScreenWrapper because in the wrapper we are already using <KeyboardAvoidingView> which is also using same animation

LayoutAnimation.configureNext(defaultAnimation);

LayoutAnimation.configureNext(defaultAnimation);

Result with removing animation (fix)

fix.mp4

Result with animation

issue.mp4

@roryabraham
Copy link
Contributor

Was able to confirm that this fixes the issue

@rushatgabhane
Copy link
Member

Thanks for the help @dhairyasenjaliya !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests