From b283bef7abf5d2dc7267cc783399710de18f9d47 Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Mon, 27 Apr 2026 22:15:16 +0200 Subject: [PATCH] fix: improve perf blur list view --- src/facets/themes/blur/browser/element.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/facets/themes/blur/browser/element.js b/src/facets/themes/blur/browser/element.js index 80cacfb5..fa240771 100644 --- a/src/facets/themes/blur/browser/element.js +++ b/src/facets/themes/blur/browser/element.js @@ -266,6 +266,8 @@ class Browser extends DiffuseElement { /** @type {(() => void) | undefined} */ #virtualizerCleanup; + #virtualizerCount = 0; + // LIFECYCLE /** @@ -687,6 +689,7 @@ class Browser extends DiffuseElement { if (!this.root().querySelector(".scroll-panel")) return; this.#virtualizerCleanup?.(); + this.#virtualizerCount = 0; this.#virtualizer = new Virtualizer({ count: 0, @@ -1148,10 +1151,13 @@ class Browser extends DiffuseElement { // The virtualizer is set up in connectedCallback after first render; // until then virtualItems is empty and totalSize is 0. if (this.#virtualizer) { - this.#virtualizer.setOptions({ - ...this.#virtualizer.options, - count, - }); + if (count !== this.#virtualizerCount) { + this.#virtualizerCount = count; + this.#virtualizer.setOptions({ + ...this.#virtualizer.options, + count, + }); + } this.#virtualizer._willUpdate(); } -- 2.51.2