From ce2b0295040ec88a2b0f12472cb7e13401cf4318 Mon Sep 17 00:00:00 2001 From: LeSingh1 Date: Tue, 19 May 2026 10:46:40 -0700 Subject: [PATCH] Fix ResizeMirror missing mirror:destroy listener in attach() --- .changeset/resizemirror-destroy-listener.md | 5 +++++ src/Plugins/ResizeMirror/ResizeMirror.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/resizemirror-destroy-listener.md diff --git a/.changeset/resizemirror-destroy-listener.md b/.changeset/resizemirror-destroy-listener.md new file mode 100644 index 00000000..37544258 --- /dev/null +++ b/.changeset/resizemirror-destroy-listener.md @@ -0,0 +1,5 @@ +--- +'@shopify/draggable': patch +--- + +Fix `ResizeMirror` not registering its `mirror:destroy` listener in `attach()`. The listener was removed in `detach()` but never bound, so the internal `mirror` reference was never cleared between drags. The companion `Snappable` plugin already binds both `mirror:created` and `mirror:destroy`; this restores symmetry. diff --git a/src/Plugins/ResizeMirror/ResizeMirror.ts b/src/Plugins/ResizeMirror/ResizeMirror.ts index 0a79705a..70601c6a 100644 --- a/src/Plugins/ResizeMirror/ResizeMirror.ts +++ b/src/Plugins/ResizeMirror/ResizeMirror.ts @@ -61,6 +61,7 @@ export default class ResizeMirror extends AbstractPlugin { attach() { this.draggable .on('mirror:created', this.onMirrorCreated) + .on('mirror:destroy', this.onMirrorDestroy) .on('drag:over', this.onDragOver) .on('drag:over:container', this.onDragOver); }