Skip to content

[$250] LOW: Investigate using native-stack on native platforms instead of stack #29948

Closed

Description

@mountiny

Coming from here

When we have refactored the App navigation, we have chose to use the normal react-navigation stack as that gave us more control over animation/ transitions of pages on web. This was to also not complicate the MVP for the project with two types of stack.

The problem is that the normal stack does not lead to native feel of app page transitions in native device which makes the feel of the app worse as the page transitions are ever so slightly off compared to the other native apps you might be using on daily basis.

Its important to address this discrepancy and ideally introduce the native-stack for native iOS and Android platforms, as chat/ P2P users have high standards for native app quality.

cc @hannojg @adamgrzybowski

Issue OwnerCurrent Issue Owner: @
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021866177344381113052
  • Upwork Job ID: 1866177344381113052
  • Last Price Increase: 2024-12-09

Activity

  1. self-assigned this
    on Oct 19, 2023
  2. hannojg commented on Oct 19, 2023

    @hannojg
    Contributor

    Yes, will help investigating this or next week 🤝!

  3. hannojg commented on Oct 19, 2023

    @hannojg
    Contributor
  4. hannojg commented on Oct 24, 2023

    @hannojg
    Contributor

    We got two blockers at the minute:

  5. WoLewicki commented on Oct 24, 2023

    @WoLewicki
    Contributor

    @hannojg as for the second dot, the ios like do you think that this animation is what people want on Android to have the native feel? Maybe we could explore the other animations that are strictly taken from the Android XMLs?

    Also, could you elaborate how does native-stack improve the performance of the app exactly? One thing I can think of is native swipe to go back on iOS which is controlled by the native code, but you still need to mount the previous screen on the native side when it happens, did you check how it performs when going back to reports with many many messages?

  6. hannojg commented on Oct 25, 2023

    @hannojg
    Contributor

    ios like do you think that this animation is what people want on Android to have the native feel

    We have to double check the animation. Its called iOS like but I think it actually feels like the android default slide transition

    Also, could you elaborate how does native-stack improve the performance of the app exactly

    This is more about perceived performance and UX feeling. Right now you can tell by using the expensify app, that the transitions aren't the native transitions. So we want to have the native transitions so expensify feels like a native app.

    you still need to mount the previous screen on the native side when it happens, did you check how it performs when going back to reports with many many messages?

    Do I understand it correctly that you are suggesting that switching to native-stack could be a performance issue when doing the swipe back gesture?

  7. WoLewicki commented on Oct 25, 2023

    @WoLewicki
    Contributor

    Do I understand it correctly that you are suggesting that switching to native-stack could be a performance issue when doing the swipe back gesture?

    We have the same abstraction in the stack navigator, where we control the mounting/unmounting the views by using activityState prop. Native-stack should not have worse performance, I'm just curious if it is fast enough no to be laggy in high traffic accounts 😅

  8. mountiny commented on Oct 25, 2023

    @mountiny
    ContributorAuthor

    we should test it out with high traffic accounts, the E2E tests once are built in like 2 weeks should also tell us more how it performs there

  9. 122 remaining items

  10. joekaufmanexpensify commented on Dec 9, 2024

    @joekaufmanexpensify
    Contributor

    Ah, actually noticed @c3024 is already being paid for their PR here. So we just need to pay @ishpaul777

  11. joekaufmanexpensify commented on Dec 9, 2024

    @joekaufmanexpensify
    Contributor

    Payment summary is $1,250 to @ishpaul777 for C+ review via upwork.

  12. joekaufmanexpensify commented on Dec 9, 2024

    @joekaufmanexpensify
    Contributor

    @ishpaul777 offer sent in Upwork!

  13. ishpaul777 commented on Dec 9, 2024

    @ishpaul777
    Contributor

    @mountiny I also reviewed this PR: #49936. Additionally, I believe the effort and time involved in this were significant. Could we consider adjusting the bounty slightly, perhaps to $1500 for all three PRs I reviewed?

  14. mountiny commented on Dec 10, 2024

    @mountiny
    ContributorAuthor

    @ishpaul777 ah nice, thanks for the link. Let's increase to $1250, including that PR. Thanks!

  15. joekaufmanexpensify commented on Dec 10, 2024

    @joekaufmanexpensify
    Contributor

    Sounds good! Adjusted payment summary. @ishpaul777 please accept the offer I sent. I will pay the extra $250 as a bonus.

  16. ishpaul777 commented on Dec 10, 2024

    @ishpaul777
    Contributor

    Sounds good! Accepted offer!

  17. joekaufmanexpensify commented on Dec 10, 2024

    @joekaufmanexpensify
    Contributor

    @ishpaul777 $1,250 sent and contract ended!

  18. joekaufmanexpensify commented on Dec 10, 2024

    @joekaufmanexpensify
    Contributor

    Upwork job closed.

  19. joekaufmanexpensify commented on Dec 10, 2024

    @joekaufmanexpensify
    Contributor

    All set, thanks everyone!

  20. melvin-bot commented on Dec 18, 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.

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

Metadata

Metadata

Labels

ExternalAdded to denote the issue can be worked on by a contributorNewFeatureSomething to build that is a new item.ReviewingHas a PR in reviewTaskWeeklyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions