fix: Other endpoint is not immediately updated on midpoint snap (#10933)

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
This commit is contained in:
Márk Tolmács
2026-03-23 14:54:44 +00:00
committed by GitHub
co-authored by dwelle
parent a9ca16eb42
commit 75789f620d
3 changed files with 43 additions and 41 deletions
+2 -2
View File
@@ -2406,7 +2406,7 @@ const pointDraggingUpdates = (
? nextArrow.points[0] ? nextArrow.points[0]
: endBindable : endBindable
? updateBoundPoint( ? updateBoundPoint(
element, nextArrow,
"endBinding", "endBinding",
nextArrow.endBinding, nextArrow.endBinding,
endBindable, endBindable,
@@ -2437,7 +2437,7 @@ const pointDraggingUpdates = (
? endLocalPoint ? endLocalPoint
: startBindable : startBindable
? updateBoundPoint( ? updateBoundPoint(
element, nextArrow,
"startBinding", "startBinding",
nextArrow.startBinding, nextArrow.startBinding,
startBindable, startBindable,
@@ -224,7 +224,7 @@ exports[`history > multiplayer undo/redo > conflicts in arrows and their bindabl
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 28, "version": 22,
"width": "94.00000", "width": "94.00000",
"x": 0, "x": 0,
"y": 0, "y": 0,
@@ -350,8 +350,9 @@ exports[`history > multiplayer undo/redo > conflicts in arrows and their bindabl
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 27, "version": 21,
"width": "88.00000", "width": "88.00000",
"y": "7.20923",
}, },
"inserted": { "inserted": {
"endBinding": { "endBinding": {
@@ -381,8 +382,9 @@ exports[`history > multiplayer undo/redo > conflicts in arrows and their bindabl
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 24, "version": 20,
"width": "88.00000", "width": "88.00000",
"y": "0.01000",
}, },
}, },
}, },
@@ -437,7 +439,7 @@ exports[`history > multiplayer undo/redo > conflicts in arrows and their bindabl
], ],
], ],
"startBinding": null, "startBinding": null,
"version": 28, "version": 22,
"width": "94.00000", "width": "94.00000",
"x": 0, "x": 0,
"y": 0, "y": 0,
@@ -462,7 +464,7 @@ exports[`history > multiplayer undo/redo > conflicts in arrows and their bindabl
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 27, "version": 21,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "7.20923", "y": "7.20923",
@@ -16254,7 +16256,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
@@ -16307,7 +16309,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 11, "version": 10,
}, },
"inserted": { "inserted": {
"endBinding": { "endBinding": {
@@ -16327,7 +16329,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 9, "version": 8,
}, },
}, },
}, },
@@ -16636,7 +16638,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"fillStyle": "solid", "fillStyle": "solid",
"frameId": null, "frameId": null,
"groupIds": [], "groupIds": [],
"height": "0.00120", "height": 0,
"index": "a3", "index": "a3",
"isDeleted": false, "isDeleted": false,
"link": null, "link": null,
@@ -16649,7 +16651,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
[ [
"88.00000", "88.00000",
"0.00120", 0,
], ],
], ],
"roughness": 1, "roughness": 1,
@@ -16669,14 +16671,14 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeStyle": "solid", "strokeStyle": "solid",
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"version": 8, "version": 7,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.00880", "y": "0.01000",
}, },
"inserted": { "inserted": {
"isDeleted": true, "isDeleted": true,
"version": 7, "version": 6,
}, },
}, },
}, },
@@ -17002,7 +17004,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
@@ -17307,14 +17309,14 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeStyle": "solid", "strokeStyle": "solid",
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
}, },
"inserted": { "inserted": {
"isDeleted": true, "isDeleted": true,
"version": 9, "version": 8,
}, },
}, },
}, },
@@ -17648,7 +17650,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
@@ -17953,14 +17955,14 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeStyle": "solid", "strokeStyle": "solid",
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
}, },
"inserted": { "inserted": {
"isDeleted": true, "isDeleted": true,
"version": 9, "version": 8,
}, },
}, },
}, },
@@ -18292,7 +18294,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 11, "version": 10,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
@@ -18361,7 +18363,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 11, "version": 10,
}, },
"inserted": { "inserted": {
"endBinding": { "endBinding": {
@@ -18373,7 +18375,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"mode": "orbit", "mode": "orbit",
}, },
"startBinding": null, "startBinding": null,
"version": 9, "version": 8,
}, },
}, },
"id2": { "id2": {
@@ -18650,7 +18652,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"fillStyle": "solid", "fillStyle": "solid",
"frameId": null, "frameId": null,
"groupIds": [], "groupIds": [],
"height": "0.00120", "height": 0,
"index": "a3", "index": "a3",
"isDeleted": false, "isDeleted": false,
"link": null, "link": null,
@@ -18663,7 +18665,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
[ [
"88.00000", "88.00000",
"0.00120", 0,
], ],
], ],
"roughness": 1, "roughness": 1,
@@ -18683,14 +18685,14 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeStyle": "solid", "strokeStyle": "solid",
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"version": 8, "version": 7,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.00880", "y": "0.01000",
}, },
"inserted": { "inserted": {
"isDeleted": true, "isDeleted": true,
"version": 7, "version": 6,
}, },
}, },
}, },
@@ -19044,7 +19046,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"updated": 1, "updated": 1,
"version": 12, "version": 11,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.01000", "y": "0.01000",
@@ -19124,12 +19126,12 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
"mode": "orbit", "mode": "orbit",
}, },
"version": 12, "version": 11,
}, },
"inserted": { "inserted": {
"endBinding": null, "endBinding": null,
"startBinding": null, "startBinding": null,
"version": 10, "version": 9,
}, },
}, },
}, },
@@ -19398,7 +19400,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"fillStyle": "solid", "fillStyle": "solid",
"frameId": null, "frameId": null,
"groupIds": [], "groupIds": [],
"height": "0.00120", "height": 0,
"index": "a3", "index": "a3",
"isDeleted": false, "isDeleted": false,
"link": null, "link": null,
@@ -19411,7 +19413,7 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
], ],
[ [
"88.00000", "88.00000",
"0.00120", 0,
], ],
], ],
"roughness": 1, "roughness": 1,
@@ -19431,14 +19433,14 @@ exports[`history > singleplayer undo/redo > should support bidirectional binding
"strokeStyle": "solid", "strokeStyle": "solid",
"strokeWidth": 2, "strokeWidth": 2,
"type": "arrow", "type": "arrow",
"version": 8, "version": 7,
"width": "88.00000", "width": "88.00000",
"x": 6, "x": 6,
"y": "0.00880", "y": "0.01000",
}, },
"inserted": { "inserted": {
"isDeleted": true, "isDeleted": true,
"version": 7, "version": 6,
}, },
}, },
}, },
+4 -4
View File
@@ -1531,10 +1531,10 @@
resolved "https://registry.yarnpkg.com/@excalidraw/markdown-to-text/-/markdown-to-text-0.1.2.tgz#1703705e7da608cf478f17bfe96fb295f55a23eb" resolved "https://registry.yarnpkg.com/@excalidraw/markdown-to-text/-/markdown-to-text-0.1.2.tgz#1703705e7da608cf478f17bfe96fb295f55a23eb"
integrity sha512-1nDXBNAojfi3oSFwJswKREkFm5wrSjqay81QlyRv2pkITG/XYB5v+oChENVBQLcxQwX4IUATWvXM5BcaNhPiIg== integrity sha512-1nDXBNAojfi3oSFwJswKREkFm5wrSjqay81QlyRv2pkITG/XYB5v+oChENVBQLcxQwX4IUATWvXM5BcaNhPiIg==
"@excalidraw/mermaid-to-excalidraw@2.1.0": "@excalidraw/mermaid-to-excalidraw@2.1.1":
version "2.1.0" version "2.1.1"
resolved "https://registry.yarnpkg.com/@excalidraw/mermaid-to-excalidraw/-/mermaid-to-excalidraw-2.1.0.tgz#a5b9cf87c3185558cda7f9687d87b9937f452358" resolved "https://registry.yarnpkg.com/@excalidraw/mermaid-to-excalidraw/-/mermaid-to-excalidraw-2.1.1.tgz#659c934a607dd2cf57f2a69282588ee2b0722959"
integrity sha512-RMd+c2b7WzzUjhERMpKwp8PhF2/XlHDjr/zK+Gxfp8K9sVlafPYJ5OEa/GkN6edi2rBUXRfW+41WdO6L56b6Kw== integrity sha512-jU+frqcxazsY+t5yOBf2mgrQy+WUrbrzA36if3SQB/Vwaf2qOJjnWxucNafgZZk/3+9xGmRotUeOviSOJG+wYA==
dependencies: dependencies:
"@excalidraw/markdown-to-text" "0.1.2" "@excalidraw/markdown-to-text" "0.1.2"
"@mermaid-js/parser" "^0.6.3" "@mermaid-js/parser" "^0.6.3"