App icon indicating copy to clipboard operation
App copied to clipboard

[$250] Fix upstream [react-native-pager-view] - PagerView displays incorrect pages when content changes dynamically without re-mounting

Open thienlnam opened this issue 1 year ago • 19 comments

Potentially linked upstream issues: https://github.com/callstack/react-native-pager-view/issues/597 https://github.com/callstack/react-native-pager-view/issues/791

Reproduction steps from @wildan-m: https://github.com/Expensify/App/pull/49832#issuecomment-2384722144

Associated bugs in Expensify: https://github.com/Expensify/App/issues/50296

Issue OwnerCurrent Issue Owner: @hungvu193
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021846637497650257060
  • Upwork Job ID: 1846637497650257060
  • Last Price Increase: 2024-10-16

thienlnam avatar Oct 07 '24 18:10 thienlnam

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

melvin-bot[bot] avatar Oct 07 '24 18:10 melvin-bot[bot]

Will reach out in the callstack room first to see if anyone wants to pick it up

thienlnam avatar Oct 07 '24 18:10 thienlnam

⚠️ 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.

melvin-bot[bot] avatar Oct 07 '24 18:10 melvin-bot[bot]

@MrRefactor will look into this when he's back next week!

thienlnam avatar Oct 09 '24 21:10 thienlnam

Hey, its Kuba from Callstack, and I would love to take that issue.

MrRefactor avatar Oct 14 '24 05:10 MrRefactor

I am going to apply the external label to get a C+ assigned to this for review.

strepanier03 avatar Oct 16 '24 19:10 strepanier03

Job added to Upwork: https://www.upwork.com/jobs/~021846637497650257060

melvin-bot[bot] avatar Oct 16 '24 19:10 melvin-bot[bot]

Triggered auto assignment to Contributor-plus team member for initial proposal review - @hungvu193 (External)

melvin-bot[bot] avatar Oct 16 '24 19:10 melvin-bot[bot]

Hey hey, still working on resolving the issue upstream, will give more detailed update once I will have it working

MrRefactor avatar Oct 21 '24 07:10 MrRefactor

Not overdue.

hungvu193 avatar Oct 21 '24 12:10 hungvu193

@strepanier03 @hungvu193 @thienlnam @MrRefactor this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

melvin-bot[bot] avatar Oct 21 '24 18:10 melvin-bot[bot]

@strepanier03, @hungvu193, @thienlnam, @MrRefactor Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

melvin-bot[bot] avatar Oct 24 '24 18:10 melvin-bot[bot]

Any update here @MrRefactor?

thienlnam avatar Oct 24 '24 22:10 thienlnam

Still waiting for upstream fix.

hungvu193 avatar Oct 25 '24 09:10 hungvu193

@strepanier03, @hungvu193, @thienlnam, @MrRefactor Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] avatar Oct 28 '24 18:10 melvin-bot[bot]

Little bump @MrRefactor for the above question

hungvu193 avatar Oct 29 '24 10:10 hungvu193

Hey @hungvu193 @thienlnam Im still actively working on the issue on react-native-pager-view side, contacted other maintainers of the library and looking for solution. In meantime I will create patch with workaround for that and push a PR with it until I will fix it upstream.

MrRefactor avatar Oct 30 '24 06:10 MrRefactor

@strepanier03, @hungvu193, @thienlnam, @MrRefactor Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

melvin-bot[bot] avatar Nov 01 '24 18:11 melvin-bot[bot]

Same as https://github.com/Expensify/App/issues/50349#issuecomment-2445994640

hungvu193 avatar Nov 01 '24 23:11 hungvu193

@strepanier03 @hungvu193 @thienlnam @MrRefactor this issue is now 4 weeks old, please consider:

  • Finding a contributor to fix the bug
  • Closing the issue if BZ has been unable to add the issue to a VIP or Wave project
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

melvin-bot[bot] avatar Nov 04 '24 18:11 melvin-bot[bot]

Hey, tomorrow I will create PR for react-native-pager-view and create a new release, I will also open pr for bumping version here.

MrRefactor avatar Nov 04 '24 18:11 MrRefactor

Not overude

hungvu193 avatar Nov 05 '24 01:11 hungvu193

Hey, I have just released react-native-pager-view version 6.5.0 with a fix for adding/changing pages dynamically. I will create a PR with a bump of the version.

MrRefactor avatar Nov 05 '24 16:11 MrRefactor

@strepanier03, @hungvu193, @thienlnam, @MrRefactor Still overdue 6 days?! Let's take care of this!

melvin-bot[bot] avatar Nov 12 '24 09:11 melvin-bot[bot]

@thienlnam https://github.com/Expensify/App/pull/52166 is ready for your final review!

hungvu193 avatar Nov 12 '24 09:11 hungvu193

Changes look good, but we'll need to apply the patch changes to Mobile-Expensify as well

thienlnam avatar Nov 12 '24 18:11 thienlnam

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

  • https://github.com/Expensify/App/pull/52166

If no regressions arise, payment will be issued on 2024-11-22. :confetti_ball:

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

  • @hungvu193 requires payment through NewDot Manual Requests
  • @MrRefactor does not require payment (Contractor)

melvin-bot[bot] avatar Nov 15 '24 14:11 melvin-bot[bot]

@hungvu193 @strepanier03 @hungvu193 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]

melvin-bot[bot] avatar Nov 15 '24 14:11 melvin-bot[bot]

BugZero Checklist:

  • [x] [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
  • [x] 1z. Other: This issue was found in a PR while we tried to resolve another isssue.

Where bug was reported:

  • [ ] 2a. Reported on production
  • [ ] 2b. Reported on staging (deploy blocker)
  • [ ] 2c. Reported on both staging and production
  • [x] 2d. Reported on a PR
  • [ ] 2z. Other:

Who reported the bug:

  • [ ] 3a. Expensify user
  • [ ] 3b. Expensify employee
  • [x] 3c. Contributor
  • [ ] 3d. QA
  • [ ] 3z. Other:
  • [x] [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: No offending PR, this issue was found by a contributor while they were working on another issue.

  • [x] [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 a critical one, user can still use the App, we don't need to create slack convo.

  • [x] [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

  1. Open a chat.
  2. Go offline.
  3. Upload an image.
  4. Open the image.
  5. Go online.
  6. Verify that the image preview modal is not dismissed.

Do we 👍 or 👎 ?

hungvu193 avatar Nov 22 '24 03:11 hungvu193

Payment Summary

Upwork Job

  • Reviewer: @hungvu193 owed $250 via NewDot
  • Contributor: @MrRefactor is from an agency-contributor and not due payment

BugZero Checklist (@strepanier03)

  • [x] I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • [x] I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants/1846637497650257060/hired)
  • [x] I have paid out the Upwork contracts or cancelled the ones that are incorrect
  • [x] I have verified the payment summary above is correct

melvin-bot[bot] avatar Nov 22 '24 09:11 melvin-bot[bot]