Skip to content

[Awaiting checklist] [$250] When adding a direct card feed, we link you out to the bank to authenticate while offline #55096

Closed

Description

@m-natarajan

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:
Reproducible in staging?:
Reproducible in production?:
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
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
Expensify/Expensify Issue URL:
Issue reported by: @joekaufmanexpensify
Slack conversation (hyperlinked to channel name): ts_external_expensify_convert

Action Performed:

  1. Enable company cards in workspace settings
  2. Click Add cards and select any bank
  3. Select Direct and go offline
  4. Click Next

  1. When trying to assign card on direct feed specifically
  2. The Assign card option is allowed when offline

Expected Result:

Authenticate via bank mode not displayed when User is in offline

Next button and the Assign card button in modal for direct feeds should be disabled when offline.

Using PAttern B is hard here as the connection expires often soon so there is high chance the call could fail

Actual Result:

Authenticate via bank mode displayed. Same result observed when you try to assign cards while offline and need to authenticate first.

Workaround:

Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence
2025-01-10_12-01-43.mp4
2025-01-10_12-18-15.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021878570494468361150
  • Upwork Job ID: 1878570494468361150
  • Last Price Increase: 2025-02-19
  • Automatic offers:
    • huult | Contributor | 105707373
Issue OwnerCurrent Issue Owner: @rojiphil

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jan 10, 2025
  2. melvin-bot commented on Jan 10, 2025

    @melvin-bot

    Triggered auto assignment to @twisterdotcom (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.

  3. Shahidullah-Muffakir commented on Jan 10, 2025

    @Shahidullah-Muffakir
    Contributor

    Edited by proposal-police: This proposal was edited at 2025-01-13 00:32:37 UTC.

    Proposal

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

    1. The Next button in the feed type selection is not disabled when the user is offline.
    2. The Assign Card button is not disabled when the user is offline.

    What is the root cause of that problem?

    When the user is offline:

    1. We did not disable the Next button in the feed type selection at the following locations:
    2. We did not disable the Assign Card button at the following location:

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

    1. Disable the Assign Card button when the user is offline:

      • Add the || isOffline condition to the existing check at this location:
        isDisabledAssignCardButton={!selectedFeedData || !!selectedFeedData?.errors || isOffline}
    2. Disable the Next button in the feed type selection:

      1. Add a new prop to BaseSelectionListProps called isConfirmButtonDisabled to convey the purpose clearly.
      2. Pass isConfirmButtonDisabled={isOffline} at this location:
      3. Update the button in BaseSelectionList to use the new prop by setting:
        disabled={isConfirmButtonDisabled}

    `

    1. we may want to disable this Assign card button as well in WorkspaceCompanyCardsListHeaderButtons:

    {!!shouldShowAssignCardButton && (
    <Button
    success
    isDisabled={!currentFeedData || !!currentFeedData?.pending || !!currentFeedData?.errors}

    What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

    What alternative solutions did you explore? (Optional)

    In the feed selection type, instead of disabling the next button, show the FullPageOfflineBlockingView by changing the following code in SelectFeedType.tsx as:

    return (
        <ScreenWrapper
            testID={SelectFeedType.displayName}
            includeSafeAreaPaddingBottom={false}
            shouldEnablePickerAvoiding={false}
            shouldEnableMaxHeight
        >
            <HeaderWithBackButton
                title={translate('workspace.companyCards.addCards')}
                onBackButtonPress={handleBackButtonPress}
            />
            <FullPageOfflineBlockingView>
  4. allgandalf commented on Jan 11, 2025

    @allgandalf
    Contributor

    please assign me here, Probably not open for proposals , maybe CallStack would work on this as part of project , right @mountiny ?

  5. self-assigned this
    on Jan 12, 2025
  6. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Jan 12, 2025
  7. changed the title [-]When adding a direct card feed, we link you out to the bank to authenticate while offline[/-] [+][$250] When adding a direct card feed, we link you out to the bank to authenticate while offline[/+] on Jan 12, 2025
  8. melvin-bot commented on Jan 12, 2025

    @melvin-bot
  9. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Jan 12, 2025
  10. 36 remaining items

  11. twisterdotcom commented on Feb 18, 2025

    @twisterdotcom
    Contributor

    Payment Summary:

  12. changed the title [-][Due for payment 2025-02-18] [$125] When adding a direct card feed, we link you out to the bank to authenticate while offline[/-] [+][Awaiting checklist] [$125] When adding a direct card feed, we link you out to the bank to authenticate while offline[/+] on Feb 18, 2025
  13. rojiphil commented on Feb 19, 2025

    @rojiphil
    Contributor

    BugZero Checklist:

    • [Contributor] Classify the bug:
    Bug classification

    Source of bug:

    • 1a. Result of the original design (eg. a case wasn't considered)
    • 1b. Mistake during implementation
    • 1c. Backend bug
    • 1z. Other:

    Where bug was reported:

    • 2a. Reported on production
    • 2b. Reported on staging (deploy blocker)
    • 2c. Reported on a PR
    • 2z. Other:

    Who reported the bug:

    • 3a. Expensify user
    • 3b. Expensify employee
    • 3c. Contributor
    • 3d. QA
    • 3z. Other:
    • [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.

      Link to comment:

    • [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.

      Link to discussion: Not Required. The existing checklist is good enough to capture such issues.

    • [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

    Regression Test Proposal

    Precondition:

    Test:

    1. Navigate to Workspace Settings and enable Company Cards.
    2. Click Add Cards and select any bank.
    3. Choose Direct as the connection method and go offline.
    4. Click the Next button.
    5. Verify that the application displays the Offline Page for bank connection.
    6. Go online and verify that the bank authentication is performed.
    7. Go offline again and assign a card on a direct feed.
    8. Verify that the Assign Card button invokes an offline modal for direct feeds

    Do we agree 👍 or 👎

  14. rojiphil commented on Feb 19, 2025

    @rojiphil
    Contributor

    @mountiny Can we reset the compensation back to the default amount here i.e. $250? The reason being that we initially thought this was just a matter of disabling the buttons but we went ahead to implement using offline page/modal.
    What do you think?

  15. changed the title [-][Awaiting checklist] [$125] When adding a direct card feed, we link you out to the bank to authenticate while offline[/-] [+][Awaiting checklist] [$250] When adding a direct card feed, we link you out to the bank to authenticate while offline[/+] on Feb 19, 2025
  16. melvin-bot commented on Feb 19, 2025

    @melvin-bot

    Upwork job price has been updated to $250

  17. mountiny commented on Feb 19, 2025

    @mountiny
    Contributor

    @rojiphil Fair updated, but I think @twisterdotcom might have to update the pay to @huult

  18. huult commented on Feb 19, 2025

    @huult
    Contributor

    thank you, @mountiny

  19. rojiphil commented on Feb 19, 2025

    @rojiphil
    Contributor

    Requested in ND

  20. twisterdotcom commented on Feb 19, 2025

    @twisterdotcom
    Contributor

    Added a $125 bonus for @huult.

  21. garrettmknight commented on Feb 19, 2025

    @garrettmknight
    Contributor

    $250 approved for @rojiphil

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

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions