From ab12e72cc52e3fd9b0045fa2263ee97264c4affb Mon Sep 17 00:00:00 2001 From: Andrey Bochkarev <50177704+octaviusz@users.noreply.github.com> Date: Sun, 25 Jan 2026 16:57:12 +0300 Subject: [PATCH] fix: Prevent sidebar from flickering when moving a tab, p=#12016 --- src/zen/compact-mode/ZenCompactMode.mjs | 4 ++++ src/zen/drag-and-drop/ZenDragAndDrop.js | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/zen/compact-mode/ZenCompactMode.mjs b/src/zen/compact-mode/ZenCompactMode.mjs index 8a9314ca5..575fdbbe0 100644 --- a/src/zen/compact-mode/ZenCompactMode.mjs +++ b/src/zen/compact-mode/ZenCompactMode.mjs @@ -743,6 +743,10 @@ window.gZenCompactModeManager = { return; } + if (this._isTabBeingDragged) { + return; + } + if (this.hoverableElements[i].keepHoverDuration) { this.flashElement( target, diff --git a/src/zen/drag-and-drop/ZenDragAndDrop.js b/src/zen/drag-and-drop/ZenDragAndDrop.js index 11f1bb10e..aef279221 100644 --- a/src/zen/drag-and-drop/ZenDragAndDrop.js +++ b/src/zen/drag-and-drop/ZenDragAndDrop.js @@ -105,7 +105,7 @@ startTabDrag(event, tab, ...args) { this.ZenDragAndDropService.onDragStart(1); - + gZenCompactModeManager._isTabBeingDragged = true; super.startTabDrag(event, tab, ...args); const dt = event.dataTransfer; if (isTabGroupLabel(tab)) { @@ -874,6 +874,10 @@ this._tempDragImageParent.remove(); delete this._tempDragImageParent; } + delete gZenCompactModeManager._isTabBeingDragged; + if (dt.dropEffect !== "move") { + gZenCompactModeManager._clearAllHoverStates(); + } } #applyDragOverBackground(element) {