Andrey Antukh a39b9766db 🐛 Guard blur-selection entity against stale text selections
Skip the PENPOT_SELECTION stamp when the selection is collapsed
or points at blocks that no longer exist: blurring the editor
rebuilds the EditorState with fresh block keys while a delayed
on-change still carries the old keys, which crashed Draft.js
reading getCharacterList of undefined and killed the workspace.

Harden the sibling helpers (removeBlurSelectionEntity,
cursorToEnd, select-all/end builders) the same way and add a
vitest suite to the draft-js package covering stale, empty,
and collapsed selections.

Closes #11667

AI-assisted-by: muse-spark-1.3-contributor
2026-10-19 15:40:13 +02:00

16 lines
234 B
Bash
Executable File

#!/usr/bin/env bash
set -ex
pnpm install;
# Fast JS package unit tests (no wasm/browser needed)
pnpm --filter @penpot/draft-js test;
# Build render wasm binary
pushd ../render-wasm;
./build
popd
pnpm run lint:scss;
pnpm run test;