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: don't clear RecordArray if remaining record does not match the removed record #8570

Merged
merged 2 commits into from
Apr 15, 2023

Conversation

esbanarango
Copy link
Contributor

@esbanarango esbanarango commented Apr 15, 2023

resolves #8569

Previously, removing a record only checked that the record was still a member of the array if removes.length !== state.length, this missed the case where when exactly two records exist and one is removed and the removal is double-notified the record to remove may not be the record in the array.

The double-notification is something we should also investigate, it's likely that we should not notify the state change for isDeleted, only for when the deletion is persisted. We also likely should not notify when unloadRecord is called on something whose deletion has been persisted. Both of these cases are leading the over-notification, the first for an extra add, the second for an extra remove.

@runspired runspired added 🎯 beta PR should be backported to beta 🎯 release PR should be backported to release 🎯 canary PR is targeting canary (default) 🎯 lts The PR should be backported to the most recent LTS 🏷️ bug This PR primarily fixes a reported issue labels Apr 15, 2023
@runspired runspired marked this pull request as ready for review April 15, 2023 06:46
@runspired runspired changed the title Fix #8569 Fix: don't clear RecordArray if remaining record does not match the removed record Apr 15, 2023
@runspired runspired merged commit 9e002a3 into emberjs:main Apr 15, 2023
@esbanarango esbanarango deleted the esbanarango/fix-8569 branch April 15, 2023 12:06
esbanarango added a commit to esbanarango/data that referenced this pull request Apr 16, 2023
…emoved record (emberjs#8570)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
esbanarango added a commit to esbanarango/data that referenced this pull request Apr 16, 2023
…emoved record (emberjs#8570)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
esbanarango added a commit to esbanarango/data that referenced this pull request Apr 16, 2023
…emoved record (emberjs#8570)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
runspired added a commit that referenced this pull request Apr 16, 2023
…es not match the removed record (#8572)

* Fix: don't clear RecordArray if remaining record does not match the removed record (#8570)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>

* minor docs fix to trigger build

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
runspired added a commit that referenced this pull request Apr 16, 2023
…emoved record (#8570) (#8571)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
runspired added a commit that referenced this pull request Apr 16, 2023
…emoved record (#8570) (#8573)

* Update record-array-test.js

* add fix

---------

Co-authored-by: Chris Thoburn <runspired@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎯 beta PR should be backported to beta 🎯 canary PR is targeting canary (default) 🎯 lts The PR should be backported to the most recent LTS 🎯 release PR should be backported to release 🏷️ bug This PR primarily fixes a reported issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ember-data@4.12.0 broke findAll
2 participants