Skip to content

[$250] Migrate BaseOptionsSelector.js to function component #16184

Closed

Description

@marcaaron

Class Component Migration

Filenames

Task

  • We currently have some class components in our codebase that we would like to refactor to a function component.
  • Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
  • If you need additional guidance, please ask in #expensify-open-source
  • Test for any regressions and verify that there are no breaking changes
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~018a6f55da7cfbd26a
  • Upwork Job ID: 1727071636393496576
  • Last Price Increase: 2023-11-21

Activity

  1. locked and limited conversation to collaborators on Mar 20, 2023
  2. unlocked this conversation on Mar 21, 2023
  3. changed the title [-][HOLD] Migrate BaseOptionsSelector.js to function component[/-] [+][HOLD][$250] Migrate BaseOptionsSelector.js to function component[/+] on Apr 13, 2023
  4. dummy-1111 commented on Jun 6, 2023

    @dummy-1111
    Contributor

    I'd love to work on this.

  5. dayana7204 commented on Jun 27, 2023

    @dayana7204
    Contributor

    I am ready to work on this ticket. :)

  6. melvin-bot commented on Jun 27, 2023

    @melvin-bot

    📣 @dayana7204! 📣
    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>
    
  7. olexyt commented on Jul 7, 2023

    @olexyt
    Contributor

    I can work on this issue.

  8. rayane-d commented on Jul 9, 2023

    @rayane-d
    Contributor

    Can I work on this issue?

  9. mejed-alkoutaini commented on Jul 11, 2023

    @mejed-alkoutaini

    I'm able to work on this if needed!

  10. mkhutornyi commented on Jul 12, 2023

    @mkhutornyi
    Contributor

    I'd like to work on this.

  11. KrAbhas commented on Jul 19, 2023

    @KrAbhas
    Contributor

    I can work on this

  12. dexexpert commented on Aug 18, 2023

    @dexexpert

    I hope to work on this task.

  13. 23 remaining items

  14. melvin-bot commented on Feb 27, 2024

    @melvin-bot

    ⚠️ Looks like this issue was linked to a Deploy Blocker here

    If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

    If a regression has occurred and you are the assigned CM follow the instructions here.

    If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

  15. self-assigned this
    on Feb 28, 2024
  16. roryabraham commented on Feb 28, 2024

    @roryabraham
    Contributor

    I think we're going to revert the PR because it caused many regressions. That said, I did a substantial amount of refactoring to get this component to a much better place in #37353. @Piotrfj I hope you use it as a reference to help clean up this component. and I want to review the PR as well

  17. roryabraham commented on Feb 28, 2024

    @roryabraham
    Contributor
  18. Piotrfj commented on Feb 29, 2024

    @Piotrfj
    Contributor

    Update: re-refactoring is ready to be tested, it fixes all the regression issues I was aware of. Please test it (especially the tags, because I could not yet replicate the scenario on my site).
    The fix is based on the @roryabraham solution, so special thanks for him!
    Link to PR: #37494

  19. roryabraham commented on Feb 29, 2024

    @roryabraham
    Contributor

    Sorry for the back-and-forth, but coming from this discussion I see that OptionsSelector is essentially deprecated, so I propose that we actually close the above PR and this issue, and plan to focus on removing the deprecated OptionsSelector altogether

  20. Piotrfj commented on Mar 7, 2024

    @Piotrfj
    Contributor

    @roryabraham let me know about the final decision about this issue

  21. roryabraham commented on Mar 11, 2024

    @roryabraham
    Contributor

    Yes, let's not invest time and money refactoring something that's deprecated. Let's instead invest resources in removing it completely

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

Metadata

Metadata

Labels

EngineeringExternalAdded to denote the issue can be worked on by a contributorImprovementItem broken or needs improvement.ReviewingHas a PR in reviewWeeklyKSv2

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions