From a7c19ce9a045ec4fb6934d50006421db3e5dfe3e Mon Sep 17 00:00:00 2001 From: Kuuuube <61125188+Kuuuube@users.noreply.github.com> Date: Mon, 12 Aug 2024 20:27:44 -0400 Subject: [PATCH] Fix infinite event listener ping-pong destroying settings page (#1308) * Reject observer children updates from 'element' * Revert logic order switch in _onObserverChildrenUpdated --- ext/js/dom/dom-data-binder.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ext/js/dom/dom-data-binder.js b/ext/js/dom/dom-data-binder.js index 4ca3aded97..eb8aebcfef 100644 --- a/ext/js/dom/dom-data-binder.js +++ b/ext/js/dom/dom-data-binder.js @@ -209,10 +209,9 @@ export class DOMDataBinder { * @param {import('dom-data-binder').ElementObserver} observer */ _onObserverChildrenUpdated(element, observer) { - if (!observer.hasValue) { - return; + if (observer.hasValue && this._getNormalizedElementType(element) !== 'element') { + this._setElementValue(element, observer.value); } - this._setElementValue(element, observer.value); } /**