From 90be5799e4aa798d30bb73379cdc0d6517e08926 Mon Sep 17 00:00:00 2001 From: Will Miao Date: Mon, 24 Aug 2026 08:17:47 +0800 Subject: [PATCH] fix(ui): preserve group editor scroll position when toggling tags --- web/comfyui/tags_widget.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/web/comfyui/tags_widget.js b/web/comfyui/tags_widget.js index 9ae2a4a5..e7c57413 100644 --- a/web/comfyui/tags_widget.js +++ b/web/comfyui/tags_widget.js @@ -439,6 +439,12 @@ function renderGroupEditor(widget, tagData, index) { return; } + // Preserve the scroll position across re-renders: toggling a child tag + // rebuilds the whole panel, and a fresh panel would otherwise jump back + // to the top. + const previousScrollTop = state.panelEl ? state.panelEl.scrollTop : 0; + const previousScrollLeft = state.panelEl ? state.panelEl.scrollLeft : 0; + if (state.panelEl) { state.panelEl.remove(); } @@ -551,6 +557,8 @@ function renderGroupEditor(widget, tagData, index) { state.lastAnchorRect = getRectSnapshot(state.anchorEl); attachGroupEditorCloseHandlers(widget); positionGroupEditor(widget); + panel.scrollTop = previousScrollTop; + panel.scrollLeft = previousScrollLeft; startGroupEditorTracking(widget); }