From a0598bf37775b94df2477f74dd3675a1ddc20eba Mon Sep 17 00:00:00 2001 From: yflory Date: Mon, 12 Aug 2019 12:15:06 +0200 Subject: [PATCH] Fix infinite onChange loop in metadata --- www/common/metadata-manager.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/www/common/metadata-manager.js b/www/common/metadata-manager.js index 2b504d39a..02d516ff7 100644 --- a/www/common/metadata-manager.js +++ b/www/common/metadata-manager.js @@ -99,6 +99,7 @@ define(['json.sortify'], function (Sortify) { var addAuthor = function () { if (!meta.user || !meta.user.netfluxId || !priv || !priv.edPublic) { return; } var authors = metadataObj.authors || {}; + var old = Sortify(authors); if (!authors[priv.edPublic]) { authors[priv.edPublic] = { nId: [meta.user.netfluxId], @@ -110,9 +111,11 @@ define(['json.sortify'], function (Sortify) { authors[priv.edPublic].nId.push(meta.user.netfluxId); } } - metadataObj.authors = authors; - metadataLazyObj.authors = JSON.parse(JSON.stringify(authors)); - change(); + if (Sortify(authors) !== old) { + metadataObj.authors = authors; + metadataLazyObj.authors = JSON.parse(JSON.stringify(authors)); + change(); + } }; var netfluxId;