From fce13ccefd350ccdca8eb59ecb896164aa6709be Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Tue, 9 Sep 2025 11:20:43 +0200 Subject: [PATCH] chore: Laxing on invariants Signed-off-by: Mark Tolmacs --- packages/excalidraw/components/App.tsx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 94ce58023..bf41c6232 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -985,10 +985,13 @@ class App extends React.Component { ); if (!this.state.multiElement) { - invariant( - this.state.selectedLinearElement?.selectedPointsIndices?.length, - "There has to be at least one selected point to trigger bind mode change at arrow point drag", - ); + if ( + !this.state.selectedLinearElement || + !this.state.selectedLinearElement.selectedPointsIndices || + !this.state.selectedLinearElement.selectedPointsIndices.length + ) { + return; + } const startDragged = this.state.selectedLinearElement.selectedPointsIndices.includes(0); @@ -6298,16 +6301,11 @@ class App extends React.Component { } } - if (this.state.multiElement) { + if (this.state.multiElement && this.state.selectedLinearElement) { const { multiElement, selectedLinearElement } = this.state; const { x: rx, y: ry, points } = multiElement; const lastPoint = points[points.length - 1]; - invariant( - selectedLinearElement, - "There must be a selected linear element instace", - ); - const { lastCommittedPoint } = selectedLinearElement; setCursorForShape(this.interactiveCanvas, this.state);