Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.57k stars 2.91k forks source link

[$250] iOS - Accounting - Confirm button jumps when entering user ID for Sage Intacct #52234

Open IuliiaHerets opened 2 weeks ago

IuliiaHerets commented 2 weeks ago

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: 9.0.59.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: https://expensify.testrail.io/index.php?/tests/view/5195617 Issue reported by: Applause Internal Team

Action Performed:

Precondition: user has saved credentials

  1. Open the app and log in
  2. Create a workspace if there is no any
  3. Navigate to the workspace settings > More features and enable the Accounting option
  4. Open Accounting and select Intacct
  5. Upgrade the policy if it has not been done yet
  6. Proceed to the step to enter credentials
  7. Tap the user ID field and start entering the credentials

Expected Result:

The Confirm button does not jump

Actual Result:

The Confirm button jumps when entering user ID. It does not happen when entering a password even though the password auto-fill is present.

Workaround:

Unknown

Platforms:

Screenshots/Videos

https://github.com/user-attachments/assets/5660998b-2f01-4e33-827d-bfd9605b5f88

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021859980122209615794
  • Upwork Job ID: 1859980122209615794
  • Last Price Increase: 2024-11-22
Issue OwnerCurrent Issue Owner: @suneox
melvin-bot[bot] commented 2 weeks ago

Triggered auto assignment to @slafortune (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

IuliiaHerets commented 2 weeks ago

Issue is repro on newest iOS devices (iPhone 15 Pro Max and iPhone 16)

twilight2294 commented 2 weeks ago

Proposal

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

Confirm button jumps when entering user ID for Sage Intacct

What is the root cause of that problem?

We do not pass any ref to the InputWrapper this makes the state to always change.

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

Pass a ref to InputWrapper:


    const {inputCallbackRef} = useAutoFocusInput();

            <InputWrapper
                InputComponent={TextInput}
                inputID={formItem}
                label={translate(`common.${formItem}`)}
                aria-label={translate(`common.${formItem}`)}
                role={CONST.ROLE.PRESENTATION}
                spellCheck={false}
                secureTextEntry={formItem === INPUT_IDS.PASSWORD}
                ref={inputCallbackRef}
            />

What alternative solutions did you explore? (Optional)

melvin-bot[bot] commented 1 week ago

@slafortune Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

truph01 commented 1 week ago

Proposal

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

The Confirm button jumps when entering user ID. It does not happen when entering a password even though the password auto-fill is present.

What is the root cause of that problem?

It's an issue with the Passwords option in the Keyboard toolbar. We already notice it in https://github.com/facebook/react-native/issues/39411#issuecomment-1744962420

We should fix it since it can affect on users experience (button jumps unexpectedly on non-password input)

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

We can use textContentType='oneTimeCode'

textContentType='oneTimeCode'

What alternative solutions did you explore? (Optional)

We can show the Confirm button right below the inputs by updating the styles.justifyContentEnd here

https://github.com/Expensify/App/blob/5b1ee3f2b07ed6e9f46915d07574cb3ee8e0d8a3/src/components/FormAlertWithSubmitButton.tsx#L100

            containerStyles={[shouldShowConfirmButtonAtTheEnd && styles.justifyContentEnd, safePaddingBottomStyle, containerStyles]}

https://github.com/user-attachments/assets/7c3c1403-76a2-47f5-8b07-0fb371858eb9

melvin-bot[bot] commented 1 week ago

@slafortune Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] commented 1 week ago

@slafortune 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

melvin-bot[bot] commented 3 days ago

@slafortune 10 days overdue. Is anyone even seeing these? Hello?

melvin-bot[bot] commented 3 days ago

Triggered auto assignment to @johncschuster (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

abekkala commented 3 days ago

Stevie has been and will be ooo - reapplying label

melvin-bot[bot] commented 11 hours ago

@johncschuster this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

melvin-bot[bot] commented 5 hours ago

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

melvin-bot[bot] commented 5 hours ago

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