From 4da763d6faacd50a086a9eb3dd7fbc471bb30636 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Wed, 9 Jul 2025 09:41:22 +0200 Subject: [PATCH 1/2] fix: re-evaluate side-menu on scroll --- .../core/src/extensions/SideMenu/SideMenuPlugin.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts b/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts index efb6d5f3e8..7c849a12b6 100644 --- a/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts +++ b/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts @@ -192,6 +192,12 @@ export class SideMenuView< true, ); + // Update state when the editor scrolls + this.pmView.root.addEventListener( + "scroll", + this.updateStateFromMousePos as EventListener, + ); + // Hides and unfreezes the menu whenever the user presses a key. this.pmView.root.addEventListener( "keydown", @@ -575,6 +581,10 @@ export class SideMenuView< this.onMouseMove as EventListener, true, ); + this.pmView.root.removeEventListener( + "scroll", + this.updateStateFromMousePos as EventListener, + ); this.pmView.root.removeEventListener( "dragstart", this.onDragStart as EventListener, From b4ffeecc35df51041a81c996edf0b273361ff5e7 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 11 Jul 2025 14:08:06 +0200 Subject: [PATCH 2/2] fix: re-use existing handler --- .../core/src/extensions/SideMenu/SideMenuPlugin.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts b/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts index 7c849a12b6..4f19249494 100644 --- a/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts +++ b/packages/core/src/extensions/SideMenu/SideMenuPlugin.ts @@ -192,12 +192,6 @@ export class SideMenuView< true, ); - // Update state when the editor scrolls - this.pmView.root.addEventListener( - "scroll", - this.updateStateFromMousePos as EventListener, - ); - // Hides and unfreezes the menu whenever the user presses a key. this.pmView.root.addEventListener( "keydown", @@ -555,6 +549,7 @@ export class SideMenuView< this.state.referencePos = this.hoveredBlock!.getBoundingClientRect(); this.emitUpdate(this.state); } + this.updateStateFromMousePos(); }; // Needed in cases where the editor state updates without the mouse cursor @@ -581,10 +576,6 @@ export class SideMenuView< this.onMouseMove as EventListener, true, ); - this.pmView.root.removeEventListener( - "scroll", - this.updateStateFromMousePos as EventListener, - ); this.pmView.root.removeEventListener( "dragstart", this.onDragStart as EventListener,