Skip to content

[HOLD for payment 2024-11-20] [$125] Add Type column to Expensify Card workspace feeds #51847

Closed

Description

@JmillsExpensify

Problem: We're getting feedback from real customers using workspace feeds, specifically that they get confused what type of card someone has been issued. This is important to solve on NewDot because we've de-coupled the issuance of physical cards from virtual cards; each can be assigned individually, and at separate times.

Solution: Let's add a Type column to the Expensify Cards page in the workspace editor on larger (web) screens. Then given the smaller screen real estate on mobile, let's use the "dot separator" pattern for smaller (mobile) screens.

For the sake of clarity:

  • The only acceptable types are Physical or Virtual
  • On web, the Type columns appears to the left Last 4 column
  • On mobile, the Type appear after the * dot separator behind the card name. If no card name exists (is this possible?), then we only show the type.

The end result looks like this.

CleanShot 2024-11-01 at 10 16 46@2x

Assigning @DylanDylann directly since he's working on this project.

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021852303870715636589
  • Upwork Job ID: 1852303870715636589
  • Last Price Increase: 2024-11-01
  • Automatic offers:
    • DylanDylann | Reviewer | 104729959
    • nkdengineer | Contributor | 104729960
Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @JmillsExpensify

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Nov 1, 2024
  2. melvin-bot commented on Nov 1, 2024

    @melvin-bot

    Current assignee @JmillsExpensify is eligible for the Bug assigner, not assigning anyone new.

  3. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Nov 1, 2024
  4. changed the title [-]Add `Type` column to workspace feeds[/-] [+][$250] Add `Type` column to workspace feeds[/+] on Nov 1, 2024
  5. melvin-bot commented on Nov 1, 2024

    @melvin-bot
  6. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Nov 1, 2024
  7. melvin-bot commented on Nov 1, 2024

    @melvin-bot

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

  8. changed the title [-][$250] Add `Type` column to workspace feeds[/-] [+][$125] Add `Type` column to workspace feeds[/+] on Nov 1, 2024
  9. melvin-bot commented on Nov 1, 2024

    @melvin-bot

    Upwork job price has been updated to $125

  10. nkdengineer commented on Nov 1, 2024

    @nkdengineer
    Contributor

    Edited by proposal-police: This proposal was edited at 2024-11-01 11:06:46 UTC.

    Proposal

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

    What is the root cause of that problem?

    new feature

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

    1. We should add new props type to WorkspaceCardListRow component
                            isVirtual={item.nameValuePairs?.isVirtual}
    
    
    1. Add show it in this component
     <View style={[styles.flexRow, styles.gap2, shouldUseNarrowLayout ? styles.flex2 : styles.flex1, styles.alignItemsCenter, styles.justifyContentEnd]}>
                    <Text
                        style={[styles.textLabelSupporting, styles.lh16]}
                    >
                        {isVirtual ? 'virtual' : 'physical'}
                    </Text>
                </View>
    
    1. Add new field in header WorkspaceCardListHeader
                    <View style={[styles.flexRow, styles.gap2, shouldUseNarrowLayout ? styles.flex2 : styles.flex1, styles.alignItemsCenter, styles.justifyContentEnd]}>
                        <Text
                            numberOfLines={1}
                            style={[styles.textLabelSupporting, styles.lh16]}
                        >
                            {translate('workspace.expensifyCard.type')}
                        </Text>
                    </View>
    
    1. For the mobile screen, we don't show type in row and header and add type in this place

    What alternative solutions did you explore? (Optional)

    NA

    Screenshot 2024-11-01 at 18 13 18 Screenshot 2024-11-01 at 18 20 08
  11. nkdengineer commented on Nov 1, 2024

    @nkdengineer
    Contributor

    updated proposal to handle case in small screen and add the result

  12. self-assigned this
    on Nov 1, 2024
  13. 19 remaining items

  14. melvin-bot commented on Nov 13, 2024

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.60-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2024-11-20. 🎊

    For reference, here are some details about the assignees on this issue:

  15. melvin-bot commented on Nov 13, 2024

    @melvin-bot

    @DylanDylann @JmillsExpensify @DylanDylann The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

  16. DylanDylann commented on Nov 19, 2024

    @DylanDylann
    Contributor

    I will complete the checklist after some style issues are resolved then I can make a regression test completely

  17. changed the title [-][HOLD for payment 2024-11-20] [$125] Add `Type` column to workspace feeds[/-] [+][HOLD for payment 2024-11-20] [$125] Add `Type` column to Expensify Card workspace feeds[/+] on Nov 20, 2024
  18. JmillsExpensify commented on Nov 20, 2024

    @JmillsExpensify
    ContributorAuthor

    Payment summary:

  19. JmillsExpensify commented on Nov 20, 2024

    @JmillsExpensify
    ContributorAuthor

    Upwork offers sent.

  20. DylanDylann commented on Nov 25, 2024

    @DylanDylann
    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 both staging and production
    • 2d. 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: NA. This is a new design

    • [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:

    • [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.

    • [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.

      Link to issue:

    Regression Test Proposal

    Test:

    1. Go to workspace with Expensify card enabled
    2. Create a card
    3. Verify that: we have Type column on large screen and a type row on the small screen (below the limit amount)

    Do we agree 👍 or 👎

  21. JmillsExpensify commented on Nov 25, 2024

    @JmillsExpensify
    ContributorAuthor

    @nkdengineer please accept the Upwork offer when you get a chance.

  22. nkdengineer commented on Nov 25, 2024

    @nkdengineer
    Contributor

    @JmillsExpensify I accepted, thanks.

  23. JmillsExpensify commented on Nov 27, 2024

    @JmillsExpensify
    ContributorAuthor

    Awesome. All contributors paid out and regression test created.

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

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions