diff --git a/addon/-private/system/relationships/state/relationship.js b/addon/-private/system/relationships/state/relationship.js index 8a6893c4f79..2d1792d9877 100644 --- a/addon/-private/system/relationships/state/relationship.js +++ b/addon/-private/system/relationships/state/relationship.js @@ -346,7 +346,7 @@ export default class Relationship { this.store._updateRelationshipState(this); } - updateLink(link) { + updateLink(link, initial) { heimdall.increment(updateLink); warn(`You pushed a record of type '${this.internalModel.modelName}' with a relationship '${this.key}' configured as 'async: false'. You've included a link but no primary data, this may be an error in your payload.`, this.isAsync || this.hasData , { id: 'ds.store.push-link-for-sync-relationship' @@ -355,7 +355,10 @@ export default class Relationship { this.link = link; this.linkPromise = null; - this.internalModel.notifyPropertyChange(this.key); + + if (!initial) { + this.internalModel.notifyPropertyChange(this.key); + } } findLink() { diff --git a/addon/-private/system/store.js b/addon/-private/system/store.js index ac30e54c1cc..1c39f680e80 100644 --- a/addon/-private/system/store.js +++ b/addon/-private/system/store.js @@ -2873,7 +2873,7 @@ function setupRelationships(store, internalModel, data, modelNameToInverseMap) { if (relationshipRequiresNotification) { let relationshipData = data.relationships[relationshipName]; - relationships.get(relationshipName).push(relationshipData); + relationships.get(relationshipName).push(relationshipData, false); } // in debug, assert payload validity eagerly