Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: React Query updateInPaginatedStore helper function not working as expected #10249

Conversation

bnussman-akamai
Copy link
Member

@bnussman-akamai bnussman-akamai commented Mar 4, 2024

Description 📝

With React Query, it is reccomneded that you update the cache in an "immutable" way.

Essentially, we were updating the cache, but the changes were not getting propagated and rendered because updating an existing value within the same array. The fix in this case to just copy the array before committing to the cache.

See https://tanstack.com/query/v4/docs/framework/react/guides/updates-from-mutation-responses#immutability

Note

This PR fixes Cypress test failures in machine-image-upload.spec.ts

How to test 🧪

  • Run yarn cy:debug and watch the uploads machine image, mock finish event test. After @getImage, we should see the changes render immediately and the test should pass.

As an Author I have considered 🤔

  • 👀 Doing a self review
  • ❔ Our contribution guidelines
  • 🤏 Splitting feature into small PRs
  • ➕ Adding a changeset
  • 🧪 Providing/Improving test coverage
  • 🔐 Removing all sensitive information from the code and PR description
  • 🚩 Using a feature flag to protect the release
  • 👣 Providing comprehensive reproduction steps
  • 📑 Providing or updating our documentation
  • 🕛 Scheduling a pair reviewing session
  • 📱 Providing mobile support
  • ♿ Providing accessibility support

@bnussman-akamai bnussman-akamai added the Bug Fixes for regressions or bugs label Mar 4, 2024
@bnussman-akamai bnussman-akamai self-assigned this Mar 4, 2024
@bnussman-akamai bnussman-akamai requested a review from a team as a code owner March 4, 2024 15:13
@bnussman-akamai bnussman-akamai requested review from mjac0bs, cpathipa and jdamore-linode and removed request for a team March 4, 2024 15:13
@bnussman-akamai bnussman-akamai added the React Query Relating to the transition to use React Query label Mar 4, 2024
Copy link

github-actions bot commented Mar 4, 2024

Coverage Report:
Base Coverage: 81.32%
Current Coverage: 81.32%

Copy link
Contributor

@jdamore-linode jdamore-linode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @bnussman-akamai! Confirmed that the Image status issue is resolved. Thanks for the explanation + TanStack docs link!

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Observed the spec pass as described. Thanks for fixing this! 🚢

@mjac0bs mjac0bs added the Approved Multiple approvals and ready to merge! label Mar 4, 2024
@bnussman-akamai bnussman-akamai merged commit 6d22d36 into linode:develop Mar 4, 2024
18 checks passed
vrajesh73 added a commit to vrajesh73/manager that referenced this pull request Mar 12, 2024
…eature/namespace-create

* 'develop' of https://github.com/vrajesh73/manager: (89 commits)
  fix: [M3-7269] - Display parent email in user menu when no company name is available for restricted parent user (linode#10248)
  fix: [M3-7817] - Show correct status of Child Account Enabled column for parent users (linode#10233)
  upcoming: [M3-7616] - Add Placement Groups Events and Notifications (linode#10221)
  upcoming: [M3-7816-v2] - Adjust logic for when to show Switch Account button (linode#10266)
  fix: [M3-7831] - Persisting error messages in ACLB delete dialogs (linode#10254)
  upcoming: [M3-7842] - Update Assign Linode Drawer and improve query skipping (linode#10263)
  upcoming: [M3-7704] - Disable Cloning, Private IP, Backups for edge regions (linode#10222)
  test: Fix test flake for Images landing page test (linode#10267)
  fix: [M3-7824] - ACLB TCP Rule Creation and other fixes (linode#10264)
  refactor: [M3-7687] - Linodes Restricted User Experience 2/2 (linode#10227)
  test: Resolve OBJ create and delete E2E test flake (linode#10245)
  upcoming: [M3-7723] - Placement Group feature flag as object (linode#10256)
  chore(deps): Bump sanitize-html from 2.11.0 to 2.12.1 (linode#10247)
  change: [M3-7813] - Allow the disabling of the TypeToConfirm input (linode#10251)
  upcoming: [M3-7839] - Change Business Partner to Parent User (linode#10259)
  upcoming: [M3-7835] - Adjust user table column count (linode#10252)
  upcoming: [M3 7738] - Update Placement Group Create & Edit Drawers (linode#10205)
  refactor: [M3-7437] - Use `@lukemorales/query-key-factory` for Profile Queries (linode#10241)
  fix: React Query `updateInPaginatedStore` helper function not working as expected (linode#10249)
  test: [M3-7497] - Add tests for child user verification banner (linode#10204)
  ...

# Conflicts:
#	packages/manager/src/MainContent.tsx
#	packages/manager/src/dev-tools/FeatureFlagTool.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved Multiple approvals and ready to merge! Bug Fixes for regressions or bugs React Query Relating to the transition to use React Query
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants