Skip to content

[HOLD for payment 2023-11-21] Implement web support in lottie-react-native #26871

Closed

Description

@roryabraham

Problem

We recently sponsored support for .lottie files in lottie-react-native. However, we currently use react-native-web-lottie to provide a unified interface for lottie across native and web.

However, react-native-web-lottie is unmaintained, and the patch we have for it is basically a complete rebuild of this simple lib.
Now we'd like to start using .lottie files, and there is an existing dotlottie player for web, but at this point I don't think it makes sense to continue with react-native-web-lottie.

Solution

Let's build web support into lottie-react-native for both lottie JSON and .lottie file formats.

Activity

  1. self-assigned this
    on Sep 6, 2023
  2. melvin-bot commented on Sep 6, 2023

    @melvin-bot
  3. roryabraham commented on Sep 6, 2023

    @roryabraham
    ContributorAuthor
  4. wojtus7 commented on Sep 6, 2023

    @wojtus7
    Contributor

    Hi!

    I would like to take care of this task 🥰

    Overall my idea is to:

    • Create web examples in lottie-react-native repo
    • Add web implementations to make web versions of the example app work the same as android/iOS/windows equivalents

    Then create PR for lottie-react-native and after it is hopefully merged use it in Expensify (also removing react-native-web-lottie library)

  5. kosmydel commented on Sep 12, 2023

    @kosmydel
    Contributor

    Hey, @roryabraham as I am working with @wojtus7 on this task I have some questions about this issue:

    1. I want to make sure, that we are on the same page: We want to add the dotlottie library to the lottie-react-native library (as a dependency), and then use it to support the web version.
    2. Do we need plain .json support? The dotlottie library supports only .lottie files. I can use lottie-react library, to support JSON files as well.
  6. roryabraham commented on Sep 13, 2023

    @roryabraham
    ContributorAuthor

    I want to make sure, that we are on the same page: We want to add the dotlottie library to the lottie-react-native library (as a dependency), and then use it to support the web version.

    Yes

    Do we need plain .json support? The dotlottie library supports only .lottie files. I can use lottie-react library, to support JSON files as well.

    Yes, we need plain .json support as well to upstream our efforts.


    Thanks!

  7. roryabraham commented on Sep 19, 2023

    @roryabraham
    ContributorAuthor

    @wojtus7 @kosmydel what's the latest here?

  8. kosmydel commented on Sep 19, 2023

    @kosmydel
    Contributor

    @wojtus7 @kosmydel what's the latest here?

    Hey, I'm currently busy with other tasks. But here is an update:

    We have some working draft prepared here. We still have to do some cleanup, refactoring, and make all props (that are possible) to work on the web.

  9. kosmydel commented on Sep 22, 2023

    @kosmydel
    Contributor

    Hey @roryabraham, short update:
    I've prepared a draft of the PR for the upstream.
    I think that we should first upgrade the lottie-react-native library in the App to the latest version (6.3.1) because it has some breaking changes. We have to do that anyway, so the sooner is better. In that way, I will be able to focus only on the web implementation, instead of upgrading the library.

    FYI I'm going to be OOO next week, so @wojtus7 will handle this issue during my absence.

  10. 22 remaining items

  11. ishpaul777 commented on Nov 6, 2023

    @ishpaul777
    Contributor

    @kosmydel another issue applying changes from #30901, just incase you haven't noticed yet there's too much gap between animation and Hero Text

    Screenshot 2023-11-07 at 1 37 23 AM
  12. melvin-bot commented on Nov 10, 2023

    @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.

  13. added
    Awaiting PaymentAuto-added when associated PR is deployed to production
    and removed on Nov 14, 2023
  14. changed the title [-]Implement web support in lottie-react-native[/-] [+][HOLD for payment 2023-11-21] Implement web support in lottie-react-native[/+] on Nov 14, 2023
  15. melvin-bot commented on Nov 14, 2023

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.98-5 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 2023-11-21. 🎊

    After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

    • External issue reporter
    • Contributor that fixed the issue
    • Contributor+ that helped on the issue and/or PR

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

    • @kosmydel does not require payment (Contractor)
  16. melvin-bot commented on Nov 14, 2023

    @melvin-bot

    BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

    • [@kosmydel] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
    • [] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.
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 productionNewFeatureSomething to build that is a new item.WeeklyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions