adopted-ember-addons / adopted-ember-addons/validated-changeset

Snapshot changes is wrong when object has proxy attributes

Open
#102 6 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
38
Forks
27
PR merge metrics
No merged PRs in 30d

Description

Hi, changeset of ED Models with async belongsTo relationships show incorrect changes on snapshot:
![Screenshot 2021-02-03 at 16 15 37](https://user-images.githubusercontent.com/50884/106775512-1799ef80-663b-11eb-8145-fa68de987259.png)

`change` and `changes` are correct, but `snapshot().changes` shows all my async belongsTo as changed attributes incorrectly.

I think this is because of this unrwrap https://github.com/validated-changeset/validated-changeset/blob/da68651a41028ab827872cf10960920779c2a09f/src/index.ts#L975

Which adds all the unwrapped relationships to `this[CHANGES]`. When i get `change` and `changes` these incorrect changes are filtered out, but not on snapshot.

Does my explanation make sense? Thanks in advance!

EDIT:
If anyone else comes here looking for a solution I'm currently creating snapshots like this until it is fixed
```js
function createSnapshot(cs) {
const changes = {};
cs.changes.forEach(({ key, value }) => { changes[key] = value; });
return {
changes,
errors: { ...cs.error },
};
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.