From 9ea564c81167be9feaf28fc74ee4e77201b24c67 Mon Sep 17 00:00:00 2001 From: yousefed Date: Thu, 28 May 2026 19:52:22 +0200 Subject: [PATCH 01/12] basic tests --- .pnpm-store/v11/index.db | Bin 0 -> 8192 bytes pnpm-lock.yaml | 395 +++++++++++++----- pnpm-workspace.yaml | 4 +- ...62b079035cf9613a94c981f8de2d1e2e409165.png | Bin 0 -> 2689 bytes ...9f1c2c11fad3416f5b9251115f2ae2cb760757.png | Bin 0 -> 4313 bytes tests/package.json | 10 +- ...e---hello-world------hello-universe--1.png | Bin 0 -> 4313 bytes ...ggestion-mode-add-bold-chromium-darwin.png | Bin 0 -> 1639 bytes ...ode-add-italic-to-bold-chromium-darwin.png | Bin 0 -> 1806 bytes ...stion-mode-remove-bold-chromium-darwin.png | Bin 0 -> 1592 bytes ...ggestion-mode-universe-chromium-darwin.png | Bin 0 -> 2689 bytes .../browser/y-prosemirror/basicText.test.tsx | 312 ++++++++++++++ .../fixtures/suggestionFixture.tsx | 145 +++++++ tests/vite.config.browser.ts | 46 ++ 14 files changed, 795 insertions(+), 117 deletions(-) create mode 100644 .pnpm-store/v11/index.db create mode 100644 tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png create mode 100644 tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png create mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png create mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png create mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-italic-to-bold-chromium-darwin.png create mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png create mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-universe-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/basicText.test.tsx create mode 100644 tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx create mode 100644 tests/vite.config.browser.ts diff --git a/.pnpm-store/v11/index.db b/.pnpm-store/v11/index.db new file mode 100644 index 0000000000000000000000000000000000000000..3dd0ca39ec0a4c0c393f0fd0f983253cdc41a552 GIT binary patch literal 8192 zcmeIuKMw&h7zXfOBauji&FI~bh{YFhM-vz2I2A0UC=q`nH!v71KDRr$T$t?gJZby3 zeY^BG9LQ~8XnndIbU<~MXPmPJ5o3(UGc4~|;hKu~QHjpK!ddNE$%e12+>C_-fdB*` z009U<00Izz00bZa0SNq|z@uoT3#F3vxCeT%H)p-v>5Z9hk1KQiI`F11Y$Zt9juiCO zqH>0k?97dnm?-M|ZrApw)DhF_M}MUQO^);&>UoNKBPo++g~qOGdm}}@H+Ea`eI`=R e{~eBJcu9EHftn literal 0 HcmV?d00001 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c1ca0e9ff1..dd0f9993cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,8 +8,8 @@ overrides: '@headlessui/react': ^2.2.4 '@tiptap/core': ^3.0.0 '@tiptap/pm': ^3.0.0 - vitest: 4.1.2 - '@vitest/runner': 4.1.2 + vitest: 4.1.7 + '@vitest/runner': 4.1.7 '@y/prosemirror>lib0': 1.0.0-rc.13 patchedDependencies: @@ -59,8 +59,8 @@ importers: specifier: ^5.9.3 version: 5.9.3 vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) wait-on: specifier: 9.0.5 version: 9.0.5 @@ -159,7 +159,7 @@ importers: version: 3.1.18 '@polar-sh/better-auth': specifier: ^1.6.4 - version: 1.8.3(@polar-sh/sdk@0.42.5)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))))(react-dom@19.2.5(react@19.2.5))(react-is@19.2.4)(react@19.2.5)(redux@5.0.1)(zod@4.3.6) + version: 1.8.3(@polar-sh/sdk@0.42.5)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7))(react-dom@19.2.5(react@19.2.5))(react-is@19.2.4)(react@19.2.5)(redux@5.0.1)(zod@4.3.6) '@polar-sh/sdk': specifier: ^0.42.2 version: 0.42.5 @@ -249,7 +249,7 @@ importers: version: 6.0.5(zod@4.3.6) better-auth: specifier: ~1.4.15 - version: 1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))) + version: 1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -4904,8 +4904,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/core: dependencies: @@ -5013,8 +5013,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) y-prosemirror: specifier: ^1.3.7 version: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) @@ -5205,8 +5205,8 @@ importers: specifier: ^0.10.0 version: 0.10.0(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/server-util: dependencies: @@ -5266,8 +5266,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/shadcn: dependencies: @@ -5481,8 +5481,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) '@vitest/runner': - specifier: 4.1.2 - version: 4.1.2 + specifier: 4.1.7 + version: 4.1.7 eslint: specifier: ^8.57.1 version: 8.57.1 @@ -5520,8 +5520,8 @@ importers: specifier: ^0.10.0 version: 0.10.0(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/xl-ai-server: dependencies: @@ -5584,8 +5584,8 @@ importers: specifier: ^0.10.0 version: 0.10.0(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/xl-docx-exporter: dependencies: @@ -5636,8 +5636,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) xml-formatter: specifier: ^3.6.7 version: 3.7.0 @@ -5697,8 +5697,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/xl-multi-column: dependencies: @@ -5764,8 +5764,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) packages/xl-odt-exporter: dependencies: @@ -5816,8 +5816,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) xml-formatter: specifier: ^3.6.7 version: 3.7.0 @@ -5889,8 +5889,8 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) playground: dependencies: @@ -6128,6 +6128,21 @@ importers: '@types/react-dom': specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.14) + '@vitejs/plugin-react': + specifier: ^6.0.1 + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/browser': + specifier: 4.1.7 + version: 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) + '@vitest/browser-playwright': + specifier: 4.1.7 + version: 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) + '@y/protocols': + specifier: ^1.0.6-rc.1 + version: 1.0.6-rc.1(@y/y@14.0.0-rc.16) + '@y/y': + specifier: ^14.0.0-rc.16 + version: 14.0.0-rc.16 eslint: specifier: ^8.57.1 version: 8.57.1 @@ -6153,8 +6168,11 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) vitest: - specifier: 4.1.2 - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + specifier: 4.1.7 + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + vitest-browser-react: + specifier: ^2.2.0 + version: 2.2.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7) packages: @@ -7138,6 +7156,9 @@ packages: '@better-fetch/fetch@1.1.21': resolution: {integrity: sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==} + '@blazediff/core@1.9.1': + resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==} + '@bramus/specificity@2.4.2': resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} hasBin: true @@ -11391,11 +11412,22 @@ packages: babel-plugin-react-compiler: optional: true - '@vitest/expect@4.1.2': - resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==} + '@vitest/browser-playwright@4.1.7': + resolution: {integrity: sha512-OlTlJej7YN6VwV7zJJoNeaCsctF+JXpzpZ4oBHUbrQFfIq+0KW2f07rprCLh9N/zRIZ0v4Mchn1QDDmWMUhPKw==} + peerDependencies: + playwright: '*' + vitest: 4.1.7 + + '@vitest/browser@4.1.7': + resolution: {integrity: sha512-N2JFGfXoEGVAut+kHeru9dD4BUMq/q5xDvBARNl0tUsly3m5KglLOu8VO/6MkDfOlgxXTycojkt6gBKsuyR+IQ==} + peerDependencies: + vitest: 4.1.7 + + '@vitest/expect@4.1.7': + resolution: {integrity: sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==} - '@vitest/mocker@4.1.2': - resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==} + '@vitest/mocker@4.1.7': + resolution: {integrity: sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -11405,20 +11437,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.2': - resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==} + '@vitest/pretty-format@4.1.7': + resolution: {integrity: sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==} - '@vitest/runner@4.1.2': - resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==} + '@vitest/runner@4.1.7': + resolution: {integrity: sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==} - '@vitest/snapshot@4.1.2': - resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==} + '@vitest/snapshot@4.1.7': + resolution: {integrity: sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==} - '@vitest/spy@4.1.2': - resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==} + '@vitest/spy@4.1.7': + resolution: {integrity: sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==} - '@vitest/utils@4.1.2': - resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==} + '@vitest/utils@4.1.7': + resolution: {integrity: sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==} '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -11861,7 +11893,7 @@ packages: react-dom: ^18.0.0 || ^19.0.0 solid-js: ^1.0.0 svelte: ^4.0.0 || ^5.0.0 - vitest: 4.1.2 + vitest: 4.1.7 vue: ^3.0.0 peerDependenciesMeta: '@lynx-js/react': @@ -14999,6 +15031,10 @@ packages: resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} engines: {node: '>=12.13.0'} + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -16603,21 +16639,37 @@ packages: yaml: optional: true + vitest-browser-react@2.2.0: + resolution: {integrity: sha512-oY3KM6305kwJMa6nHo92vVtkOsih7mjEf12dLKuphaF+9ywWPEc+qanIBd394SZ6m5LadVEaG6dicvvizOzmjA==} + peerDependencies: + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + vitest: 4.1.7 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + vitest-tsconfig-paths@3.4.1: resolution: {integrity: sha512-CnRpA/jcqgZfnkk0yvwFW92UmIpf03wX/wLiQBNWAcOG7nv6Sdz3GsPESAMEqbVy8kHBoWB3XeNamu6PUrFZLA==} - vitest@4.1.2: - resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==} + vitest@4.1.7: + resolution: {integrity: sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.2 - '@vitest/browser-preview': 4.1.2 - '@vitest/browser-webdriverio': 4.1.2 - '@vitest/ui': 4.1.2 + '@vitest/browser-playwright': 4.1.7 + '@vitest/browser-preview': 4.1.7 + '@vitest/browser-webdriverio': 4.1.7 + '@vitest/coverage-istanbul': 4.1.7 + '@vitest/coverage-v8': 4.1.7 + '@vitest/ui': 4.1.7 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -16634,6 +16686,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -18423,6 +18479,8 @@ snapshots: '@better-fetch/fetch@1.1.21': {} + '@blazediff/core@1.9.1': {} + '@bramus/specificity@2.4.2': dependencies: css-tree: 3.2.1 @@ -20011,11 +20069,11 @@ snapshots: dependencies: playwright: 1.51.1 - '@polar-sh/better-auth@1.8.3(@polar-sh/sdk@0.42.5)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))))(react-dom@19.2.5(react@19.2.5))(react-is@19.2.4)(react@19.2.5)(redux@5.0.1)(zod@4.3.6)': + '@polar-sh/better-auth@1.8.3(@polar-sh/sdk@0.42.5)(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7))(react-dom@19.2.5(react@19.2.5))(react-is@19.2.4)(react@19.2.5)(redux@5.0.1)(zod@4.3.6)': dependencies: '@polar-sh/checkout': 0.2.0(@stripe/react-stripe-js@4.0.2(@stripe/stripe-js@7.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@stripe/stripe-js@7.9.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.4)(react@19.2.5)(redux@5.0.1) '@polar-sh/sdk': 0.42.5 - better-auth: 1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))) + better-auth: 1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7) zod: 4.3.6 transitivePeerDependencies: - '@stripe/react-stripe-js' @@ -22883,27 +22941,121 @@ snapshots: optionalDependencies: babel-plugin-react-compiler: 1.0.0 - '@vitest/expect@4.1.2': + '@vitest/browser-playwright@4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@vitest/browser': 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + playwright: 1.51.1 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser-playwright@4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@vitest/browser': 4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + playwright: 1.51.1 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser-playwright@4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@vitest/browser': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + playwright: 1.51.1 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser@4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@blazediff/core': 1.9.1 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/utils': 4.1.7 + magic-string: 0.30.21 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser@4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@blazediff/core': 1.9.1 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/utils': 4.1.7 + magic-string: 0.30.21 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser@4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7)': + dependencies: + '@blazediff/core': 1.9.1 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/utils': 4.1.7 + magic-string: 0.30.21 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.1.0 + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/expect@4.1.7': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.2(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.2 + '@vitest/spy': 4.1.7 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.11.5(@types/node@20.19.37)(typescript@5.9.3) vite: 8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/mocker@4.1.2(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.2 + '@vitest/spy': 4.1.7 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: @@ -22911,36 +23063,36 @@ snapshots: vite: 8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3) optional: true - '@vitest/mocker@4.1.2(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.2 + '@vitest/spy': 4.1.7 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.11.5(@types/node@25.9.0)(typescript@5.9.3) vite: 8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/pretty-format@4.1.2': + '@vitest/pretty-format@4.1.7': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.2': + '@vitest/runner@4.1.7': dependencies: - '@vitest/utils': 4.1.2 + '@vitest/utils': 4.1.7 pathe: 2.0.3 - '@vitest/snapshot@4.1.2': + '@vitest/snapshot@4.1.7': dependencies: - '@vitest/pretty-format': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/pretty-format': 4.1.7 + '@vitest/utils': 4.1.7 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.2': {} + '@vitest/spy@4.1.7': {} - '@vitest/utils@4.1.2': + '@vitest/utils@4.1.7': dependencies: - '@vitest/pretty-format': 4.1.2 + '@vitest/pretty-format': 4.1.7 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -23445,7 +23597,7 @@ snapshots: baseline-browser-mapping@2.10.17: {} - better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))): + better-auth@1.4.22(better-sqlite3@12.8.0)(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(pg@8.20.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7): dependencies: '@better-auth/core': 1.4.22(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.2.2)(kysely@0.28.17)(nanostores@1.2.0) '@better-auth/telemetry': 1.4.22(@better-auth/core@1.4.22(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.2.2)(kysely@0.28.17)(nanostores@1.2.0)) @@ -23465,7 +23617,7 @@ snapshots: pg: 8.20.0 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - vitest: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) better-call@1.1.8(zod@4.3.6): dependencies: @@ -24837,7 +24989,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esutils@2.0.3: {} @@ -26422,7 +26574,7 @@ snapshots: micromark-extension-mdx-expression@3.0.1: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.3 micromark-factory-space: 2.0.1 @@ -26433,7 +26585,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.3 @@ -26450,7 +26602,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-util-character: 2.1.1 @@ -26486,7 +26638,7 @@ snapshots: micromark-factory-mdx-expression@2.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -26550,7 +26702,7 @@ snapshots: micromark-util-events-to-acorn@2.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -27307,6 +27459,8 @@ snapshots: pngjs@6.0.0: {} + pngjs@7.0.0: {} + possible-typed-array-names@1.1.0: {} postcss-selector-parser@7.1.1: @@ -27780,7 +27934,7 @@ snapshots: recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 @@ -29156,6 +29310,15 @@ snapshots: tsx: 4.21.0 yaml: 2.8.3 + vitest-browser-react@2.2.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.7): + dependencies: + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + optionalDependencies: + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + vitest-tsconfig-paths@3.4.1: dependencies: debug: 4.4.3 @@ -29165,15 +29328,15 @@ snapshots: transitivePeerDependencies: - supports-color - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@20.19.37)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -29190,19 +29353,20 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 20.19.37 + '@vitest/browser-playwright': 4.1.7(msw@2.11.5(@types/node@20.19.37)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@20.19.37)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) jsdom: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) transitivePeerDependencies: - msw - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.5.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -29219,20 +29383,21 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 25.5.0 + '@vitest/browser-playwright': 4.1.7(msw@2.11.5(@types/node@25.5.0)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@25.5.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) jsdom: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) transitivePeerDependencies: - msw optional: true - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@25.0.1(canvas@2.11.2))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -29249,19 +29414,20 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 25.9.0 + '@vitest/browser-playwright': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) jsdom: 25.0.1(canvas@2.11.2) transitivePeerDependencies: - msw - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.0)(@vitest/browser-playwright@4.1.7)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -29278,6 +29444,7 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 25.9.0 + '@vitest/browser-playwright': 4.1.7(msw@2.11.5(@types/node@25.9.0)(typescript@5.9.3))(playwright@1.51.1)(vite@8.0.8(@types/node@25.9.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.7) jsdom: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) transitivePeerDependencies: - msw diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1f6cd63d35..2a5eb50b3c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -17,8 +17,8 @@ overrides: "@headlessui/react": "^2.2.4" "@tiptap/core": "^3.0.0" "@tiptap/pm": "^3.0.0" - "vitest": "4.1.2" - "@vitest/runner": "4.1.2" + "vitest": "4.1.7" + "@vitest/runner": "4.1.7" "@y/prosemirror>lib0": "1.0.0-rc.13" allowBuilds: "@parcel/watcher": true diff --git a/tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png b/tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png new file mode 100644 index 0000000000000000000000000000000000000000..16ddf2305c941713d05d0aea69dbcbdcb4175aee GIT binary patch literal 2689 zcmb`JdpOf?AIEk0sidMbqdA0-A2D-^**dIj)Kq?Ca!kw6rbcp{kTPteBIi{OsWgS= zkh5uWHW48tMM;h1%yaK~p6mJN`RBQw>-W8`@Avv%*L`1~@ArP+@AvC-(@)_own@lK zh>3}9!(lOJ#KhK}1n-uc#laIDA>Jq^CV|Ca4*wOf?t5(*>Fw+WzVOSJ&}&nawyp%z zG{iRY_ zw#?qw@d~qbFntDJvOF-iv``l+_wYAvF@iQ1gv{qv?^RLZKrtAeVPtf4=|w4N>35PU zDj!o1V=#`0=;&x~acSu*t;%4M-2X9Yutqq__w@4mXa_^n(sOgwVOOtSecRJR)iCuN zml_J4Q&=k|88mffS(GJgl|68I{-+ye)dgA}-qd8-mVU7QSzdnrrc9K?^LJP>a2`+vG`jyu6MLXDr!h={&~%*Dnzb& zsGZTvWe^GWNm2D&GVC=JM#n^8RKnpmvzg58AtgYk&%&|ogM#cz_&dCt9JR{RgT>z_k&tQf?C6Q_!%3Ui6$;N4(?b+jY6+2-`P_Z zvY=0^X78c%M>not$I*bqCZwjuG=6WiGVbi?sIgEA#kjkxt}M-YG{o$_aPi{D`H4qt z`&a%t3IGlOQN-+*eqAQ#%~4HcszbPQ^Cw%N+OEna&-(CDkQlbwG?OQ-J|DPBlhI!)4*@fN_r~-5tTu+D*IvE5h3%Je@_is z(P*f%9LJG&E@2I)U0hi2zKzv{Z$Pds&)leYgXlQ$Htaywq#yK+=8uN_tle~}_j&ju zHcj5RZba|Fsc2y2i>;{*wUL|Tj43du-LkSa&dzuoZc7qTIMa^q>g#(`zXRO@Y~5EC zYUbUOzgJZ?a`4r)q5$D}?xns6{%CEdKybv?cDIg>PC7F1c3T@BR0hWUV=E;7-aY;v zpNhl5!Dh|(bopE|7}+2$>Dv9owqk8{DGmycuz7@k;WLDyQmH0Ezcl+xd^}oH4KG}{ z@H}{q0?~DDNzys@b0H*p;DF>H&&JyPSbL_qaA^g(@afLm?(Pv2|4ArN)?>WmLGjC% zodquF;|%$R7w-Jh6yQq)u}MZBfq=h0WpCdIG&vZ$XyD{j5ddr~51h3yKguGMP!z%s zT~{;@dQKTMHKGh)O<*SBH84Ebp%8aT zIXSsF1+%2`a#M~W^%E9mXlQ5xwrRh%HV;~#X&#(x;JFhN2Q^;D$<=p1J?lv#DNp3w zbFTX`Gtyh;s{thY%g(OQtzJAeHPs|+70C{n-r^FrVpthG_qi@=D;WGZ8-%m68h!iN zhIbx*oC$j~*;jN0+_!Ld)TK9XBzb$gwaw_-6mdMUZUmN+S;lGRysSJJBOQIS~1br*H1Pg%PZ05 z_kzEH9i-mq>9K2SYQmZZPOCjVTacTdFDXi$$nuGaiOBik$P;W-28h&u)srsE2$=XR zzD=Gt%0jpG`&73M!ATv;DhZpNj;TmbPfwR-R#YHq^CO#R%R-A>e1@eq#C<}LV_;;Y z?>}h|n;Y=m@ue+8H392NfB+~Tv9p6PfhjtAd$DJHeGw&3N=uX9IR`U9mBruRn=9u& z#JcmMrB7rcQ|P-is5<@JvJ@cnPC8~>YbU+K*5BV~Y-~(~QlF}Yo5x}y!i6tv#ChIk zb?eL)9(@=1VY%|M(^sq7B61+#2KeI+pvf`tn{{81)A)+Parazka(q=5@(6`;py*=j z!?3kgkvBl-eV@j}#E8heOZ|lMZ1QC8Pk4JtWpUG6urlUA+7;zy1S*G4W2`AQ}n=gJuV=t!8( zKU=A#0MU+&9Qwg$073`^0=?J6(Z{nU-@lB_4nX3SrG|sfzkoh|{8$Y@x$BX&5{9zL z`BQb!+*IojkpQW6jSq7GG%T|lstPT$*%*14(_P}@f|>Gj{>1z_p2ebSSXo3y}>v*2ube(X3L94*Cg$M6`=5!Z-+0OzI=)c^nh literal 0 HcmV?d00001 diff --git a/tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png b/tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png new file mode 100644 index 0000000000000000000000000000000000000000..8f82524878e2f0ad14a0266363a92801b73349eb GIT binary patch literal 4313 zcmeI0`BRfg9>#I3)twoUo%LWH1$NgG5rm8)1dyXqg+B8S{^8%P3%aEE{aLI_E=**{@^UAnsJt@rJ>`t5$cpXceS z_sKslBlN%d{u@0#J^hQnUbv#Cw+pGK_f_8?zXDHk?laTDWmn`C#7}yRo?~-*dVfm4 zc;QD>Y_3cg{Fr)M(zZf0MYe^e9d;|$Z?>hstwLRIA51jM39WIuZb|Ui{RdWXmdCYc zx4yId^Uy17z+lqh&Z?G6==N7dEhSfj@1&&IXQW%}4EOHwP*n5XSGy{EXNI`GN-1s+ zZ+vDP5oj(L8~gUJ*QG98y$Pr|vi*1Tkt_!q91=Y};ijFRfOx8+f`UoNPcTiG$&2xe z*Q{A)6_k|BX_R8|@&kYFnBhL6}>oGEtMfm;#QZ~aw~oiqoTsd<}M0}?A~qQ*cZ-{{2~|}JQq4z6_M3; zEV9cD#*G^G3CfH8{6x~0>d%grH9n9xE--LVCs?y~x!E9z{`^cpYgSM`esiwaKX&q= zH1(*oB%i!Fmz|w`#5%B?J<*b6=#Q6DU;aY*-sbM$3@u(1P8u%vv9Yl+^u5<~BGdQH zji&own)HLF#V^xwT2L(@eIbuWrp2w}r_vCK^lOb#a~ms?w&Wv<&q=V$+2?{go}Hpl zDDlyCx6cJDU_WTD(#Mx^?szRA#Z!!z7lrR`ePfq4LfG}I|h^N!4d!5ybT%}0e?*^k7J8fp5!-BC`%T#|> zs83v+rmx`V%+o&o0>O22>h{|LfdFW|tX0cR;9=uQFy2O+N&K@*g~P+c?4`z#cmMf% zpa{vHFD(NEc^+&r4V)IgNXL=ieSI>trrTD?j&ad$NcgJh9J<+bPaa!LR_6Oj2|s%cG~-)2LJ`m#8#8 zd+S#`(`di*#suB013sB$9kl(SH*dZGk?iJPrI(hLf>{jCFIF)_M#xHGjC7@#Mkb6f zFiG@SDb+i}5^al{9|V%$`|$Jxz_nA7>Y@dlLwwD;g;)7=2i)CED-2D$ndEtGD~c2Z3VTBSIg>*0@lYPdntZnqoa0F zvwbPT`T2P;`s0H=)EEQ1iGPJlS}~E`Hq8n8>e-j6Dd(5!Gcq##$*S7`rqGZOwlo7h z-IX;kI2bj6gj3sKn8wxI$R2w+N6`UU*xnt()?px~k-52ff`N&1jt(I&*jYLHUK5$%67#6)@Mv>NysYu%o_a)rJOq(GZ7aZw*WUS)rLByN~{=Oex8 z!QM)E;POP12@nU6L|Xq8R99P@Y~rE?R@<(T$3ZY<8;H2Ev9V6~&cl}1Q6LQtwt%8* zK&E8E{DHluD@pGke+OK$HqrDTMi5*KfM%N|f(+GlS@$}wygx8vikd{ zg8`xnJ5=hK>iDHS4Poqa(3MZth~kvOgoFfOa3+HhrqKCea5x;zInLBQ-|^=A$0>&{ zgPTupZcF98t;t7f2y635Ul9m};DI70lW7BoyVIPxBn~(%-gH`_c_e&Ym=NS>rDvHJ zv#w58nDt>`PCf%{xiDHC0BYX@+*VOocza`cQlnOiXWNgbI!1h?yJq?kf>jzFh#b+% zsTa-Lj_I^w?>lB!#W{a(;w@OBAD2Llk%P?v@SGG~*5K^ePT_``eDuKDrTiholGHMl#grYK}5 zQ9(mPLr`zN6ei2b&UVmV?Tg>iZu0}I-W(s&y#-rXRVwy_gHkiS53FqTX?qfVG%yD{ zEEEP8=do_FEbBy_s*L=gy~DZvV2-yXboP0^_F}_x}q6p+%km literal 0 HcmV?d00001 diff --git a/tests/package.json b/tests/package.json index ea7da9e138..a276b22593 100644 --- a/tests/package.json +++ b/tests/package.json @@ -7,6 +7,8 @@ "lint": "eslint src --max-warnings 0", "playwright": "playwright test", "test": "vitest --run", + "test:browser": "vitest --run --config ./vite.config.browser.ts", + "test:browser:updateSnaps": "vitest --run --config ./vite.config.browser.ts -u", "test:updateSnaps": "docker run --rm -e RUN_IN_DOCKER=true --network host -v $(pwd)/..:/work/ -w /work/tests -it mcr.microsoft.com/playwright:v1.51.1-noble npx playwright test -u", "test-ct": "playwright test -c playwright-ct.config.ts --headed", "test-ct:updateSnaps": "docker run --rm -e RUN_IN_DOCKER=true --network host -v $(pwd)/..:/work/ -w /work/tests -it mcr.microsoft.com/playwright:v1.51.1-noble npx playwright test -c playwright-ct.config.ts -u", @@ -24,6 +26,11 @@ "@types/node": "^20.19.22", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "@vitest/browser": "4.1.7", + "@vitest/browser-playwright": "4.1.7", + "@y/protocols": "^1.0.6-rc.1", + "@y/y": "^14.0.0-rc.16", "eslint": "^8.57.1", "htmlfy": "^0.6.7", "react": "^19.2.5", @@ -32,7 +39,8 @@ "rimraf": "^5.0.10", "vite": "^8.0.8", "vite-plugin-eslint": "^1.8.1", - "vitest": "^4.1.2" + "vitest": "4.1.7", + "vitest-browser-react": "^2.2.0" }, "eslintConfig": { "extends": [ diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png new file mode 100644 index 0000000000000000000000000000000000000000..8f82524878e2f0ad14a0266363a92801b73349eb GIT binary patch literal 4313 zcmeI0`BRfg9>#I3)twoUo%LWH1$NgG5rm8)1dyXqg+B8S{^8%P3%aEE{aLI_E=**{@^UAnsJt@rJ>`t5$cpXceS z_sKslBlN%d{u@0#J^hQnUbv#Cw+pGK_f_8?zXDHk?laTDWmn`C#7}yRo?~-*dVfm4 zc;QD>Y_3cg{Fr)M(zZf0MYe^e9d;|$Z?>hstwLRIA51jM39WIuZb|Ui{RdWXmdCYc zx4yId^Uy17z+lqh&Z?G6==N7dEhSfj@1&&IXQW%}4EOHwP*n5XSGy{EXNI`GN-1s+ zZ+vDP5oj(L8~gUJ*QG98y$Pr|vi*1Tkt_!q91=Y};ijFRfOx8+f`UoNPcTiG$&2xe z*Q{A)6_k|BX_R8|@&kYFnBhL6}>oGEtMfm;#QZ~aw~oiqoTsd<}M0}?A~qQ*cZ-{{2~|}JQq4z6_M3; zEV9cD#*G^G3CfH8{6x~0>d%grH9n9xE--LVCs?y~x!E9z{`^cpYgSM`esiwaKX&q= zH1(*oB%i!Fmz|w`#5%B?J<*b6=#Q6DU;aY*-sbM$3@u(1P8u%vv9Yl+^u5<~BGdQH zji&own)HLF#V^xwT2L(@eIbuWrp2w}r_vCK^lOb#a~ms?w&Wv<&q=V$+2?{go}Hpl zDDlyCx6cJDU_WTD(#Mx^?szRA#Z!!z7lrR`ePfq4LfG}I|h^N!4d!5ybT%}0e?*^k7J8fp5!-BC`%T#|> zs83v+rmx`V%+o&o0>O22>h{|LfdFW|tX0cR;9=uQFy2O+N&K@*g~P+c?4`z#cmMf% zpa{vHFD(NEc^+&r4V)IgNXL=ieSI>trrTD?j&ad$NcgJh9J<+bPaa!LR_6Oj2|s%cG~-)2LJ`m#8#8 zd+S#`(`di*#suB013sB$9kl(SH*dZGk?iJPrI(hLf>{jCFIF)_M#xHGjC7@#Mkb6f zFiG@SDb+i}5^al{9|V%$`|$Jxz_nA7>Y@dlLwwD;g;)7=2i)CED-2D$ndEtGD~c2Z3VTBSIg>*0@lYPdntZnqoa0F zvwbPT`T2P;`s0H=)EEQ1iGPJlS}~E`Hq8n8>e-j6Dd(5!Gcq##$*S7`rqGZOwlo7h z-IX;kI2bj6gj3sKn8wxI$R2w+N6`UU*xnt()?px~k-52ff`N&1jt(I&*jYLHUK5$%67#6)@Mv>NysYu%o_a)rJOq(GZ7aZw*WUS)rLByN~{=Oex8 z!QM)E;POP12@nU6L|Xq8R99P@Y~rE?R@<(T$3ZY<8;H2Ev9V6~&cl}1Q6LQtwt%8* zK&E8E{DHluD@pGke+OK$HqrDTMi5*KfM%N|f(+GlS@$}wygx8vikd{ zg8`xnJ5=hK>iDHS4Poqa(3MZth~kvOgoFfOa3+HhrqKCea5x;zInLBQ-|^=A$0>&{ zgPTupZcF98t;t7f2y635Ul9m};DI70lW7BoyVIPxBn~(%-gH`_c_e&Ym=NS>rDvHJ zv#w58nDt>`PCf%{xiDHC0BYX@+*VOocza`cQlnOiXWNgbI!1h?yJq?kf>jzFh#b+% zsTa-Lj_I^w?>lB!#W{a(;w@OBAD2Llk%P?v@SGG~*5K^ePT_``eDuKDrTiholGHMl#grYK}5 zQ9(mPLr`zN6ei2b&UVmV?Tg>iZu0}I-W(s&y#-rXRVwy_gHkiS53FqTX?qfVG%yD{ zEEEP8=do_FEbBy_s*L=gy~DZvV2-yXboP0^_F}_x}q6p+%km literal 0 HcmV?d00001 diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..f645bc8552003c15a3a19e848faecbe5d2888736 GIT binary patch literal 1639 zcmdT_`B&0e6h~7=9c`p?(#$27)Uo46H4ZMM5-EjglY2`QYK+;MagI;uJg4sf5QASzr6Rk=brbupLgHqo|oa{eM(E? zfCdNz((>{|oCATB&;UlMfq@lH1B*Z)u#FeO?RY>P&x``gp$^kb<2fc}?2V7WNmx7Q?Bt@B-9o&~}L zg8e-CR4Nlc-Vi%7JUl#hF{F!739&Fe9gOQtzD?gS6j*9&f-grzNHHp@ZW9v|#5Ygk zbJo_bZ$%at7qi*yDT(0L#^6H?X9usy#B|YT`)r4iOU%x_w~-2+M*nO{x0Liw?g;;P zGuxvML>UMg|6-%AN6)uhLrRJg5K%3D%sOOZ8gb-)w=l=(7wVQXAZ2;^8pFT|i9~`M z3T%U;X9o4UBzC>Jak7b?iRK7J@WR3Z`@w^I98S*Q;29JOCF<+Lv+IK%|E*XGzY-Bq zFK!^8%vrNLGo>bhXBECiC=A4EY^{LrnH5HD^Zg?FAQdXKtRCN@ur*TlH-zz zC-Js9M({8p!vM=m$nENK=izKqW8>qw)a_)TG3e{pVIN*`P9c!#c;=<3sOs9<%=UIz zbaZqpQKH=N=~L8h16cP^nNu4{3br^~URhhKAtdQ~$HYL##>Prvv6;YWE_o>ob^7$Y zOcu&MVSK}Sp9UlYF}JYL^<_g5gRQTxH#0Z4r*0(ym)L0qj#CgRZjo=U$9tDLx)BJb zseTv?H%Sq_wJQA~9hR_Y%)vdq$fv2+1vY0!ylMa%DX>FbeccM-yc%dFN&k9;-vvCj zU~F`>t1f_BXiosUxVW4tKAQ3RH8wCXPlz#IzA^RevqA(P3i z?)S89alB`&{QTam{kC+3NtysZGgP+2%jR%|emI;riDaL+^6^lvCvkSj04(mHIE99W zPS4Il{f{1~YHrrKGkhvE)Z8iV<6Sme4Wg$<&@)eRHG)@GSC77Zn=?Qj?%5Y%`GeE32w}{ryE%rwbC6=O7I{ zo->vqosuVrhK71sWo5SkI&g_A1qOdHGUDcJXkluaIz1hNP3|=MR{4EXQ0O76U~vJ$sLs{d<^caK#594JPm!u$IA92u$fY)ye>K}pHLi<-0QH{Dx1DCFbFUhOie|3u=rTk%a`X}DQn$n z>U#lG^Zk5$Zal20pjl%Yh-=H2vB1prB2g%fn3=(QH8r;9HIBR&8Q2Awfd1^_q>IcZlHi8@G z2!S?bH;Sm}Lc0`dzf``Hq%JCwHW*CiK14`}9s4v@8|XTzMtnwIf(JnP}5d} zKp-0EeJDQ&WX*mMd#fme6?sWn1c4~Gp;4~>raFuoogd-uvlTQPLtql-w|0CRBdFgEcR(2J-+G)49sbtIS{=QGM%>~Nj7 zFJvonoFHT79Brjzw1_r3c|Pg<%4ItJs5PBV-;)ReoBuKpLJnfF?lCboDZB>{?o?K? zT&Pqh5{a~kr7kUGe*JppVL`!1$?TZi#L{x8h2urvM^IOE2@KRKD=XW1m(ORse;=d( z(nHO;dl#{X4<9Cu_qdvxnhqbp;l5w{ozB3gwt|0Ze8aMRg#X=I!BBa74 zICwjk%O$hD5IW&s2O37?FY=n2e1n3614~Y7WEk!zjJ$i?RT-1~_N|Ppu!$8Y6wYz2Q9$(1e(w zW=)kOHzf;vwQoSc*3PHVL;dy4O{~OVLTNkM8by zX0huCKU9>aXKQD-0h-((67_s|oee|A=kWPvYHDgc9o8*m8#jBVYS*@MeNsF*rKP3C z=f;lNMRkeV3xic{?d>;?BbYB2rawEzFFNdv9eFv4P@qsKQ&Usxffop}6`0Y_-Bqkh zmlUdLE6r~oV2QA`nrMa)()-MU+S=MWH#53D;mQ?d9p?+8Z2RcBmf;r8d?wh~Vi6)@ zg3cc9?us!VntH>p^{@X0mOMEm$;i$Y-?TnX{yL!AQH0}gIEj6Ig!i4Dm9!OSK-`Zr zBY!A4)0TaAI638B9HJ;4DGc(^U4``F!-uCLBEpsz=NT}^^p{zd_*Ha?P{j}j*vXc= z9wRbA)(d?YRQmR94fEEmTOx@h9|>BMmlpPn$zKfBq-^x}_kSam3b{U6+w7xY>$aHn z$OPx+swKeH;h3cblESWlqI+d!nRRuZuX?Stw6vxsfJajwr4M+#9cjSW+X6v$@Y5(w zItotT*Qc)7#n7@L&x~jR>tA*}!kd_w^tKfQEH(msE6EdZb8~Yg9b|kHz=vgbT6+nN z!5EG&FU7&HtJs7$*AQWS6At+53wMf((+(P=f`YUYl{M~`m)`*N5$DFk8pUFkQ=HxW z{5-fUJ1i}k&V_}A-_QzubK6zvi%d|@vI&1z8Do^1n)(f_=CF(6#zumK?F8E!%P1+g@U)i%&hO=q#tuC8m6l9DdF>8(B@!~KB!sw#v6IJy@oLC}_SfIE-RPe&3S zZ^PzeYKbt^PU4+zq~1zy_9~P^5U0(0H z+|NWV_l&6}xm6U2R}w!zTeMtFiFd%^?doti;r0J87{xd9_k0kO4$;6r2SIyaP(^N` Gm;M56C1MW% literal 0 HcmV?d00001 diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce6528cf3c1391e67ceb0fb28589d3a0cfcee9c GIT binary patch literal 1592 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/basicText.test.tsx b/tests/src/browser/y-prosemirror/basicText.test.tsx new file mode 100644 index 0000000000..a9ac29aa14 --- /dev/null +++ b/tests/src/browser/y-prosemirror/basicText.test.tsx @@ -0,0 +1,312 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for suggestion-mode editing. Each test + * sets up a fresh editor + base/suggestion Y.Doc pair via + * `setupSuggestionTest()`, applies an edit in suggestion mode, and + * captures a screenshot plus inline XML snapshots of both Y.Docs and + * the ProseMirror document. The PM doc is where the suggestion marks + * live – the Y.Docs only carry the content of the different branches. + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + waitForSuggestion, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Pure text edit: replace one word with another and confirm the diff +// is rendered as inline / spans around the changed letters. +test("suggestion mode: 'hello world' -> 'hello universe'", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest(); + + // 1. Set the base doc to "hello world". The block id is pinned so the + // snapshots stay deterministic. + editor.replaceBlocks(editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + + // 2. Replay base updates into the suggestion doc so both docs start + // from the same state. + sync(); + + await expect.element(screen.getByText("hello world")).toBeVisible(); + + // 3. Subsequent edits are recorded as suggestions instead of mutating + // the doc directly. + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + // 4. Replace "world" with "universe" via updateBlock. + const [block] = editor.document; + editor.updateBlock(block, { type: "paragraph", content: "hello universe" }); + + // Wait for the suggestion edit to land in the DOM (React commits the + // re-render on the next frame; without this the screenshot can race + // the update). "unive" only exists once "world" -> "universe" has + // been split into / spans, so this is a precise sentinel. + await expect.element(screen.getByText("unive")).toBeVisible(); + + // 5a. Visual snapshot of the rendered editor. + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "suggestion-mode-universe", + ); + + // 5b. Y.Doc XML – just the merged textual state; suggestion marks + // don't live here. + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello universe + + " + `); + + // 5c. ProseMirror XML – this is where the suggestion marks + // (`y-attributed-insert` / `y-attributed-delete`) live. + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + hello + wo + unive + r + ld + se + + + + " + `); +}); + +// TODO: format-only suggestions have no visual marker in the rendered +// editor – the screenshot for this test shows "hello **world**" with +// no indication that the bold is a *pending* suggestion. Only +// `y-attributed-insert` / `y-attributed-delete` have a `toDOM` in +// SuggestionMarks.ts; `y-attributed-format` does not. Decide whether +// this is intentional (formats considered "trivial") or a UX gap. +// +// Format-only addition: text content stays the same but a style mark +// (bold) is added on top. Surfaces how suggestions track pure format +// changes (currently `y-attributed-format`, with no visual marker). +test("suggestion mode: add bold to 'world'", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest(); + + // Base: plain "hello world". + editor.replaceBlocks(editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + sync(); + await expect.element(screen.getByText("hello world")).toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + // Suggestion edit: bold the word "world" (content text is unchanged, + // only the style differs). + const [block] = editor.document; + editor.updateBlock(block, { + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { bold: true } }, + ], + }); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "suggestion-mode-add-bold", + ); + + // TODO: the base and suggestion YDoc XML snapshots below are + // identical even though one represents the "before bold" state and + // the other the "after bold" state. `Y.XmlFragment.toString()` only + // serialises element/text structure – marks and attribution data + // live elsewhere and don't surface here. Consider a richer YDoc + // serializer that includes formatting + attribution metadata so + // these snapshots actually differ. + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + hello + + world + + + + + " + `); +}); + +// Format-only removal: bold mark is stripped from an already-styled +// word, text content unchanged. Mirror of the add-bold case to check +// removal is handled symmetrically. +test("suggestion mode: remove bold from 'world'", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest(); + + // Base: "hello " + bold "world". + editor.replaceBlocks(editor.document, [ + { + id: "block-hello", + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { bold: true } }, + ], + }, + ]); + sync(); + await expect.element(screen.getByText("world")).toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + // Suggestion edit: strip bold from "world". + const [block] = editor.document; + editor.updateBlock(block, { + type: "paragraph", + content: "hello world", + }); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "suggestion-mode-remove-bold", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + hello + world + + + + " + `); +}); + +// TODO: the snapshot below reveals that `y-attributed-format` wraps +// *all* marks on the affected range, not just the newly added one. +// The PM XML shows +// world +// so from the attribution data alone we can't tell which mark is new +// (italic) and which is pre-existing (bold). If accept/reject logic +// needs to revert only the new mark, this granularity is insufficient. +// +// Format added on top of an existing format: bold "world" gets italic +// layered on (bold is preserved). Checks that suggestion attribution +// is recorded only for the new mark, not the pre-existing one. +test("suggestion mode: add italic to already-bold 'world'", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest(); + + // Base: "hello " + bold "world". + editor.replaceBlocks(editor.document, [ + { + id: "block-hello", + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { bold: true } }, + ], + }, + ]); + sync(); + await expect.element(screen.getByText("world")).toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + // Suggestion edit: add italic to "world" while keeping it bold. + const [block] = editor.document; + editor.updateBlock(block, { + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { bold: true, italic: true } }, + ], + }); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "suggestion-mode-add-italic-to-bold", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + hello + + + world + + + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx new file mode 100644 index 0000000000..e32da7623a --- /dev/null +++ b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx @@ -0,0 +1,145 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Shared fixture for browser-mode suggestion tests. + * + * Mounts a single BlockNote editor bound to an in-memory `baseDoc`, + * with a second in-memory `suggestionDoc` set up as the diff target. + * The provider/yhub round-trip is replaced by a manual `sync()`. + */ +import "@blocknote/core/fonts/inter.css"; +import "@blocknote/mantine/style.css"; + +import { BlockNoteEditor } from "@blocknote/core"; +import { withCollaboration } from "@blocknote/core/y"; +import { BlockNoteView } from "@blocknote/mantine"; +import { useCreateBlockNote } from "@blocknote/react"; +import { Node as PMNode } from "@tiptap/pm/model"; +import { Awareness } from "@y/protocols/awareness"; +import * as Y from "@y/y"; +import { prettify } from "htmlfy"; +import { expect } from "vitest"; +import { render } from "vitest-browser-react"; + +export interface SuggestionFixture { + editor: BlockNoteEditor; + screen: Awaited>; + baseDoc: Y.Doc; + suggestionDoc: Y.Doc; + /** Replay updates from `baseDoc` into `suggestionDoc`. */ + sync: () => void; +} + +export async function setupSuggestionTest(): Promise { + const baseDoc = new Y.Doc(); + const baseAwareness = new Awareness(baseDoc); + baseAwareness.setLocalStateField("user", { + name: "Author", + color: "#30bced", + }); + + const suggestionDoc = new Y.Doc({ isSuggestionDoc: true }); + const attributionManager = Y.createAttributionManagerFromDiff( + baseDoc, + suggestionDoc, + { attrs: new Y.Attributions() }, + ); + attributionManager.suggestionMode = true; + + let editor!: BlockNoteEditor; + function Editor() { + editor = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: baseAwareness }, + suggestionDoc, + attributionManager, + user: { name: "Author", color: "#30bced" }, + }, + }), + ); + return ( +
+ +
+ ); + } + + const screen = await render(); + + return { + editor, + screen, + baseDoc, + suggestionDoc, + sync: () => Y.applyUpdate(suggestionDoc, Y.encodeStateAsUpdate(baseDoc)), + }; +} + +/** + * Wait until any suggestion mark (`y-attributed-insert` / + * `y-attributed-delete`) is present in the editor's PM doc. Use this + * after a suggestion-mode edit before snapshotting/screenshotting – + * the PM transaction is sync but the React/DOM commit is not. + * + * For tests whose edit changes visible text, prefer waiting on the + * inserted text via `expect.element(getByText(...))` – it's more + * meaningful. + */ +export async function waitForSuggestion( + editor: BlockNoteEditor, +): Promise { + await expect + .poll(() => editor.prosemirrorState.doc.toString().includes("y-attributed")) + .toBe(true); +} + +/** Pretty-print a Y.Doc's `doc` XmlFragment for an inline snapshot. */ +export function ydocXml(doc: Y.Doc): string { + return prettify(doc.get("doc").toString(), { tag_wrap: true }); +} + +/** + * Pretty-print the editor's ProseMirror doc for an inline snapshot. + * + * We walk the node tree directly rather than going through + * `DOMSerializer` (BlockNote's `renderHTML` adds CSS scaffolding that + * we don't want in snapshots) or `Node.toString()` (drops attrs, so + * block ids and suggestion-mark colors would disappear). + */ +export function editorHtml(editor: BlockNoteEditor): string { + return prettify(pmNodeToXml(editor.prosemirrorState.doc), { + tag_wrap: true, + }); +} + +function pmNodeToXml(node: PMNode): string { + if (node.isText) { + let out = escapeXml(node.text ?? ""); + // PM stores marks outermost-first; wrap innermost-first to preserve order. + for (const mark of node.marks) { + out = `<${mark.type.name}${formatAttrs(mark.attrs)}>${out}`; + } + return out; + } + let inner = ""; + node.content.forEach((child) => { + inner += pmNodeToXml(child); + }); + return `<${node.type.name}${formatAttrs(node.attrs)}>${inner}`; +} + +function formatAttrs(attrs: Record): string { + return Object.entries(attrs) + .filter(([, v]) => v !== null && v !== undefined) + .map(([k, v]) => ` ${k}="${escapeXml(String(v))}"`) + .join(""); +} + +function escapeXml(text: string): string { + return text + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """); +} diff --git a/tests/vite.config.browser.ts b/tests/vite.config.browser.ts new file mode 100644 index 0000000000..037fb8217a --- /dev/null +++ b/tests/vite.config.browser.ts @@ -0,0 +1,46 @@ +import react from "@vitejs/plugin-react"; +import * as path from "path"; +import { defineConfig } from "vite"; +import { playwright } from "@vitest/browser-playwright"; + +// Vitest browser mode config – runs tests in real Chromium via Playwright. +// Run with: pnpm test:browser (from /tests) +export default defineConfig((conf) => ({ + plugins: [react()], + test: { + include: ["./src/browser/**/*.test.ts", "./src/browser/**/*.test.tsx"], + browser: { + enabled: true, + provider: playwright(), + headless: true, + instances: [{ browser: "chromium" }], + // toMatchScreenshot defaults – be lenient since BlockNote renders + // include things like blinking cursors / awareness markers. + expect: { + toMatchScreenshot: { + comparatorName: "pixelmatch", + comparatorOptions: { + threshold: 0.2, + allowedMismatchedPixelRatio: 0.02, + }, + }, + }, + }, + }, + resolve: { + alias: + conf.command === "build" + ? ({ + "@shared": path.resolve(__dirname, "../shared/"), + } as Record) + : ({ + "@shared": path.resolve(__dirname, "../shared/"), + // load live from sources with live reload working + "@blocknote/core": path.resolve(__dirname, "../packages/core/src/"), + "@blocknote/react": path.resolve( + __dirname, + "../packages/react/src/", + ), + } as Record), + }, +})); From 0ad6fc9594e37d96ab8d949be6d1223441b03c5a Mon Sep 17 00:00:00 2001 From: yousefed Date: Thu, 28 May 2026 19:52:26 +0200 Subject: [PATCH 02/12] basic tests --- ...62b079035cf9613a94c981f8de2d1e2e409165.png | Bin 2689 -> 0 bytes ...9f1c2c11fad3416f5b9251115f2ae2cb760757.png | Bin 4313 -> 0 bytes ...e---hello-world------hello-universe--1.png | Bin 4313 -> 0 bytes ...ggestion-mode-add-bold-chromium-darwin.png | Bin 1639 -> 0 bytes ...ode-add-italic-to-bold-chromium-darwin.png | Bin 1806 -> 0 bytes ...stion-mode-remove-bold-chromium-darwin.png | Bin 1592 -> 0 bytes ...ggestion-mode-universe-chromium-darwin.png | Bin 2689 -> 0 bytes ...current-bold-vs-italic-chromium-darwin.png | Bin 0 -> 10914 bytes ...ent-typo-fix-vs-delete-chromium-darwin.png | Bin 0 -> 10597 bytes ...ggestion-mode-add-bold-chromium-darwin.png | Bin 0 -> 7086 bytes ...ode-add-italic-to-bold-chromium-darwin.png | Bin 0 -> 8444 bytes ...stion-mode-remove-bold-chromium-darwin.png | Bin 0 -> 7355 bytes ...ggestion-mode-universe-chromium-darwin.png | Bin 0 -> 8884 bytes .../basicText.concurrent.test.tsx | 250 ++++++++++++++++++ .../browser/y-prosemirror/basicText.test.tsx | 30 ++- .../fixtures/concurrentSuggestionFixture.tsx | 242 +++++++++++++++++ .../fixtures/suggestionFixture.tsx | 75 +++++- 17 files changed, 576 insertions(+), 21 deletions(-) delete mode 100644 tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png delete mode 100644 tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png delete mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png delete mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png delete mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-italic-to-bold-chromium-darwin.png delete mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png delete mode 100644 tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-universe-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.concurrent.test.tsx/concurrent-bold-vs-italic-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.concurrent.test.tsx/concurrent-typo-fix-vs-delete-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-bold-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-italic-to-bold-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-universe-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx create mode 100644 tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx diff --git a/tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png b/tests/.vitest-attachments/4062b079035cf9613a94c981f8de2d1e2e409165.png deleted file mode 100644 index 16ddf2305c941713d05d0aea69dbcbdcb4175aee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2689 zcmb`JdpOf?AIEk0sidMbqdA0-A2D-^**dIj)Kq?Ca!kw6rbcp{kTPteBIi{OsWgS= zkh5uWHW48tMM;h1%yaK~p6mJN`RBQw>-W8`@Avv%*L`1~@ArP+@AvC-(@)_own@lK zh>3}9!(lOJ#KhK}1n-uc#laIDA>Jq^CV|Ca4*wOf?t5(*>Fw+WzVOSJ&}&nawyp%z zG{iRY_ zw#?qw@d~qbFntDJvOF-iv``l+_wYAvF@iQ1gv{qv?^RLZKrtAeVPtf4=|w4N>35PU zDj!o1V=#`0=;&x~acSu*t;%4M-2X9Yutqq__w@4mXa_^n(sOgwVOOtSecRJR)iCuN zml_J4Q&=k|88mffS(GJgl|68I{-+ye)dgA}-qd8-mVU7QSzdnrrc9K?^LJP>a2`+vG`jyu6MLXDr!h={&~%*Dnzb& zsGZTvWe^GWNm2D&GVC=JM#n^8RKnpmvzg58AtgYk&%&|ogM#cz_&dCt9JR{RgT>z_k&tQf?C6Q_!%3Ui6$;N4(?b+jY6+2-`P_Z zvY=0^X78c%M>not$I*bqCZwjuG=6WiGVbi?sIgEA#kjkxt}M-YG{o$_aPi{D`H4qt z`&a%t3IGlOQN-+*eqAQ#%~4HcszbPQ^Cw%N+OEna&-(CDkQlbwG?OQ-J|DPBlhI!)4*@fN_r~-5tTu+D*IvE5h3%Je@_is z(P*f%9LJG&E@2I)U0hi2zKzv{Z$Pds&)leYgXlQ$Htaywq#yK+=8uN_tle~}_j&ju zHcj5RZba|Fsc2y2i>;{*wUL|Tj43du-LkSa&dzuoZc7qTIMa^q>g#(`zXRO@Y~5EC zYUbUOzgJZ?a`4r)q5$D}?xns6{%CEdKybv?cDIg>PC7F1c3T@BR0hWUV=E;7-aY;v zpNhl5!Dh|(bopE|7}+2$>Dv9owqk8{DGmycuz7@k;WLDyQmH0Ezcl+xd^}oH4KG}{ z@H}{q0?~DDNzys@b0H*p;DF>H&&JyPSbL_qaA^g(@afLm?(Pv2|4ArN)?>WmLGjC% zodquF;|%$R7w-Jh6yQq)u}MZBfq=h0WpCdIG&vZ$XyD{j5ddr~51h3yKguGMP!z%s zT~{;@dQKTMHKGh)O<*SBH84Ebp%8aT zIXSsF1+%2`a#M~W^%E9mXlQ5xwrRh%HV;~#X&#(x;JFhN2Q^;D$<=p1J?lv#DNp3w zbFTX`Gtyh;s{thY%g(OQtzJAeHPs|+70C{n-r^FrVpthG_qi@=D;WGZ8-%m68h!iN zhIbx*oC$j~*;jN0+_!Ld)TK9XBzb$gwaw_-6mdMUZUmN+S;lGRysSJJBOQIS~1br*H1Pg%PZ05 z_kzEH9i-mq>9K2SYQmZZPOCjVTacTdFDXi$$nuGaiOBik$P;W-28h&u)srsE2$=XR zzD=Gt%0jpG`&73M!ATv;DhZpNj;TmbPfwR-R#YHq^CO#R%R-A>e1@eq#C<}LV_;;Y z?>}h|n;Y=m@ue+8H392NfB+~Tv9p6PfhjtAd$DJHeGw&3N=uX9IR`U9mBruRn=9u& z#JcmMrB7rcQ|P-is5<@JvJ@cnPC8~>YbU+K*5BV~Y-~(~QlF}Yo5x}y!i6tv#ChIk zb?eL)9(@=1VY%|M(^sq7B61+#2KeI+pvf`tn{{81)A)+Parazka(q=5@(6`;py*=j z!?3kgkvBl-eV@j}#E8heOZ|lMZ1QC8Pk4JtWpUG6urlUA+7;zy1S*G4W2`AQ}n=gJuV=t!8( zKU=A#0MU+&9Qwg$073`^0=?J6(Z{nU-@lB_4nX3SrG|sfzkoh|{8$Y@x$BX&5{9zL z`BQb!+*IojkpQW6jSq7GG%T|lstPT$*%*14(_P}@f|>Gj{>1z_p2ebSSXo3y}>v*2ube(X3L94*Cg$M6`=5!Z-+0OzI=)c^nh diff --git a/tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png b/tests/.vitest-attachments/a09f1c2c11fad3416f5b9251115f2ae2cb760757.png deleted file mode 100644 index 8f82524878e2f0ad14a0266363a92801b73349eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4313 zcmeI0`BRfg9>#I3)twoUo%LWH1$NgG5rm8)1dyXqg+B8S{^8%P3%aEE{aLI_E=**{@^UAnsJt@rJ>`t5$cpXceS z_sKslBlN%d{u@0#J^hQnUbv#Cw+pGK_f_8?zXDHk?laTDWmn`C#7}yRo?~-*dVfm4 zc;QD>Y_3cg{Fr)M(zZf0MYe^e9d;|$Z?>hstwLRIA51jM39WIuZb|Ui{RdWXmdCYc zx4yId^Uy17z+lqh&Z?G6==N7dEhSfj@1&&IXQW%}4EOHwP*n5XSGy{EXNI`GN-1s+ zZ+vDP5oj(L8~gUJ*QG98y$Pr|vi*1Tkt_!q91=Y};ijFRfOx8+f`UoNPcTiG$&2xe z*Q{A)6_k|BX_R8|@&kYFnBhL6}>oGEtMfm;#QZ~aw~oiqoTsd<}M0}?A~qQ*cZ-{{2~|}JQq4z6_M3; zEV9cD#*G^G3CfH8{6x~0>d%grH9n9xE--LVCs?y~x!E9z{`^cpYgSM`esiwaKX&q= zH1(*oB%i!Fmz|w`#5%B?J<*b6=#Q6DU;aY*-sbM$3@u(1P8u%vv9Yl+^u5<~BGdQH zji&own)HLF#V^xwT2L(@eIbuWrp2w}r_vCK^lOb#a~ms?w&Wv<&q=V$+2?{go}Hpl zDDlyCx6cJDU_WTD(#Mx^?szRA#Z!!z7lrR`ePfq4LfG}I|h^N!4d!5ybT%}0e?*^k7J8fp5!-BC`%T#|> zs83v+rmx`V%+o&o0>O22>h{|LfdFW|tX0cR;9=uQFy2O+N&K@*g~P+c?4`z#cmMf% zpa{vHFD(NEc^+&r4V)IgNXL=ieSI>trrTD?j&ad$NcgJh9J<+bPaa!LR_6Oj2|s%cG~-)2LJ`m#8#8 zd+S#`(`di*#suB013sB$9kl(SH*dZGk?iJPrI(hLf>{jCFIF)_M#xHGjC7@#Mkb6f zFiG@SDb+i}5^al{9|V%$`|$Jxz_nA7>Y@dlLwwD;g;)7=2i)CED-2D$ndEtGD~c2Z3VTBSIg>*0@lYPdntZnqoa0F zvwbPT`T2P;`s0H=)EEQ1iGPJlS}~E`Hq8n8>e-j6Dd(5!Gcq##$*S7`rqGZOwlo7h z-IX;kI2bj6gj3sKn8wxI$R2w+N6`UU*xnt()?px~k-52ff`N&1jt(I&*jYLHUK5$%67#6)@Mv>NysYu%o_a)rJOq(GZ7aZw*WUS)rLByN~{=Oex8 z!QM)E;POP12@nU6L|Xq8R99P@Y~rE?R@<(T$3ZY<8;H2Ev9V6~&cl}1Q6LQtwt%8* zK&E8E{DHluD@pGke+OK$HqrDTMi5*KfM%N|f(+GlS@$}wygx8vikd{ zg8`xnJ5=hK>iDHS4Poqa(3MZth~kvOgoFfOa3+HhrqKCea5x;zInLBQ-|^=A$0>&{ zgPTupZcF98t;t7f2y635Ul9m};DI70lW7BoyVIPxBn~(%-gH`_c_e&Ym=NS>rDvHJ zv#w58nDt>`PCf%{xiDHC0BYX@+*VOocza`cQlnOiXWNgbI!1h?yJq?kf>jzFh#b+% zsTa-Lj_I^w?>lB!#W{a(;w@OBAD2Llk%P?v@SGG~*5K^ePT_``eDuKDrTiholGHMl#grYK}5 zQ9(mPLr`zN6ei2b&UVmV?Tg>iZu0}I-W(s&y#-rXRVwy_gHkiS53FqTX?qfVG%yD{ zEEEP8=do_FEbBy_s*L=gy~DZvV2-yXboP0^_F}_x}q6p+%km diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode---hello-world------hello-universe--1.png deleted file mode 100644 index 8f82524878e2f0ad14a0266363a92801b73349eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4313 zcmeI0`BRfg9>#I3)twoUo%LWH1$NgG5rm8)1dyXqg+B8S{^8%P3%aEE{aLI_E=**{@^UAnsJt@rJ>`t5$cpXceS z_sKslBlN%d{u@0#J^hQnUbv#Cw+pGK_f_8?zXDHk?laTDWmn`C#7}yRo?~-*dVfm4 zc;QD>Y_3cg{Fr)M(zZf0MYe^e9d;|$Z?>hstwLRIA51jM39WIuZb|Ui{RdWXmdCYc zx4yId^Uy17z+lqh&Z?G6==N7dEhSfj@1&&IXQW%}4EOHwP*n5XSGy{EXNI`GN-1s+ zZ+vDP5oj(L8~gUJ*QG98y$Pr|vi*1Tkt_!q91=Y};ijFRfOx8+f`UoNPcTiG$&2xe z*Q{A)6_k|BX_R8|@&kYFnBhL6}>oGEtMfm;#QZ~aw~oiqoTsd<}M0}?A~qQ*cZ-{{2~|}JQq4z6_M3; zEV9cD#*G^G3CfH8{6x~0>d%grH9n9xE--LVCs?y~x!E9z{`^cpYgSM`esiwaKX&q= zH1(*oB%i!Fmz|w`#5%B?J<*b6=#Q6DU;aY*-sbM$3@u(1P8u%vv9Yl+^u5<~BGdQH zji&own)HLF#V^xwT2L(@eIbuWrp2w}r_vCK^lOb#a~ms?w&Wv<&q=V$+2?{go}Hpl zDDlyCx6cJDU_WTD(#Mx^?szRA#Z!!z7lrR`ePfq4LfG}I|h^N!4d!5ybT%}0e?*^k7J8fp5!-BC`%T#|> zs83v+rmx`V%+o&o0>O22>h{|LfdFW|tX0cR;9=uQFy2O+N&K@*g~P+c?4`z#cmMf% zpa{vHFD(NEc^+&r4V)IgNXL=ieSI>trrTD?j&ad$NcgJh9J<+bPaa!LR_6Oj2|s%cG~-)2LJ`m#8#8 zd+S#`(`di*#suB013sB$9kl(SH*dZGk?iJPrI(hLf>{jCFIF)_M#xHGjC7@#Mkb6f zFiG@SDb+i}5^al{9|V%$`|$Jxz_nA7>Y@dlLwwD;g;)7=2i)CED-2D$ndEtGD~c2Z3VTBSIg>*0@lYPdntZnqoa0F zvwbPT`T2P;`s0H=)EEQ1iGPJlS}~E`Hq8n8>e-j6Dd(5!Gcq##$*S7`rqGZOwlo7h z-IX;kI2bj6gj3sKn8wxI$R2w+N6`UU*xnt()?px~k-52ff`N&1jt(I&*jYLHUK5$%67#6)@Mv>NysYu%o_a)rJOq(GZ7aZw*WUS)rLByN~{=Oex8 z!QM)E;POP12@nU6L|Xq8R99P@Y~rE?R@<(T$3ZY<8;H2Ev9V6~&cl}1Q6LQtwt%8* zK&E8E{DHluD@pGke+OK$HqrDTMi5*KfM%N|f(+GlS@$}wygx8vikd{ zg8`xnJ5=hK>iDHS4Poqa(3MZth~kvOgoFfOa3+HhrqKCea5x;zInLBQ-|^=A$0>&{ zgPTupZcF98t;t7f2y635Ul9m};DI70lW7BoyVIPxBn~(%-gH`_c_e&Ym=NS>rDvHJ zv#w58nDt>`PCf%{xiDHC0BYX@+*VOocza`cQlnOiXWNgbI!1h?yJq?kf>jzFh#b+% zsTa-Lj_I^w?>lB!#W{a(;w@OBAD2Llk%P?v@SGG~*5K^ePT_``eDuKDrTiholGHMl#grYK}5 zQ9(mPLr`zN6ei2b&UVmV?Tg>iZu0}I-W(s&y#-rXRVwy_gHkiS53FqTX?qfVG%yD{ zEEEP8=do_FEbBy_s*L=gy~DZvV2-yXboP0^_F}_x}q6p+%km diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-add-bold-chromium-darwin.png deleted file mode 100644 index f645bc8552003c15a3a19e848faecbe5d2888736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1639 zcmdT_`B&0e6h~7=9c`p?(#$27)Uo46H4ZMM5-EjglY2`QYK+;MagI;uJg4sf5QASzr6Rk=brbupLgHqo|oa{eM(E? zfCdNz((>{|oCATB&;UlMfq@lH1B*Z)u#FeO?RY>P&x``gp$^kb<2fc}?2V7WNmx7Q?Bt@B-9o&~}L zg8e-CR4Nlc-Vi%7JUl#hF{F!739&Fe9gOQtzD?gS6j*9&f-grzNHHp@ZW9v|#5Ygk zbJo_bZ$%at7qi*yDT(0L#^6H?X9usy#B|YT`)r4iOU%x_w~-2+M*nO{x0Liw?g;;P zGuxvML>UMg|6-%AN6)uhLrRJg5K%3D%sOOZ8gb-)w=l=(7wVQXAZ2;^8pFT|i9~`M z3T%U;X9o4UBzC>Jak7b?iRK7J@WR3Z`@w^I98S*Q;29JOCF<+Lv+IK%|E*XGzY-Bq zFK!^8%vrNLGo>bhXBECiC=A4EY^{LrnH5HD^Zg?FAQdXKtRCN@ur*TlH-zz zC-Js9M({8p!vM=m$nENK=izKqW8>qw)a_)TG3e{pVIN*`P9c!#c;=<3sOs9<%=UIz zbaZqpQKH=N=~L8h16cP^nNu4{3br^~URhhKAtdQ~$HYL##>Prvv6;YWE_o>ob^7$Y zOcu&MVSK}Sp9UlYF}JYL^<_g5gRQTxH#0Z4r*0(ym)L0qj#CgRZjo=U$9tDLx)BJb zseTv?H%Sq_wJQA~9hR_Y%)vdq$fv2+1vY0!ylMa%DX>FbeccM-yc%dFN&k9;-vvCj zU~F`>t1f_BXiosUxVW4tKAQ3RH8wCXPlz#IzA^RevqA(P3i z?)S89alB`&{QTam{kC+3NtysZGgP+2%jR%|emI;riDaL+^6^lvCvkSj04(mHIE99W zPS4Il{f{1~YHrrKGkhvE)Z8iV<6Sme4Wg$<&@)eRHG)@GSC77Zn=?Qj?%5Y%`GeE32w}{ryE%rwbC6=O7I{ zo->vqosuVrhK71sWo5SkI&g_A1qOdHGUDcJXkluaIz1hNP3|=MR{4EXQ0O76U~vJ$sLs{d<^caK#594JPm!u$IA92u$fY)ye>K}pHLi<-0QH{Dx1DCFbFUhOie|3u=rTk%a`X}DQn$n z>U#lG^Zk5$Zal20pjl%Yh-=H2vB1prB2g%fn3=(QH8r;9HIBR&8Q2Awfd1^_q>IcZlHi8@G z2!S?bH;Sm}Lc0`dzf``Hq%JCwHW*CiK14`}9s4v@8|XTzMtnwIf(JnP}5d} zKp-0EeJDQ&WX*mMd#fme6?sWn1c4~Gp;4~>raFuoogd-uvlTQPLtql-w|0CRBdFgEcR(2J-+G)49sbtIS{=QGM%>~Nj7 zFJvonoFHT79Brjzw1_r3c|Pg<%4ItJs5PBV-;)ReoBuKpLJnfF?lCboDZB>{?o?K? zT&Pqh5{a~kr7kUGe*JppVL`!1$?TZi#L{x8h2urvM^IOE2@KRKD=XW1m(ORse;=d( z(nHO;dl#{X4<9Cu_qdvxnhqbp;l5w{ozB3gwt|0Ze8aMRg#X=I!BBa74 zICwjk%O$hD5IW&s2O37?FY=n2e1n3614~Y7WEk!zjJ$i?RT-1~_N|Ppu!$8Y6wYz2Q9$(1e(w zW=)kOHzf;vwQoSc*3PHVL;dy4O{~OVLTNkM8by zX0huCKU9>aXKQD-0h-((67_s|oee|A=kWPvYHDgc9o8*m8#jBVYS*@MeNsF*rKP3C z=f;lNMRkeV3xic{?d>;?BbYB2rawEzFFNdv9eFv4P@qsKQ&Usxffop}6`0Y_-Bqkh zmlUdLE6r~oV2QA`nrMa)()-MU+S=MWH#53D;mQ?d9p?+8Z2RcBmf;r8d?wh~Vi6)@ zg3cc9?us!VntH>p^{@X0mOMEm$;i$Y-?TnX{yL!AQH0}gIEj6Ig!i4Dm9!OSK-`Zr zBY!A4)0TaAI638B9HJ;4DGc(^U4``F!-uCLBEpsz=NT}^^p{zd_*Ha?P{j}j*vXc= z9wRbA)(d?YRQmR94fEEmTOx@h9|>BMmlpPn$zKfBq-^x}_kSam3b{U6+w7xY>$aHn z$OPx+swKeH;h3cblESWlqI+d!nRRuZuX?Stw6vxsfJajwr4M+#9cjSW+X6v$@Y5(w zItotT*Qc)7#n7@L&x~jR>tA*}!kd_w^tKfQEH(msE6EdZb8~Yg9b|kHz=vgbT6+nN z!5EG&FU7&HtJs7$*AQWS6At+53wMf((+(P=f`YUYl{M~`m)`*N5$DFk8pUFkQ=HxW z{5-fUJ1i}k&V_}A-_QzubK6zvi%d|@vI&1z8Do^1n)(f_=CF(6#zumK?F8E!%P1+g@U)i%&hO=q#tuC8m6l9DdF>8(B@!~KB!sw#v6IJy@oLC}_SfIE-RPe&3S zZ^PzeYKbt^PU4+zq~1zy_9~P^5U0(0H z+|NWV_l&6}xm6U2R}w!zTeMtFiFd%^?doti;r0J87{xd9_k0kO4$;6r2SIyaP(^N` Gm;M56C1MW% diff --git a/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png b/tests/src/browser/__screenshots__/suggestionMode.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png deleted file mode 100644 index 1ce6528cf3c1391e67ceb0fb28589d3a0cfcee9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1592 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.concurrent.test.tsx/concurrent-bold-vs-italic-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.concurrent.test.tsx/concurrent-bold-vs-italic-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..73757b062304306089b37e2115289d72cb5c31bd GIT binary patch literal 10914 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 soZx@&J-+{eR|Ws~7XKfwZ7y*#stmn~bi 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-bold-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-bold-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..b410bde1ed54d7e1751ee8e13d53be6ea8d18d58 GIT binary patch literal 7086 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..b81e90f85231548d8f9ab0e8bae5fb3b395c2987 GIT binary patch literal 7355 zcmds6WmHt}yERdiP*7S>5v(Dko1X$A4xxyGNDd`RcMKsl5`s!eOA8_$4k;kz5DF?H z9mCKufPjo}pQGOYx*zWS_Fs41bYl@n? zcI}gZdy|7y@Y9>A@YSwe9DXW_m$lq>&)0kEeF+@hS?=BB7}?d5?)GRY2s6_rlyGRe zG&Hm0uGqtvj#36^zI*ODiC@2-OA1gWgovQo420eU>RbJ6?LMTUrP#!NE%<|(JA>NM z&DK#n?=6ZwCp{Oo#*AodQIn#Pup@uu=%0%kLv{M^b-D8&#Xr}XR@TRVuYHnx|33Nb zq{Yd<3H$NHA7JKmdToB!f53=h6jhUs6Bz1Uzla5QS-Jf2r zb#=N2f8)!SFEktyPsheEKYz@l@7!U^zK3_C&?< z`JF^|o41crx)W?`+e{*4gNTE!!^FzjeD0T7SwZ&W%|#EsTtG=mN;=Jbdsba7!@$V6 zNm=Q_j|Q>B&L!FXL!H*XXs?h70^`eWOKvhUl%+=Ok3NeRStBm5ANlE$l-VflFuyd-2 z7Jtk5ME=vK{We!ff427d>sO4V^UN`(g5J=_k6ZC9lwA<&eE~S!xShl`Rn_;!n5IKW z*>v(qNyYn?TlYIuhM$n`E;d8+2P%a!8AAw9$;+pp`B12^P@fYEZii-OzV5$4(lyQIFnIv6eRKKToYe700OI8uH{vOaXZ3+*sE)J)7F4n~Q>}(Cc9kj{E zPqHDex%z~y35vw>RepYW^hND42mGttT+G4%9;H+0+v7!9ZV6)*4pNEaUH)bgVP6Sl z$>~0EwAw(xq$Qk3Oe`i&*kWwWgH_&JMqA(cI3us>I}tTVLj#;@Vdd^E zes!PKz}sg?X<7G|BULxq9;X2L7F3J0Nb!o9o3je%l>Ok`tFNr9%cd4Dl6tCcSOadS zr>Eb)e{a`k7HiMXcdz_C(cvgFbIaE^_uN-MDKBqgOKk?@gBi~XInQWe<+$wa?J3*q zbr#=CEh!7Gb>pKrF7r=mO6>{a^eJ7+p-g;kqk+tJRfCkZ0v|I7xelif#r}C@WN>h> zG5ji`rKi`fKrj0q!iZlV^0a(qMu>T<$3HeUhUAXfpG(EuoVQ}g!Dn?!%xU>!52tjsye_EyFwqtn zC*v+uV%~w7`J7{FYKq{Lyav+KO-)UC1~u{1J=svCg<+hs@!E!7(XPW@vHiAnN%j5* zR@QnA9d~}MMWTjdkp|t~kohj<&JkKYskU)9lwL{Q8wo6B5wZuODg*qUFAD zA*3mkxx{5&mrb|aiq)Tr_B1!Q|LUp}3bK4sR5ZG@RAk6!$IHNTUUZ>$%cj$Gv>{M6 zNh%srUyR*!n3L27J#90^_S>wL^R z-`$^kdxg#0S%y4j`8eH1b|W=JO7T&@dGjdbhC|jPN}06HG{eaW((->Th(>weAK28V~6Ls4T_I>hsIiuMrT!B;ss^~Dav z>kv6=9S9RRoSwCrFQIqd=-QK#TruwOLjt=YSWxqWEhb;Ts=LTU zS&yIj;nzF_oPs91QX5{h?uJwWj zS$I26=e^ZG?7$1FLu3*o>LW4$B3Ea7BP1Osjoindi0jmNh{}4b8o}NtCMN7=-&7PM z?B-pU@@VgY?kZQ?+}vEZrTPQ-UqAYb`mE*#tC-OS2Ao^#ix!=Ul3^T@48V+=!ZMI=Vt!?1{Kt}Vu97{`e|WO8pZUl*0bH$H#v+`BP5i9(SFpAQm-YCI+NRaI#qtpLMpQg$P|Vq*C2L3qgutd!Px zG3)E^ARY*KPJJ)CxLC8!$>qIq>V%Zj$&rt#3Rnn`%noG*V(zjy)FHiCt&kvQUAQ{+ z$)B2$SJ1d&-_>xAV8{T)HaIktdt{{EKQX_s@afyP5~w68XUx`*`2p{(d7Uivr0ZH* z$95xF2K{W*5I~LO>Tq;ioC=^W05j(EtD70w*(S?wGT4n#+`boCZMnB!zsk#-(3EhP zILH)BP}0-m*bQORdGO#t;rr(1?i*dnvPD|j+K!j3#MnWcGzxkBbmCP{Y^_-z3MGCk zGSTziBa4(E`(;%gbN^EL0TKMyZ& z5Oh+pX&VEo#$zq5x;oLe?iW+2Wqh7)SqRjYpk?=&S_&DBGzw)>ysloz`nyO-NQh3I zw`?S@8j!H!c11v7;HCQ?PonPLy$e8Nl9QV|_NHP8!5tl&+D&teiOJ@OKRt_>70VMg z(KJAEr-cDlLdp)s;yN0AxAgweg1T)fg92u>ni?$>tS~HqkmP{R&M(N~fQ>k)jFY^) zRA`8ucO4h{!GjA(WL*cHnJpN&xFRw$G6HgQFNB1K7HQqSZJhJwO_Qd!Htu&A0EMy< zeHbI_`NPP4DiwFXznt&a&$UKPpb(%oAmlU!9G#x$d>IHDR9RV>P7p175RbTcY-OcX zxmBNECe+9>S;>XjgC2hx=zfJ0~q@LD%uo*bxw zR2(M;(t|V%G+_+C{s$=RzB(UyP*8LI6%nuz2WZIUZnQv=Nei9a)|@az=~lKnv6nRPoy$_?Ah?Yjb{fEC*I$!MT>qF^RM$Hz~C1N%(;ghWBGsi;tc1jDWmx+*Fu*-w2u)zHxJI6QpP33d%+214QwHc1151O^6**bKZN z2-GFQ;rCp)aN+*fJXR<|r>T#-s|MA5VSEB86tNvj~JFrY=2B_8I zVj)PmvY8nV)JuzbiTx=kVW1`G?-HLK?|9LNR{`K?qhn)l-Mfbd+yhQYd@{Ufv9tXP zPKSx-g;N(63f4w6;^@a6@OBa$I>;Wr$63|~GXtd=!gKa44%G1x z8mOWA=RD|h0skP8JR}oBLJnE_a%P^g{*)+uBVkq>t+m zK!BRrJoWdcDDPfHI8@xyFw~X_^62;Py1#`hh=fzW-vvATeeJ^^35btp)6~>Nik45e z^yK;T!4C^+VtgSZMQ+O&GMNmyqT!Tzfz%=k6={6UqpiK&6bJ|K5#~{q>(?8mow`4M zN>_HDc&1zk>OZ3S33~}p2+)mEmCO7!6_t8&w*0SPGTDLCYxO2TO9x=2+tz$VU#*uk z9nRm7GR6#&<2fJTJ@`kaA9xCWX!#u(+ zZu1`2dGX>JyiPrvkpROrXkUS;p&DsI3}3p>&Nedt2O%tpU<@?rV5Rdo%=8H1Y6=|z zTVcAd+x>_gq_3JnxvqQjl6BDM*;U@@WBH?Z=R+2QnzNMn3hG?Qo zCe4E06u0ZwuU}JF&w{QD0s#|Z%mVX8$-`cL#3z7T7*){D&Y}Pl5P+Ko2I}B_E!BP;89N=ny@ zOC~HZ^YZZUoH={;7Q*D9M%5C;p2fztFlxxu107ht0+vHY+kk+5P|Q=`int4^$%mjw zVl@vo@Kp>n0Js%_Sx{m#DD`8mPXUzl=Eiu0Wp@U3HpwX{uz(P=1YHLG z3d->%=ypUjYTdchovpzIyLt8cwFz`0q6v^`vudF-)EB1J6(Hv$tgI>u;ISkoa-e{Q z)087PkqWfz$$~yTO>!adRS4RR{DWFvUPhW4M9aqtTSK|+4U>2g%LbTisSEq(+Y==t zM;mdD{171s<;rA&EyIZuPnzakgh8eNqg=gmWe@Ed(A($FT3~Y&S@jhMf|!j2EEfi$ zhQtHpA&d(zK{J;838(7bd6hE3{&^z>)>`NKbaxQ+tuu^O&Tf@u~+h>C`W1?VjfX_qi? zHSGD}pQX0L$x~DJ_ppgRP>ki*KZin1s4_4x6wVFcBL}NoA>+z*-oFZwH9+@cR1mWW zsdw=~C&rkkPmdroD5}bJancDelUGRSxiGMFb9b83VUN|RN129o-T^^D5YE#iCN3_G zf85+8fHomLnDZ!ddR%1apsw zy#$BIF;32KFx6Dn7Y3maQ(?>iLlDKS9DW9%0k{&V;1SQMQ@cT|>wpkAc#xL133xaA zFg-o2oFo;2n66?lr(yU>tF29jDeqIc^*tnA;1~cPPKeiS(lY(mZR))O^?4N7d>W(? z>C&0KGv(df4Oy|h#CT6WB5TEcn=b}ce85{;e*uFqk8#o#|{Yz34uelv}A{p zONmHJJ55Ey@~&@nzCRW*>(;m2M;;w01eq7AA-5R-2Cw%f!4QKV3%Lkt6`VL^T!r(& zG{hokw2L_xA}}{plK`d#!woI10PqhpO;3`Xdep>=z&I{0E*4Z{>=B8R^%Mh#dIAe` znIZ)E1^f>7B8R+pqPBtievoF6aLEL~H5Aw|XCc98=w=uMVMGMCK=vUP5QzVJn~I(qPuI>Y*Ttb@OiX0N9_tY8HJbkN zni-j%Z7LEF5}yXOZ2i5|7?1_}%z?6DZ{SWmKIbBhRQ(lNu+1{ju>kE6T_h8j-Lc>< zf*jGieyUZn3@pZ|sAC2m(>%ZjxGqxTyvqvA=MHkIsi{B+LMF{L0Mp^ai!Jjmkufnr zz~EM(LlD!W@XVPrMk)wYfw}Gr?hG;#LsDDY+F;|3fWN}_V~U`Q+X97X{NXLgNP}3y z#b$@cTOvqs8q(CKbl6I3ljUHg==t;K5hv=8p^59CpKLpuGJ%DP20}J#4r8U^lH-8! zq<@~5kB>IHr>zgs;Z4W20o8*cFXT`|%AQ6+#IM->KX3lZpaX#qpLp_Kp=8G~ii7D|A z&K6|<$T}PU`m-j0rhJq!3(N-`AjWsN{7s+#Ucn) literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-universe-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-universe-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..1082952788ee45729f5ac83bc0acda7c520925e8 GIT binary patch literal 8884 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx b/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx new file mode 100644 index 0000000000..e51227a903 --- /dev/null +++ b/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx @@ -0,0 +1,250 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for two-user concurrent suggestion edits. + * Each test sets up three side-by-side editors (User A, User B, + * Merged) backed by `baseDoc` + `suggestionDocA`/`B`/`Merged`, applies + * independent suggestion edits from A and B, calls `sync()` to fan + * both updates into the merged doc, and snapshots the converged state. + * + * TODO: BlockNote's `mapAttributionToMark` (YSync.ts) hashes user IDs + * from the attribution data to pick a color from a fixed palette, but + * `Y.Attributions()` ships empty and nothing in the editor pipeline + * populates it from the editor's `user` / awareness. Result: every + * mark in every test renders as `userColorPalette[0]` (#30bced), + * regardless of which user actually made the edit. In the merged + * snapshots below we therefore cannot tell A's marks from B's. Decide + * whether the attribution layer should automatically tag writes with + * the local awareness user, or whether tests should construct an + * `Attributions` instance with pre-registered client-id → user-id + * mappings. + */ +import { expect, test } from "vitest"; + +import { setupConcurrentSuggestionTest } from "./fixtures/concurrentSuggestionFixture.js"; +import { + editorHtml, + waitForSuggestion, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Concurrent text edits on overlapping range: A fixes a typo while B +// deletes the whole word. After CRDT merge, snapshot what the merged +// editor ends up displaying. +test("concurrent: A fixes typo, B deletes the word", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "fix typo", + userBAction: "delete word", + }); + + // Seed: A writes "hello wrold" (typo) directly to baseDoc since + // suggestion mode isn't on yet. Then `seed()` fans baseDoc into + // all three suggestion docs so everyone starts from the same state. + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello wrold" }, + ]); + seed(); + + await expect + .element(screen.getByTestId(userA.testId).getByText("hello wrold")) + .toBeVisible(); + + // Switch all editors into suggestion mode (subsequent edits in A + // and B are recorded as suggestions, merged starts watching its + // suggestion doc for incoming updates). + enableSuggestions(); + + // A: fix typo "wrold" -> "world". + const [blockA] = userA.editor.document; + userA.editor.updateBlock(blockA, { + type: "paragraph", + content: "hello world", + }); + + // B: delete the misspelled word entirely. + const [blockB] = userB.editor.document; + userB.editor.updateBlock(blockB, { type: "paragraph", content: "hello " }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + // Merge A's and B's suggestions into the merged doc. + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-typo-fix-vs-delete", + ); + + // TODO: the merged YDoc ends up at "hello o" – an `o` survives even + // though both A (who replaced "wrold" with "world") and B (who + // deleted "wrold" outright) effectively wanted "wrold" gone. The + // CRDT keeps A's inserted `o` because B's delete-range covered the + // original "wrold" letters but not A's freshly-inserted characters, + // so the union of "delete everything B saw" + "keep what A added" + // leaves a stray `o`. Worth deciding whether this is the desired + // merge semantic for the product or whether the suggestion layer + // should resolve overlapping edits differently. + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello wrold + + " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + hello + + " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + hello o + + " + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + + hello + w + o + rold + + + + " + `); +}); + +// Concurrent format edits on the same word: A adds bold, B adds +// italic. After CRDT merge, both marks should land on "world". +test("concurrent: A bolds the word, B italicises the word", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "bold 'world'", + userBAction: "italicise 'world'", + }); + + // Seed: A writes plain "hello world" directly to baseDoc, then + // `seed()` fans it into all three suggestion docs. + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + seed(); + + await expect + .element(screen.getByTestId(userA.testId).getByText("hello world")) + .toBeVisible(); + + enableSuggestions(); + + // A: bold "world". + const [blockA] = userA.editor.document; + userA.editor.updateBlock(blockA, { + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { bold: true } }, + ], + }); + + // B: italic "world". + const [blockB] = userB.editor.document; + userB.editor.updateBlock(blockB, { + type: "paragraph", + content: [ + { type: "text", text: "hello ", styles: {} }, + { type: "text", text: "world", styles: { italic: true } }, + ], + }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-bold-vs-italic", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + + hello + + + world + + + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/basicText.test.tsx b/tests/src/browser/y-prosemirror/basicText.test.tsx index a9ac29aa14..7b7afcc7d2 100644 --- a/tests/src/browser/y-prosemirror/basicText.test.tsx +++ b/tests/src/browser/y-prosemirror/basicText.test.tsx @@ -21,7 +21,7 @@ import { // is rendered as inline / spans around the changed letters. test("suggestion mode: 'hello world' -> 'hello universe'", async () => { const { editor, screen, baseDoc, suggestionDoc, sync } = - await setupSuggestionTest(); + await setupSuggestionTest({ userAction: "rename last word" }); // 1. Set the base doc to "hello world". The block id is pinned so the // snapshots stay deterministic. @@ -33,7 +33,9 @@ test("suggestion mode: 'hello world' -> 'hello universe'", async () => { // from the same state. sync(); - await expect.element(screen.getByText("hello world")).toBeVisible(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); // 3. Subsequent edits are recorded as suggestions instead of mutating // the doc directly. @@ -47,7 +49,9 @@ test("suggestion mode: 'hello world' -> 'hello universe'", async () => { // re-render on the next frame; without this the screenshot can race // the update). "unive" only exists once "world" -> "universe" has // been split into / spans, so this is a precise sentinel. - await expect.element(screen.getByText("unive")).toBeVisible(); + await expect + .element(screen.getByTestId("editor-A").getByText("unive")) + .toBeVisible(); // 5a. Visual snapshot of the rendered editor. await expect(screen.getByTestId("editor-root")).toMatchScreenshot( @@ -103,14 +107,16 @@ test("suggestion mode: 'hello world' -> 'hello universe'", async () => { // changes (currently `y-attributed-format`, with no visual marker). test("suggestion mode: add bold to 'world'", async () => { const { editor, screen, baseDoc, suggestionDoc, sync } = - await setupSuggestionTest(); + await setupSuggestionTest({ userAction: "bold 'world'" }); // Base: plain "hello world". editor.replaceBlocks(editor.document, [ { id: "block-hello", type: "paragraph", content: "hello world" }, ]); sync(); - await expect.element(screen.getByText("hello world")).toBeVisible(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); editor.getExtension(SuggestionsExtension)!.enableSuggestions(); @@ -173,7 +179,7 @@ test("suggestion mode: add bold to 'world'", async () => { // removal is handled symmetrically. test("suggestion mode: remove bold from 'world'", async () => { const { editor, screen, baseDoc, suggestionDoc, sync } = - await setupSuggestionTest(); + await setupSuggestionTest({ userAction: "unbold 'world'" }); // Base: "hello " + bold "world". editor.replaceBlocks(editor.document, [ @@ -187,7 +193,11 @@ test("suggestion mode: remove bold from 'world'", async () => { }, ]); sync(); - await expect.element(screen.getByText("world")).toBeVisible(); + // Use the full paragraph text – the User A column heading also + // contains the word "world", which would clash with getByText. + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); editor.getExtension(SuggestionsExtension)!.enableSuggestions(); @@ -245,7 +255,7 @@ test("suggestion mode: remove bold from 'world'", async () => { // is recorded only for the new mark, not the pre-existing one. test("suggestion mode: add italic to already-bold 'world'", async () => { const { editor, screen, baseDoc, suggestionDoc, sync } = - await setupSuggestionTest(); + await setupSuggestionTest({ userAction: "italic on top of bold" }); // Base: "hello " + bold "world". editor.replaceBlocks(editor.document, [ @@ -259,7 +269,9 @@ test("suggestion mode: add italic to already-bold 'world'", async () => { }, ]); sync(); - await expect.element(screen.getByText("world")).toBeVisible(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); editor.getExtension(SuggestionsExtension)!.enableSuggestions(); diff --git a/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx new file mode 100644 index 0000000000..0b81bc775e --- /dev/null +++ b/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx @@ -0,0 +1,242 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Fixture for two-user concurrent suggestion tests. + * + * Layout: + * ┌──────┬─────────────────────┬─────────────────────┬────────┐ + * │ Base │ User A: │ User B: >; + /** + * Replay `baseDoc` into all three suggestion docs. Call after + * seeding the initial content via A's editor (with suggestion mode + * off – writes go straight to `baseDoc`) so all four docs start aligned. + */ + seed: () => void; + /** + * Switch all three editors into suggestion mode. Call after `seed()` + * – subsequent edits in A and B are recorded as suggestions, and the + * merged editor starts observing `suggestionDocMerged` for updates. + */ + enableSuggestions: () => void; + /** Fan A's and B's suggestion updates into `suggestionDocMerged`. */ + sync: () => void; +} + +const USER_A = { name: "User A", color: "#30bced" }; +const USER_B = { name: "User B", color: "#ee6352" }; +const USER_MERGED = { name: "Merged", color: "#888888" }; +const USER_BASE = { name: "Base", color: "#888888" }; + +export interface ConcurrentSuggestionFixtureOptions { + /** 1-5 word description of what User A does (rendered as column heading). */ + userAAction: string; + /** 1-5 word description of what User B does (rendered as column heading). */ + userBAction: string; +} + +export async function setupConcurrentSuggestionTest({ + userAAction, + userBAction, +}: ConcurrentSuggestionFixtureOptions): Promise { + const baseDoc = new Y.Doc(); + const suggestionDocA = new Y.Doc({ isSuggestionDoc: true }); + const suggestionDocB = new Y.Doc({ isSuggestionDoc: true }); + const suggestionDocMerged = new Y.Doc({ isSuggestionDoc: true }); + + const managerA = Y.createAttributionManagerFromDiff( + baseDoc, + suggestionDocA, + { attrs: new Y.Attributions() }, + ); + managerA.suggestionMode = true; + + const managerB = Y.createAttributionManagerFromDiff( + baseDoc, + suggestionDocB, + { attrs: new Y.Attributions() }, + ); + managerB.suggestionMode = true; + + // Merged is a viewer – it shows both users' suggestions but doesn't + // record new ones, so `suggestionMode = false`. + const managerMerged = Y.createAttributionManagerFromDiff( + baseDoc, + suggestionDocMerged, + { attrs: new Y.Attributions() }, + ); + managerMerged.suggestionMode = false; + + const awarenessA = makeAwareness(baseDoc, USER_A); + const awarenessB = makeAwareness(baseDoc, USER_B); + const awarenessMerged = makeAwareness(baseDoc, USER_MERGED); + + let editorBase!: BlockNoteEditor; + let editorA!: BlockNoteEditor; + let editorB!: BlockNoteEditor; + let editorMerged!: BlockNoteEditor; + + function Editors() { + editorBase = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: new Awareness(baseDoc) }, + user: USER_BASE, + }, + }), + ); + editorA = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: awarenessA }, + suggestionDoc: suggestionDocA, + attributionManager: managerA, + user: USER_A, + }, + }), + ); + editorB = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: awarenessB }, + suggestionDoc: suggestionDocB, + attributionManager: managerB, + user: USER_B, + }, + }), + ); + editorMerged = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: awarenessMerged }, + suggestionDoc: suggestionDocMerged, + attributionManager: managerMerged, + user: USER_MERGED, + }, + }), + ); + + return ( +
+
+ Base + +
+
+ User A: {userAAction} + +
+
+ User B: {userBAction} + +
+
+ Merged + +
+
+ ); + } + + // Four columns at 1fr each need a wider viewport so the rightmost + // column doesn't clip BlockNote content. + await page.viewport(1800, 800); + + const screen = await render(); + + return { + userA: { editor: editorA, testId: "editor-A" }, + userB: { editor: editorB, testId: "editor-B" }, + merged: { editor: editorMerged, testId: "editor-merged" }, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed: () => { + const update = Y.encodeStateAsUpdate(baseDoc); + Y.applyUpdate(suggestionDocA, update); + Y.applyUpdate(suggestionDocB, update); + Y.applyUpdate(suggestionDocMerged, update); + }, + enableSuggestions: () => { + editorA.getExtension(SuggestionsExtension)!.enableSuggestions(); + editorB.getExtension(SuggestionsExtension)!.enableSuggestions(); + editorMerged.getExtension(SuggestionsExtension)!.enableSuggestions(); + }, + sync: () => { + Y.applyUpdate(suggestionDocMerged, Y.encodeStateAsUpdate(suggestionDocA)); + Y.applyUpdate(suggestionDocMerged, Y.encodeStateAsUpdate(suggestionDocB)); + }, + }; +} + +function makeAwareness( + doc: Y.Doc, + user: { name: string; color: string }, +): Awareness { + const a = new Awareness(doc); + a.setLocalStateField("user", user); + return a; +} diff --git a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx index e32da7623a..86ae919865 100644 --- a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx +++ b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx @@ -2,8 +2,18 @@ /** * Shared fixture for browser-mode suggestion tests. * - * Mounts a single BlockNote editor bound to an in-memory `baseDoc`, - * with a second in-memory `suggestionDoc` set up as the diff target. + * Layout: + * ┌──────────┬──────────────────────┐ + * │ Base │ User A: │ + * └──────────┴──────────────────────┘ + * + * - `Base` is a read-only editor bound to `baseDoc` – it shows the + * pre-suggestion state and is visible in the screenshot so the + * reviewer can see the "before" without leaving the file. + * - `User A` is the suggesting editor. Its column heading includes a + * short caller-supplied action description so the screenshot is + * self-explanatory. + * * The provider/yhub round-trip is replaced by a manual `sync()`. */ import "@blocknote/core/fonts/inter.css"; @@ -18,9 +28,11 @@ import { Awareness } from "@y/protocols/awareness"; import * as Y from "@y/y"; import { prettify } from "htmlfy"; import { expect } from "vitest"; +import { page } from "vitest/browser"; import { render } from "vitest-browser-react"; export interface SuggestionFixture { + /** User A's editor – this is the one the test makes suggestions through. */ editor: BlockNoteEditor; screen: Awaited>; baseDoc: Y.Doc; @@ -29,11 +41,22 @@ export interface SuggestionFixture { sync: () => void; } -export async function setupSuggestionTest(): Promise { +export interface SuggestionFixtureOptions { + /** + * 1-5 word description of what User A does (e.g. "fix typo", + * "bold world"). Rendered in the User A column heading so the + * screenshot is self-explanatory. + */ + userAction: string; +} + +export async function setupSuggestionTest({ + userAction, +}: SuggestionFixtureOptions): Promise { const baseDoc = new Y.Doc(); const baseAwareness = new Awareness(baseDoc); baseAwareness.setLocalStateField("user", { - name: "Author", + name: "User A", color: "#30bced", }); @@ -45,30 +68,58 @@ export async function setupSuggestionTest(): Promise { ); attributionManager.suggestionMode = true; - let editor!: BlockNoteEditor; - function Editor() { - editor = useCreateBlockNote( + let editorA!: BlockNoteEditor; + let editorBase!: BlockNoteEditor; + + function Editors() { + editorA = useCreateBlockNote( withCollaboration({ collaboration: { fragment: baseDoc.get("doc"), provider: { awareness: baseAwareness }, suggestionDoc, attributionManager, - user: { name: "Author", color: "#30bced" }, + user: { name: "User A", color: "#30bced" }, + }, + }), + ); + editorBase = useCreateBlockNote( + withCollaboration({ + collaboration: { + fragment: baseDoc.get("doc"), + provider: { awareness: new Awareness(baseDoc) }, + user: { name: "Base", color: "#888888" }, }, }), ); return ( -
- +
+
+ Base + +
+
+ User A: {userAction} + +
); } - const screen = await render(); + await page.viewport(1200, 800); + + const screen = await render(); return { - editor, + editor: editorA, screen, baseDoc, suggestionDoc, From 9fae8f9adb856effc28861e477ae5a0e88a90938 Mon Sep 17 00:00:00 2001 From: yousefed Date: Thu, 28 May 2026 20:24:47 +0200 Subject: [PATCH 03/12] propchange tests --- ...ge-image-source-actual-chromium-darwin.png | Bin 0 -> 9701 bytes tests/src/browser/vitestSetup.ts | 13 + ...lor-vs-backgroundColor-chromium-darwin.png | Bin 0 -> 10822 bytes ...p-change-heading-level-chromium-darwin.png | Bin 0 -> 17756 bytes ...op-change-image-source-chromium-darwin.png | Bin 0 -> 11369 bytes ...rop-change-image-width-chromium-darwin.png | Bin 0 -> 12257 bytes ...-change-text-alignment-chromium-darwin.png | Bin 0 -> 7234 bytes .../fixtures/suggestionFixture.tsx | 13 +- .../propChanges.concurrent.test.tsx | 123 ++++++ .../y-prosemirror/propChanges.test.tsx | 390 ++++++++++++++++++ tests/vite.config.browser.ts | 1 + 11 files changed, 539 insertions(+), 1 deletion(-) create mode 100644 tests/.vitest-attachments/src/browser/y-prosemirror/propChanges.test.tsx/prop-change-image-source-actual-chromium-darwin.png create mode 100644 tests/src/browser/vitestSetup.ts create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/propChanges.concurrent.test.tsx/concurrent-textColor-vs-backgroundColor-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-heading-level-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-image-source-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-image-width-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-text-alignment-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx create mode 100644 tests/src/browser/y-prosemirror/propChanges.test.tsx diff --git a/tests/.vitest-attachments/src/browser/y-prosemirror/propChanges.test.tsx/prop-change-image-source-actual-chromium-darwin.png b/tests/.vitest-attachments/src/browser/y-prosemirror/propChanges.test.tsx/prop-change-image-source-actual-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..37b96b3b1d5cb25f254a544982430fed0fff387d GIT binary patch literal 9701 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 { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS = {}; +}); + +afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; +}); diff --git a/tests/src/browser/y-prosemirror/__screenshots__/propChanges.concurrent.test.tsx/concurrent-textColor-vs-backgroundColor-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/propChanges.concurrent.test.tsx/concurrent-textColor-vs-backgroundColor-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cbae43a56768141c0f461baff9a0f6f18544cf GIT binary patch literal 10822 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 NdCcf&*5NO|{tx9uF7E&U literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-image-width-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/propChanges.test.tsx/prop-change-image-width-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..f8197139f182d5fae11da5b564f461b87c329684 GIT binary patch literal 12257 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 NRnk<<`or}0{{Z5dm_+~p literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx index 86ae919865..e49bba8a1b 100644 --- a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx +++ b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx @@ -147,7 +147,18 @@ export async function waitForSuggestion( /** Pretty-print a Y.Doc's `doc` XmlFragment for an inline snapshot. */ export function ydocXml(doc: Y.Doc): string { - return prettify(doc.get("doc").toString(), { tag_wrap: true }); + // `Y.XmlFragment.toString()` emits HTML5-style unquoted attributes + // for non-string values (e.g. `level=1`, `isToggleable=false`). + // htmlfy mangles those, so we wrap each unquoted value in quotes + // before pretty-printing. + const raw = doc + .get("doc") + .toString() + .replace( + /(\w[\w-]*)=([^"'\s>]+)/g, + (_, name, value) => `${name}="${value}"`, + ); + return prettify(raw, { tag_wrap: true }); } /** diff --git a/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx b/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx new file mode 100644 index 0000000000..2a7d2fb9b0 --- /dev/null +++ b/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx @@ -0,0 +1,123 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for two-user concurrent prop-change + * suggestions. Same shape as `basicText.concurrent.test.tsx` but the + * edits are block-level prop changes rather than content edits. + * + * See `propChanges.test.tsx` for the TODO on prop changes producing no + * `y-attributed-*` mark – the same applies here. + */ +import { expect, test } from "vitest"; + +import { setupConcurrentSuggestionTest } from "./fixtures/concurrentSuggestionFixture.js"; +import { + editorHtml, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Two users edit independent props on the same block: A changes +// `textColor`, B changes `backgroundColor`. Neither edit touches the +// other's prop, so the CRDT merge should preserve both. +test("concurrent: A changes textColor, B changes backgroundColor", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "red text", + userBAction: "yellow background", + }); + + // Seed: plain "hello world" with default colors. + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("hello world")) + .toBeVisible(); + + enableSuggestions(); + + // A: change textColor to red. + const [blockA] = userA.editor.document; + userA.editor.updateBlock(blockA, { + type: "paragraph", + props: { textColor: "red" }, + }); + + // B: change backgroundColor to yellow. + const [blockB] = userB.editor.document; + userB.editor.updateBlock(blockB, { + type: "paragraph", + props: { backgroundColor: "yellow" }, + }); + + // Prop changes don't generate y-attributed marks, so we poll on the + // individual editor doc states instead. + await expect + .poll(() => userA.editor.document[0]?.props?.textColor) + .toBe("red"); + await expect + .poll(() => userB.editor.document[0]?.props?.backgroundColor) + .toBe("yellow"); + + sync(); + + await expect + .poll(() => merged.editor.document[0]?.props?.textColor) + .toBe("red"); + await expect + .poll(() => merged.editor.document[0]?.props?.backgroundColor) + .toBe("yellow"); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-textColor-vs-backgroundColor", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + hello world + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/propChanges.test.tsx b/tests/src/browser/y-prosemirror/propChanges.test.tsx new file mode 100644 index 0000000000..5d29b4a20f --- /dev/null +++ b/tests/src/browser/y-prosemirror/propChanges.test.tsx @@ -0,0 +1,390 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for prop-change suggestions: block-level + * attribute edits (text alignment, heading level, image width / source, + * etc.) rather than content/text edits. Each test follows the same + * shape as `basicText.test.tsx`: seed, enable suggestions, edit, then + * screenshot + inline snapshots of base/suggestion docs + PM doc. + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Tiny inline SVG data URLs – avoids a network fetch (placehold.co +// occasionally returns after the screenshot is taken). +const IMG_SRC_BASE = + "data:image/svg+xml;utf8,"; +const IMG_SRC_NEW = + "data:image/svg+xml;utf8,"; + +// TODO: block-level prop changes generate NO `y-attributed-*` mark in +// the editor's PM doc – the suggestion doc carries the new value but +// the editor shows it as if it were already accepted. Compare with the +// inline-format case in `basicText.test.tsx` which at least produces a +// `y-attributed-format` mark (still no visual style, but at least +// detectable from the data). Decide whether block-prop suggestions +// should also be wrapped in a `y-attributed-format` (or similar) so +// reviewers / accept-reject UI can target them. +// +// Block-level prop change: paragraph's `textAlignment` flips from +// "left" to "center". Text content is unchanged. +test("suggestion mode: change text alignment to center", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "center align" }); + + editor.replaceBlocks(editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { + type: "paragraph", + props: { textAlignment: "center" }, + }); + + // Prop changes don't generate `y-attributed-*` marks, so the + // `waitForSuggestion` helper used elsewhere is too narrow here. + // Poll on the editor's view of the prop instead. + await expect + .poll(() => editor.document[0]?.props?.textAlignment) + .toBe("center"); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "prop-change-text-alignment", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello world + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + hello world + + + " + `); +}); + +// Block-level prop change on a heading: bump `level` from 1 to 2. +// Same lack of attribution as the alignment case. +test("suggestion mode: change heading level from 1 to 2", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "demote heading" }); + + editor.replaceBlocks(editor.document, [ + { + id: "block-hello", + type: "heading", + props: { level: 1 }, + content: "hello world", + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { + type: "heading", + props: { level: 2 }, + }); + + await expect.poll(() => editor.document[0]?.props?.level).toBe(2); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "prop-change-heading-level", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + hello world + + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + hello world + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + hello world + + + + + + " + `); +}); + +// Image block prop change: `previewWidth`. Resizes the image, no +// content/text change. +test("suggestion mode: resize image (previewWidth)", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "resize image" }); + + editor.replaceBlocks(editor.document, [ + { + id: "block-image", + type: "image", + props: { + url: IMG_SRC_BASE, + previewWidth: 200, + }, + }, + ]); + sync(); + // Default `alt=""` on the image makes it decorative, so + // `getByRole("img")` doesn't see it. Poll on the prop having + // landed in the editor instead. + await expect + .poll(() => editor.document[0]?.props?.url) + .toBe(IMG_SRC_BASE); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { + type: "image", + props: { previewWidth: 400 }, + }); + + await expect + .poll(() => editor.document[0]?.props?.previewWidth) + .toBe(400); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "prop-change-image-width", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + + + " + `); +}); + +// Image block prop change: `url`. Swaps the image source. +test("suggestion mode: change image source", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "swap image src" }); + + editor.replaceBlocks(editor.document, [ + { + id: "block-image", + type: "image", + props: { + url: IMG_SRC_BASE, + previewWidth: 200, + }, + }, + ]); + sync(); + // Default `alt=""` on the image makes it decorative, so + // `getByRole("img")` doesn't see it. Poll on the prop having + // landed in the editor instead. + await expect.poll(() => editor.document[0]?.props?.url).toBe(IMG_SRC_BASE); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { + type: "image", + props: { url: IMG_SRC_NEW }, + }); + + await expect.poll(() => editor.document[0]?.props?.url).toBe(IMG_SRC_NEW); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "prop-change-image-source", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + + + " + `); +}); diff --git a/tests/vite.config.browser.ts b/tests/vite.config.browser.ts index 037fb8217a..5a3f5507b9 100644 --- a/tests/vite.config.browser.ts +++ b/tests/vite.config.browser.ts @@ -9,6 +9,7 @@ export default defineConfig((conf) => ({ plugins: [react()], test: { include: ["./src/browser/**/*.test.ts", "./src/browser/**/*.test.tsx"], + setupFiles: ["./src/browser/vitestSetup.ts"], browser: { enabled: true, provider: playwright(), From 395f7ee18a077324e3d8be64bda2f89e483453b5 Mon Sep 17 00:00:00 2001 From: yousefed Date: Thu, 28 May 2026 20:40:43 +0200 Subject: [PATCH 04/12] block type change tests --- tests/.gitignore | 6 + .../typeChanges.concurrent.test.tsx | 143 ++++++++++++++++++ .../y-prosemirror/typeChanges.test.tsx | 85 +++++++++++ 3 files changed, 234 insertions(+) create mode 100644 tests/.gitignore create mode 100644 tests/src/browser/y-prosemirror/typeChanges.concurrent.test.tsx create mode 100644 tests/src/browser/y-prosemirror/typeChanges.test.tsx diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000000..362e4126db --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,6 @@ +# vitest-browser auto-saved debug screenshots on test failure (separate +# from `toMatchScreenshot` reference shots, which use `*-chromium-darwin.png`). +src/browser/**/__screenshots__/**/*-1.png + +# vitest-browser attachments (debug artifacts saved during test runs). +.vitest-attachments diff --git a/tests/src/browser/y-prosemirror/typeChanges.concurrent.test.tsx b/tests/src/browser/y-prosemirror/typeChanges.concurrent.test.tsx new file mode 100644 index 0000000000..54d228fb14 --- /dev/null +++ b/tests/src/browser/y-prosemirror/typeChanges.concurrent.test.tsx @@ -0,0 +1,143 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for two-user concurrent type-change + * suggestions. Same shape as `propChanges.concurrent.test.tsx`. + * + * KNOWN BUG: see `typeChanges.test.tsx` – block-type changes in + * suggestion mode currently throw in y-prosemirror's `deltaToPSteps`. + * Both tests below are marked `test.fails`; when the upstream bug is + * fixed they will flip red and we can capture proper snapshots. + */ +import { expect, test } from "vitest"; + +import { setupConcurrentSuggestionTest } from "./fixtures/concurrentSuggestionFixture.js"; +import { + editorHtml, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Two competing type changes on the same block: A wants a heading, B +// wants a list item. +test.fails( + "concurrent: A → heading, B → list item", + async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "→ heading", + userBAction: "→ list item", + }); + + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("hello world")) + .toBeVisible(); + + enableSuggestions(); + + const [blockA] = userA.editor.document; + userA.editor.updateBlock(blockA, { + type: "heading", + props: { level: 1 }, + }); + + const [blockB] = userB.editor.document; + userB.editor.updateBlock(blockB, { type: "bulletListItem" }); + + await expect.poll(() => userA.editor.document[0]?.type).toBe("heading"); + await expect + .poll(() => userB.editor.document[0]?.type) + .toBe("bulletListItem"); + + sync(); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-heading-vs-list", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); + }, +); + +// Mixed: A does a text edit (no type change), B changes the type. +// Exercises the path where one user's suggestion is a regular text +// diff and the other's is a block-type swap. +test.fails( + "concurrent: A edits text, B → heading", + async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "world → universe", + userBAction: "→ heading", + }); + + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("hello world")) + .toBeVisible(); + + enableSuggestions(); + + const [blockA] = userA.editor.document; + userA.editor.updateBlock(blockA, { + type: "paragraph", + content: "hello universe", + }); + + const [blockB] = userB.editor.document; + userB.editor.updateBlock(blockB, { + type: "heading", + props: { level: 1 }, + }); + + await expect + .poll(() => + userA.editor.prosemirrorState.doc.toString().includes("y-attributed"), + ) + .toBe(true); + await expect.poll(() => userB.editor.document[0]?.type).toBe("heading"); + + sync(); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-text-edit-vs-heading", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); + }, +); diff --git a/tests/src/browser/y-prosemirror/typeChanges.test.tsx b/tests/src/browser/y-prosemirror/typeChanges.test.tsx new file mode 100644 index 0000000000..db9ddbe1cb --- /dev/null +++ b/tests/src/browser/y-prosemirror/typeChanges.test.tsx @@ -0,0 +1,85 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for type-change suggestions: swapping the + * block type (paragraph ↔ heading ↔ list item) while preserving its + * inline content. Same shape as `propChanges.test.tsx`. + * + * KNOWN BUG: `editor.updateBlock(block, { type: ... })` in suggestion + * mode currently throws `TransformError: No node at mark step's + * position` from y-prosemirror's `deltaToPSteps`. Tests are marked + * `test.fails` so they pass while the bug exists – when the + * underlying issue is fixed, the tests will start passing for real + * and `test.fails` will flip them red, signalling that snapshots need + * to be captured. + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Demote a bullet-list item to a plain paragraph. Inline content +// "hello world" stays the same; only the wrapping node type changes. +test.fails("suggestion mode: change list item to paragraph", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "list → paragraph" }); + + editor.replaceBlocks(editor.document, [ + { + id: "block-hello", + type: "bulletListItem", + content: "hello world", + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { type: "paragraph" }); + + await expect.poll(() => editor.document[0]?.type).toBe("paragraph"); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "type-change-list-to-paragraph", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(); + expect(editorHtml(editor)).toMatchInlineSnapshot(); +}); + +// Promote a paragraph to a level-1 heading. Same inline content. +test.fails("suggestion mode: change paragraph to heading", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "paragraph → heading" }); + + editor.replaceBlocks(editor.document, [ + { id: "block-hello", type: "paragraph", content: "hello world" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("hello world")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [block] = editor.document; + editor.updateBlock(block, { type: "heading", props: { level: 1 } }); + + await expect.poll(() => editor.document[0]?.type).toBe("heading"); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "type-change-paragraph-to-heading", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(); + expect(editorHtml(editor)).toMatchInlineSnapshot(); +}); From 13e35998dd9ff44272815a0947f271411f75100e Mon Sep 17 00:00:00 2001 From: yousefed Date: Tue, 2 Jun 2026 14:32:59 +0200 Subject: [PATCH 05/12] update tests --- ...e-add-heading-to-empty-chromium-darwin.png | Bin 0 -> 12116 bytes ...d-remove-add-paragraph-chromium-darwin.png | Bin 0 -> 15299 bytes ...d-remove-delete-nested-chromium-darwin.png | Bin 0 -> 8477 bytes ...d-remove-delete-parent-chromium-darwin.png | Bin 0 -> 8679 bytes .../add-remove-remove-all-chromium-darwin.png | Bin 0 -> 7003 bytes ...emove-remove-paragraph-chromium-darwin.png | Bin 0 -> 16001 bytes ...rent-both-add-children-chromium-darwin.png | Bin 0 -> 9052 bytes .../nesting-indent-chromium-darwin.png | Bin 0 -> 5937 bytes .../nesting-unindent-chromium-darwin.png | Bin 0 -> 6295 bytes .../y-prosemirror/addRemoveBlocks.test.tsx | 455 ++++++++++++++++++ .../fixtures/concurrentSuggestionFixture.tsx | 8 + .../fixtures/suggestionFixture.tsx | 26 +- .../y-prosemirror/nesting.concurrent.test.tsx | 233 +++++++++ .../browser/y-prosemirror/nesting.test.tsx | 219 +++++++++ 14 files changed, 930 insertions(+), 11 deletions(-) create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-heading-to-empty-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-paragraph-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-nested-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-parent-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-remove-all-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-remove-paragraph-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-indent-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-unindent-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx create mode 100644 tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx create mode 100644 tests/src/browser/y-prosemirror/nesting.test.tsx diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-heading-to-empty-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-heading-to-empty-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..49010b1ccd614a1494064f0e88246f57bf901ac3 GIT binary patch literal 12116 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-paragraph-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-paragraph-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..4d8948d2fb03674eb4246658b7509efc50c8da30 GIT binary patch literal 15299 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 P+%>YN6lGqY(7y98E4o$B literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-nested-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-nested-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..ce08cdc16a8021cf2ee499d6c64a17cb6337e86a GIT binary patch literal 8477 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 MQc)`Hxc-g*0aDwAPXGV_ literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..db85c8821f0c6e224e75bff700e8f0d978d69870 GIT binary patch literal 9052 zcmd5?c|4VEyREmRLD(rn8EOk9g%mqNMMR=rrOY!WVIy-Sm7QdVOqm*Fs6;4a3Yjuh zD#<)YW-?_s>*;*G-*?XWeZMpQarPhmWbgev_jBFrTGv|ZcH_9Z^4irKS1(zzWUa~( z#XpxUVZe_|%vP?zzYW>Z+)I}5^Q$NxJn6D@u+a6)Cx!=Q?JV+bsV-)kZ!T4=J6=54 zqvL0;?ej>j&urJZ2wgMg)0;9Qk6Of^^FQaWZSzR7<7~j)DXU%D+ph3BD4cNIO=384 zfceVP%vQc$*P2dK_nPw2pZPW+tqO|2UwT2_wBN5Rk!7UcFRJzm^6yti8q@EOE50%3 z`u%Ylt#UW(@6VIM%s2o3Jb72;fxo_>7y945LAJ(EUU^L&osGr5ES5D<`>ela+*q7% zT{NGc{qZryFxKry{}ytG@PL!dL#10LrT$zV6YrHzYH59VrZ2<3OYex98q=dkkM@te zUN&d&wz9JC>x&&eE7le@H%GTBczEpRR}R>^bLXuXS@(`q_bHndEWA~Wd>*e;jf-8NxivZQ3_;!Nyfq1B6ZBvK(gV$ZpC zDS49{4<0<2arXTmmPBP2=4LW%TVoPp-28rgua_`-y@VUZE-nw`kC1hj)X#Aepinq{ zD}sf_zn)JSrF+f!805LNcXk$s8G2T{yRXoYY0Iave{?w`Gq=$j8Yy>vvT^x}6(7>f zk1BReS!OnJ$vBCm6f8(rhKVM4EiRl9VdtKm=qql@c4)|U5aN+>dehn(+bAF>7lRT9 zg@!8C#>kRL+0jg%-tXQWfAHWzYJ+u#bwiMOW$1Hir;@bew*v+SykzpTBC8i;AC8I| zr#GaY5n+z7Y~tJdxtN!>t?DKwr?1-ItzXO*hEn+iz2Y5TDhMhSOr82j;~q^qarx-sYU^z`xL#}61AZ&|u@Df;DhP|%@Z!DBAp?)#?d zBzJXpKR;I|s0O$txK9n?D`}qdZbik#eNEXCWU}){LqkI~e35egVJ|sY%aM&E9_ZUdJ$vpb^IcjmB_*Y%t*t%Km`SJ6R!Tb!9C34#W)oD~ymjmH zVlg|dKmR;*=+GaxHc9pPeoQ>!lbE>erFFxh6oWj9eb-9-y0o^IMHA>l?-4{rD<8Cc zp(8#sGt$$7-dNiyD{w`O#vH#!N-7LRV&mmi@2!b$cy)0Hi0S8W zL9Bu=^ZPgzHY|eX18@jBJ3Ffx7#M^pk?$4$}l>gsNb)6evbL8LCOuA>V1^OL&R?gjeg%S!-SF{WjjRI2zBt>gzFmWlpP zH;Lhbacz^-9cE=bKo{!Eusj#wu*`AO=DxE zZNYr#rzfY`SXmDoKhBDWB7j z`J~e+ytJ2*w z=4Qr0y;lIbV8Hmkg0J0|=cbIn9GM`1nzwJ?o^5`$7eKoc7FPG*@S0tESqHSWx!T*? zJ*L}z2byy@ez7)c^kvW~C@3f^1dx9JP?_bGW8WcAXG5y-GG^?TS@qq$j{P5R3=CMO zrKNqVPvOgP8Z5$f|KU<$d=lqAY+b?3edOT5rFrgC@u{h-r0nta>({@_qMCkvabDTV zN*FEBizO~+U?8!xm)<+*bL7a8HoQ0Sy`GM~xbxh!Y_~-fr%g8)T`gS98&DrB-DJzk z!*lE0msDfaG&nYvo}R3m`QgcF(FYG7-nenY_(PmZII;Vemo7_f97GGZ+jYEIW%c=K z1s3N zed)h(uhlyYeoSzsbLX~CH94@L$WL`M1LPNHYVU-EKnB$K@_ClGJ~|o}6c$$Iw_(S~j~@c)Nk|*JxoIl+NbEx6%Uf(h z>LVk?ES=U64NTmW+t@J^KRUhaKFC+(OzLIK-Hs|TrdLjbs;Ks=)vJp#K+i$J!Ta1N zMII{CE#{_2DeE_Ecy3m)4izcG&?lHWGwtkqGOx$T!LKhbR9<0NleM_;lNv5}Nm?{_ z^r2^fIr-pRMBEU0rR1gVkx~m1p1GTN;ni7#tH*gMP~j0RYD*>NM)WNf*XejykQ%|(8)68|Ry_d~kKvJD%#>@eP(%x9FfP@4gvb}rW*xMc9>^pVde0X$} z3*f048yh?G+=L-NKfkND*8x*EfKOii$dQ%t*eNP{;E;lX%CTbtWb&2I$-1Ui?;kLr zZ^``pJ`Wy{)rh_xZpn+1bq__KNO;bQF0NhBAt2i?GMIbgZ(L+*BPYRdyfreD&Hjbe*>XSOt=!!`AEPCSPWrq6`4# znO^plB#e(-6kw0l$CZ}Xjfs(D;6AvQC@C6|JF@zEh1H9Wfv$?+aA+}k2!*T7InEA4 zP5abRa>rIrH9PawG&MDeozl`8Q^0KnpL}{-+y4D~CB(TBq#Ky%90nHq=mI0+S3 zjM1K`pCfty{{7q^pLKD?cc4ZB${y2V@dRj~r$>fzhC3kY6|v`_s4bZt-Q6VwBD1KS z+qP{pf;VSh;}$~&i=IwH zO*d#w27!Trdu&^xFj#7$Wt7o4RHxaAb866oLNP9XpqIvbs;P+vdD56bdoFyv10xZD zO-Oh9VfFZQN=+wSz6M<_b}Gdnn%Y?kNj%*XX)A_h0v}M)_s7QU)j~o-!gotZi0`%j zLQufiXc?b`^N`+^D_6wu*663xhSc^Vh8V8}*M*r{uMauSwrczK?aQ!fz67~ zwi2$1!_ea(nvP(jcdss<|4>&)-6ks9s|8Of9ugL2ijiIPG2@)38hja{BEb3W)&pOj zd(4fNRYl8$-MhD0ZKv+bIP{B|nVHes+S;;{+S)1@A>#VEE~K310HPTz-@kt!{`sl4 zPaoQ0ZX>2~4+bhQZIsza+{QryA1uDJUGrOGrf3b^V{yU44^e_kP3f|w&?l^cjSrtb z_5WU<(%I9aWNj@H54~@M5*43>G;Mr&Aqm3`-3fR82L$#m!+d`Qb8`V^5QPBr8-dZP zDmAF^8-9L8j*|o0Kt9n<-@ZKOkH{a%@`yQAdhQ-i#_bqN{{ZLgOS9lmwo@(`q#moW)K5wuFMN8N;QFa;R9zkLNSit4C_w}jJd1Y6w zUE2*m$1g4(*jYx`OxD>uls9F7@=?!ze#!+Lt3~X-W}82A9iwTiMrQbSM1)Fb>8+Xm zCn*#RcQi&6g?hz@k;NqKjEMD@RBtF>(xy$7Xs{b}y3oFT5g8eKunJeGzE#Z3rH+^l zg6dJ_XpI~G{#&2eZSq3QsLqo4aXRyf6iQzKno?Qs_I-S8lhv8O` zKbcutvaMTp$kS5}V+XFh?fdte#SoZ;KZB7Y1Sz32M2ts%c7*D1a$o8L#4I&?8w+yQCS(Irj5<6g@pw;5;UnD6upa^ zn|){LTKsQ%3;6rv<5O!`SXexh;j58kJ#QSGo|zeS0R07GUTh{Wa)CDmWMm>ySHi8^ zIXep>-nf0671EfR<8PN?14J9rNxgb^f_APnaww1VUT6#K4TWFTqI65)W z1rv{}w-3Ax*+C2oKfl$;QL;m#qPRUST^a=!)Pocs!s>vT@EdU^pV&_L1*jzv_BCYt z-dEJl74<2GLSkaKb+OWn^YsDH@0=PM8U&OftTZT*($GDGrQzgma#r zp4bB$-nkk`Z#%G4Vb}0*ZSrzPMt-t=!uZI@W)TtpNQULhjfkiuA}ovprhU%fk7diU zH^2^Knc{e}O+-wL6`qN&22Ux7SjtlkIG;(z$B4LK^e9XMBWb1pV55P}Kg1u~#Et#R);2QQ46`o}HNmt0Z&`1kVK*AM8``lGSz(ln za{z)Nwv8M8aLG5n1LT=c8~2<&0E-4+srkQ4j5$s~e1R*n8^Cbom6gT!Gcq7U)`Jjz zX-7^07)n544bXGs*s+oZJj@YQ)dyKwoTR|ViTCbZ21`4n!;#+(3-eWgQ^O03X2!ey zkneEYogx6>cyDdz0JJ(R=?OhOBnGwZa)a(!m*GDNmy6+<2t&b)8UbVPQ;ikS7Os7d zApR1KpwXiCy9NOzTgZQYs*2hd3^iK^Z%AlZb2BqB%Np(&xBl&F#B4)cfi_CBYd=J! zI0XgrWb&yBXiF{$3nql=#2))*Wl_*UXCYCcDRU=29EBVpgd>qLW5TkMlB{CfhxVym z_?l5@jPXav-TX`L|LpqmrLV6M(UfzGD`QS`P4b(vvO2_L5D$cXL)E%r3g9gd!@zFc zy47w+Z*8n)W$4Z~B_+gULcCUm^nyf6@*}V$Go0(wY}2dN(b?GtNn%Bg5J?yli!OiWE(VV)x7z2wMb`4TMW$!R)tb4N!oZF5{>x@bcQF|LP4eMb*;LQAN;vYvbOc zEnBxq=uu1vMa8(sk99M5LE2a# zR-tfSKWJws29-b|jz|z3qm05JQ$dXwH9b9UFdAjg*>{&wUv30d+jj000R52y`Apjo zMLxhV!kp`5<>IOUpC=_IZbrUAASFpt2p8H7+9Xs_kibzpA~!=kjSe>bibxHX3Z=Su z;=~C61`d!)^Y=IFej5VJpc1uEFMS`A*ia2^REri6&{L-&UqYO`e6g0SiIu0HgML+1 zQX-SbH22#XgFP(2y}M5#@)PZJ3vs))1DF;dwg)&3A?^boynnn(0(qs$*wmB|G{Sbx z_~X#|2x%guFAC$p!U#DE6OZ(IU+-m%yU%|Xfxo1cm>A>y003qI5h1?yBqTE<#tBds zvDGxp3;gLWptR(71jAIvfcYbn5zfDt?cZo?M%ngZj`ZUNZ zGgAs(=F8~31@sOBM?_ngPivu-K*zejzBcCYzhmXU&i(#p2Zhd$fGSWZRqNzQMYMMf z+*L(Y6@ek)ZQI(WM?0Ga(C6r)cDo<_r}Ag}cc{n8-TIGwuZ=JsLW5S`T!=HrAyw!j zLIh&?a}x~>3KG{Z@Qj94AS~!hn`VMsF2d#DXbwju6kTL8Wpuu>iE63V5omP#fiL1X zL@Wm}f@b|dauJdjHi9T9daoRB;4s4U6@(EO-?S=R+`9SI22!>RCyiFFzhlRao3QaV z=Gb?_smsszX%P4z0;Fi?7HDUO9ZycD5SbdHLqF%%OJQ+wTVWEeV?l&)!y!Uun$w^T zA$MaJCWI8bhKzBf>YNP3rW+TpAkwsIoK~tKjzm&Vzy=UhJbakM!BLis)%d_%^Z7z# zqCX!0lP_hv|5|KiZ7u!FmoqIM1aNBG^=k@cr9tiPb{R3UsEw(vM$k>1;2?Y}f?B~d z+hC9pX9L8n=^C;i3MBh?E+87??~PCRE#Lt-@`c1zRMhiEXCM?cs|XSRV5$L_F89Cn zFVP>RbUr#h!AzW2K!u`&#F(6&9IS-G!T9Tk%X96Cuw)I)iPY_$`iHacE}U^UT_h4f z#62^Q(8Gk_0>>N%Jdw(E*ZbYLao?u-6%fGy4FP#Re)L$Z91r+V@y*5TQ=Tk1`g{V4 z8adB(-5XWHQxw{o6Z>-N;Nimz1);{M^Y<|VlG3wxj^u4DA}&i1F; z=_?|uO926j^AIUPCKooCez7++b@`#UBHJ?+9fT9?rRfiSsq$NmkO#c9iGW z%U*f9(r}?j*Ea7k?48tkIPrAL+EOUR^`yYq;=f-Jw6%Y_%_kR;byHPyGY=+bALfh4 zY+u40&bR@H1l04_tDMIa#1CB)1Q(nP&9zReE*qJcFhgVvxfDp8 zc;MiYI1NKKrw*NgkM8^Z=M!B4=n6I*h0Gwrrb0Tl-I8h{{+<2at|^&^XBi*&}jcp{`BL&0?Y4U`=Q#PL?3c(V!5>ZbS_+(Go{%n{DUA7kz$pFHu)M&9TPbq4 zZ7g<5&pc5i?mfMyWMz5vlb1V-duoM;$qHGRpyC!dH^ImV^5w~%jo-gD^ZjUe_U~^v z&%?t*%F1d<5EB<~^XLlu`7|5y?)N4Wk8w)Y)p#YJH*2%u0d=ipJ3QH@<)Wm?8_LTY zRdOCvreudcW0-zeeSLikR=WJf%8IYiL9QUHPl>tpk441g<&9=%XGxivdcXdflYaSW zx{rP93r&7mtI(Qo!TcWPe2=5u{I{;|;@hd|Itiqn*$xv&+sSS+i9~9pw`cS4@nxl# zIt>MG-m=9qRNwEc#}p;U=+&(qyLM4Tl6+G%1iVyZ*mv^U)IK~!9H=PY%gv4PoVngk zp^U$~v&DOPvZy@`yWhU6Pz^y8Gef67@AjYBl50|=<4|M*KW!PhoyjUe21Z6%N3k)Y zGBSV)q-gKny(vZg-q=5%aT#rD8L5A487F5O>A$`_V8@ynia%u^KSd7NFHP*sGczu7 zNSIR9*MB4tD`nO?8GqIzuhe5&s;DQI!EnalZrn&-VoqcOmWt5;;Fp^JSx2n0eOCm~>!oEWg?6&({pH}s!N6|AqKxe`AY!^Jdc1L=rtO zX5;faUT8j^>$c0!N~Y6^lYMXTn>K9{la$2WyqN-3F&H4MFX78sUqgZ)KI{A{oGC1gv9N%*wav0>j!)}* z>tQ$kIa$GHK8G$YCDjqgzSH&Fmy?T&i?;n`UK~4jwv~B(cV*4oFtTcTlFVXxdinU+ z(OT2^mAqf0_|D0ZFuKomh=hVmLPDFfe75H2rNQ5KN5#cuxlMG?9*87<4w0_NtYIxJ zHQWpZ+V7T0eftZLCOJ8|0T>0{M?HBWinX#zM@R5qU8<+KHo#u>7T*>V75!|T+5#*{vE#_4>1 z`Fwn@Ly^SQbnTY=oIk(zS#Y=)6l6D2_h{*Bh_u{|_iUC{R>X;pTrDj2DxkPOVBHTh zI{3%${3mbTHTR2Hlxgwvh=`w< zv^I^nxH#`sW+%p>_YB#-#}E(^+eVAB?8q_F($VPvG>~srbMWlnpIveMYPwC;ea`N3 zpCS}6zyj*%C=niPXlgQmPS@s(DsA82-GNr8H4SU2siPB93mo3Z%bSjtQS9hZwFCvX zNNQ2#YOaio3>)%W0$<-zVU35B?EDH6K#ksfdVm5$;>^q>1qB7!w{8_XeE2*DgQ0&Z zNR@!SMVEhz57^o7HFn7U%gYN&KJ%1rvYlng?cw{u!NIq>$ab*^a{jyPXcM2Mr6p}~ zEC~++#2kIdWrPHEFc?Bal5fG&Blc(12-lPCA`A z*j*V=shH?9C7+<=V+ghr-D1Y56ArflfE&NE3X=#}85VRKe7A`?JwVvTb@1~eVU2zK z{3KM+>2$iBFUv`ZNx2F%YX?i<5fG4)mX@YcsrAk)tlJ4^J#_3ka$0summNlsnZDK( zwVhrR3MI1wG?4sj*OizwY-|H?Go@BAz!cEnTw=<&q^pa6ddmK_RWm>5!83XS=(dH2 zhYR@4>B}GF!nm%jc*!T|96ff7zB_>R`{vD?ZyAw^(WLBbY72-us0FQFB#Dx6qNeVO ziHUe@$)0Q>^uyeoE7`V99i0;RKzqbVbpbaww^Fm!<%Led8e_i^V44gx*@Rrj zt9ux|b)Ou$4a4~@(K6_r`AO$kgIoOOS~Tb_sX>ZR+qt12K_Zjh&ar*_XIfhZ*{)Lx zVAIfA84#eRrgmIROiQ|KCJ;g1d0_SQA{0^JFP&Roabag?uV<`I2M|Pb6Ae5)izU8~ zeZqq_Q};k&L4e?8TPXk1I?95EXmN~f>o1q%ylTmtBLsP0;7|WwzrPnK?O8RG@63 zE1jZgQ4`t%;(CkkjMH;dsaPpOg#`9T=NP*VQ3VBKK0dxe;1GR(CF`Cwu-HH6heBdDtj19*G;T#2-_w59J!>p3^7?$`}ejl1s0a_ z{wu}cEzwV(ieo{>OI>LxK>CJ4a6g`X`)r{4-DO^{AYY8=o0w$B$Md5&9ZwDth^!r0 zU-QT%RGM>w5;ab`XIFr3+suu(5SvO|#%?V#8l~AG6y;R6I*xNaQ*hG)<vlZVOZRS z3wNLdu8R!Id-v{TRX{r76REUIw5Qza;mlvk-YHIiV*S;q;euZIPzC7W# zGF$6C-(}5n@L&#Fcxo)6qrz|b*5X3tdM=0@x~8?YH8gAuLpJZTfM|Es%c}$^hr{DD zURi$v!@UHmL+p8z3z{$jGXge|Dj)_nG&W*kWL^YeIV{t&^XI@3CO|U`ot$1mJd_NF zXGng_^U#A{xPTJnhdPe0EPkhdPX4|7wQZ_THPxBcq9F+7ik-SoB8dT5Gr>?xy_qBh z_iv&gwi`hG%PZ^ofLOUH+ z{|OCaxmHpb4DQ^ybNn*5{>HE1%R(2Li{{eQ7cW#nNI>EFe{&&8R zev&u}ik@NF7;_w0!jIWIDkVY#K+4Zshbg`ITlQl zSJLb5gaZehGAMeWT_DNX z_aOlP0TzH!_Oj7n6`M0L5(A%g{*}aW47M&mLG&P*pO}6oaZf z1QQGhwPZj*032XdRaL|txV)U5lcUWE{AnB*AZ*lUMzH2UbxjR@yd@R(gd~09 zgx=AkN6`bKA0YV7ojb6i6E&ichCo%L+h_)U&<3XieV{Yl|IG0glmIaw6VBR=HpOXOx)jkf852}B6am?)wYAlN z;O$-NJvS}{tCmw|#ekQhsS5gIoT#w@MxrjE^XyD=WaM5HU!YQ`gh7{z;6*%eM3lAu zSXXr*)wV6&_WNkF!tJkjwY0Qe1G>;-1-J$*b-xT@+PKWKz?e)#cSp|LZQv&d zEO?@rnAphJmN4Zt;PBrV{vsp8?(2sKQ2f@};aYYCagyH0!*d)CltAh$DyWQK zxf1EnTP%dVd^zlm<3Jvttd%HyEftGJ5IGI?h@zsRuV24Hphz>(#A4gfdk1drR4|8) z>78}|_T=2+2>0q~^xTVDDK|Gea^A&?4Xm^NKq{Ct&9Kyck_7h(L^#01z84Fc`!8DN zn!PoId{!C_>FD^$llpz7Zm=oMaeGkfPz&L;{gkK#W^ZT_7#O(kr=JePZZ2DXd3nQ| zQ7^(=n#j+7^Tsd?KoK5#ax?P0ME3nU9IQIvE`mo;5G5UuO>uilYAV&aIDS_3f^;>AfoV?0Na+WyY#MId-7)) z0BbY$>MUgikExtES!*%iGH`RFyI6B?O^`t-HYgP9l&~+>#wPRP#f#`sXk$JA)wFv% z_tQT-;D$mBSlv~x{_r6aund2B>dj5{nN%(|I|3FfnzN^VhQ@bWh9ICeG&kd}s%=Qe zcG&9o=xCnTU&G~+GTc1DraFWdLDS4TR=uwO5!mD9Q1}!6{rYkH#_xBd|M~_G32-o5 zTU%n&P*o5JLfR6_c$YDq1Vt~nIU1aTeL~(H`d@)`NHT@5gTleV>z5N1 z(VIB9-UAF4SE9vo!v7U3gKIMA?9Fb3>cdstLjfhRjJD(O(E0(`*TFnmZ^4uu0V=#x{xzdDKhBbxMoB!&N9hh0#f-+mDDp_=_5 Q>?oqCrlXp7@p|BY04*+6KmY&$ literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-unindent-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-unindent-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..1a51ad9fa4d648fe11b178cd27d4b0e530c83e8d GIT binary patch literal 6295 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 { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "add heading at top" }); + + editor.replaceBlocks(editor.document, []); + sync(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.replaceBlocks(editor.document, [ + { id: "h0", type: "heading", props: { level: 1 }, content: "New heading" }, + ]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-add-heading-to-empty", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + New heading + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + New heading + + + + + + + " + `); +}); + +// Add a paragraph after an existing heading. +test("suggestion mode: add paragraph after existing block", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "append paragraph" }); + + editor.replaceBlocks(editor.document, [ + { id: "h0", type: "heading", props: { level: 1 }, content: "Title" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("Title")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.insertBlocks( + [{ id: "p0", type: "paragraph", content: "Body text" }], + "h0", + "after", + ); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-add-paragraph", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + Title + + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + Title + + + Body text + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + Title + + + + + + Body text + + + + + + + + + " + `); +}); + +// TODO: block-level deletions DO carry a node-level +// `` mark in the PM doc (visible in the snapshots +// below), so the data is there. But that mark only has an inline +// `toDOM` (renders text-content deletions as `` with strikethrough +// – see SuggestionMarks.ts) and no styling at the block level, so the +// deleted block still *visually* renders identically to an accepted +// block. Decide whether block-level `` should +// also have a visible affordance (a left bar, fade-out, …) so +// reviewers can tell from the editor that a block is pending removal. +// +// Heading + paragraph -> remove the paragraph. +test("suggestion mode: remove paragraph from heading+paragraph", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "remove body" }); + + editor.replaceBlocks(editor.document, [ + { id: "h0", type: "heading", props: { level: 1 }, content: "Title" }, + { id: "p0", type: "paragraph", content: "Body text" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("Body text")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.removeBlocks(["p0"]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-remove-paragraph", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + Title + + + + + + Body text + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + Title + + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + Title + + + + + + + Body text + + + + " + `); +}); + +// Remove every block from a doc that has one paragraph. +test("suggestion mode: remove all blocks", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "delete all" }); + + editor.replaceBlocks(editor.document, [ + { id: "p0", type: "paragraph", content: "Only block" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("Only block")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.removeBlocks(["p0"]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-remove-all", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + Only block + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + Only block + + + + " + `); +}); + +// Delete a nested child block, parent stays. +test("suggestion mode: delete nested block", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "delete inner block" }); + + editor.replaceBlocks(editor.document, [ + { + id: "parent", + type: "paragraph", + content: "Parent", + children: [{ id: "child", type: "paragraph", content: "Child" }], + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("Child")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.removeBlocks(["child"]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-delete-nested", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + Parent + + + Child + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + Parent + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + Parent + + + + Child + + + + + + " + `); +}); + +// Delete a parent block that has children. Documents what happens to +// the children – BlockNote may keep them as top-level siblings or +// delete them too. +test("suggestion mode: delete parent block (with children)", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "delete outer block" }); + + editor.replaceBlocks(editor.document, [ + { + id: "parent", + type: "paragraph", + content: "Parent", + children: [{ id: "child", type: "paragraph", content: "Child" }], + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("Parent")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.removeBlocks(["parent"]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-delete-parent", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + Parent + + + Child + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + Parent + + + + + Child + + + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx index 0b81bc775e..789b500048 100644 --- a/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx +++ b/tests/src/browser/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx @@ -93,6 +93,14 @@ export async function setupConcurrentSuggestionTest({ const suggestionDocB = new Y.Doc({ isSuggestionDoc: true }); const suggestionDocMerged = new Y.Doc({ isSuggestionDoc: true }); + // `Y.Doc.clientID` is randomly generated and CRDT tiebreaks on it, + // so concurrent edits that touch the same logical position can + // converge to different shapes between runs. We deliberately do + // NOT pin clientIDs here – any test whose merge result depends on + // tiebreaking is therefore flaky on purpose, so the underlying + // non-determinism stays visible. Skip or `.fails`-mark those tests + // explicitly rather than papering over them. + const managerA = Y.createAttributionManagerFromDiff( baseDoc, suggestionDocA, diff --git a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx index e49bba8a1b..0edabd1633 100644 --- a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx +++ b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx @@ -176,19 +176,23 @@ export function editorHtml(editor: BlockNoteEditor): string { } function pmNodeToXml(node: PMNode): string { + let out: string; if (node.isText) { - let out = escapeXml(node.text ?? ""); - // PM stores marks outermost-first; wrap innermost-first to preserve order. - for (const mark of node.marks) { - out = `<${mark.type.name}${formatAttrs(mark.attrs)}>${out}`; - } - return out; + out = escapeXml(node.text ?? ""); + } else { + let inner = ""; + node.content.forEach((child) => { + inner += pmNodeToXml(child); + }); + out = `<${node.type.name}${formatAttrs(node.attrs)}>${inner}`; } - let inner = ""; - node.content.forEach((child) => { - inner += pmNodeToXml(child); - }); - return `<${node.type.name}${formatAttrs(node.attrs)}>${inner}`; + // PM stores marks outermost-first; wrap innermost-first to preserve order. + // Non-text nodes can also carry marks (used by y-prosemirror for + // block-level attributions), so this applies to both branches. + for (const mark of node.marks) { + out = `<${mark.type.name}${formatAttrs(mark.attrs)}>${out}`; + } + return out; } function formatAttrs(attrs: Record): string { diff --git a/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx b/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx new file mode 100644 index 0000000000..5973e89c41 --- /dev/null +++ b/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx @@ -0,0 +1,233 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for two-user concurrent nesting + * suggestions. Same shape as `propChanges.concurrent.test.tsx`. + */ +import { expect, test } from "vitest"; + +import { setupConcurrentSuggestionTest } from "./fixtures/concurrentSuggestionFixture.js"; +import { + editorHtml, + waitForSuggestion, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Two cascading indents from a flat list of three siblings: +// A nests N1 under N0; +// B nests N2 under N1. +// KNOWN BUG: y-prosemirror's diff/applyChangesetToDelta throws +// `Unexpected case` during the merged editor's afterTransaction when +// these two suggestions sync. Marked `test.fails` until upstream +// supports this interleaving; flip it red when fixed and capture +// snapshots. +test.fails("concurrent: A indents N1, B indents N2 below N1", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + // Keep node names out of the action labels – `getByText` below + // would otherwise match the column heading and trigger a + // strict-mode locator violation. + userAAction: "indent middle block", + userBAction: "indent last block", + }); + + // Base: three siblings. + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "n0", type: "paragraph", content: "N0" }, + { id: "n1", type: "paragraph", content: "N1" }, + { id: "n2", type: "paragraph", content: "N2" }, + ]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("N0")) + .toBeVisible(); + + enableSuggestions(); + + // A: nest N1 under N0. + userA.editor.setTextCursorPosition("n1", "start"); + userA.editor.nestBlock(); + + // B: nest N2 under N1 (in B's local view N1 is still a sibling). + userB.editor.setTextCursorPosition("n2", "start"); + userB.editor.nestBlock(); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "concurrent-indent-cascade", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); +}); + +// Two non-overlapping child inserts under the same parent: +// A adds N1 as a child of N0; +// B adds N2 as a child of N0. +// +// KNOWN ISSUE: the CRDT merge result here is non-deterministic across +// runs because it depends on `Y.Doc.clientID` tiebreaking, which is +// randomly generated. Empirically we see two distinct outcomes: +// - A wins: N1 nested under N0, N2 ends up as a *sibling* of N0 +// with `` (B's nesting is silently lost); +// - B wins: N2 nested under N0, plus an auto-injected empty +// paragraph appears with N1 nested under *that* empty paragraph. +// Both are arguably bugs. We deliberately don't pin clientIDs at the +// fixture level (that would mask this), so the test is skipped until +// upstream merge behaviour is decided/fixed. The inline snapshots +// below preserve the "A wins" variant captured against a pinned-ID +// run, as documentation of one of the two observed outcomes. +test.skip("concurrent: A nests N1 under N0, B nests N2 under N0", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "add child N1", + userBAction: "add child N2", + }); + + // Base: single block N0. + userA.editor.replaceBlocks(userA.editor.document, [ + { id: "n0", type: "paragraph", content: "N0" }, + ]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("N0")) + .toBeVisible(); + + enableSuggestions(); + + // A: insert N1 as sibling of N0, then nest under N0. + userA.editor.insertBlocks( + [{ id: "n1", type: "paragraph", content: "N1" }], + "n0", + "after", + ); + userA.editor.setTextCursorPosition("n1", "start"); + userA.editor.nestBlock(); + + // B: same shape with N2. + userB.editor.insertBlocks( + [{ id: "n2", type: "paragraph", content: "N2" }], + "n0", + "after", + ); + userB.editor.setTextCursorPosition("n2", "start"); + userB.editor.nestBlock(); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + // Wait until both inserts have actually rendered in the merged + // column. Waiting on just the PM state (or `waitForSuggestion`) + // races the React/DOM commit – the screenshot sometimes captures a + // 100px layout, sometimes 121px. + await expect + .element(screen.getByTestId("editor-merged").getByText("N1")) + .toBeVisible(); + await expect + .element(screen.getByTestId("editor-merged").getByText("N2")) + .toBeVisible(); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + N0 + + " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + N0 + + + N2 + + + + " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + + N2 + + " + `); + // TODO: the merge is asymmetric – A's N1 lands nested under N0 (as + // intended), but B's N2 ends up as a *sibling* even though B's local + // suggestion doc had N2 nested under N0 too. The first-to-nest wins, + // the second user's nesting is silently lost. If both users see the + // exact same operation in their local view, we'd expect the merge to + // preserve both nestings (or at least surface the conflict). + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + N0 + + + + N1 + + + + + + + N2 + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/nesting.test.tsx b/tests/src/browser/y-prosemirror/nesting.test.tsx new file mode 100644 index 0000000000..1fe3518a3d --- /dev/null +++ b/tests/src/browser/y-prosemirror/nesting.test.tsx @@ -0,0 +1,219 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for nesting-related suggestions: indent, + * unindent, and type-change on a block that already has children. + * Same shape as `propChanges.test.tsx`. + * + * The third test (`change parent type with children`) is marked + * `test.fails` because it hits the same known y-prosemirror + * `deltaToPSteps` bug that affects all type-changes-in-suggestion-mode + * (see `typeChanges.test.tsx`). + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Indent: take two sibling paragraphs and nest the second under the +// first. +test("suggestion mode: indent a block", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "indent N1" }); + + editor.replaceBlocks(editor.document, [ + { id: "n0", type: "paragraph", content: "N0" }, + { id: "n1", type: "paragraph", content: "N1" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("N0")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + // Place cursor in N1 and ask BlockNote to nest it under N0. + editor.setTextCursorPosition("n1", "start"); + editor.nestBlock(); + + await expect.poll(() => editor.document[0]?.children.length).toBe(1); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "nesting-indent", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + " + `); + // Structural move encoded as insert-at-new-location + node-level + // delete on the old location. The original N1 sibling at the bottom + // is wrapped in `` (block-level mark) and the + // new nested copy is wrapped in `` at several + // levels. So accept/reject UI does have the data to render this + // sensibly – the snapshot below is the source of truth. + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + N0 + + + + + + + N1 + + + + + + + + + + N1 + + + + " + `); +}); + +// Unindent: nested child becomes a sibling of its parent. +test("suggestion mode: unindent a block", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "unindent N1" }); + + editor.replaceBlocks(editor.document, [ + { + id: "n0", + type: "paragraph", + content: "N0", + children: [{ id: "n1", type: "paragraph", content: "N1" }], + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("N0")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.setTextCursorPosition("n1", "start"); + editor.unnestBlock(); + + await expect.poll(() => editor.document.length).toBe(2); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "nesting-unindent", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + N0 + + + + N1 + + + + + + + + + N1 + + + + + + " + `); +}); + +// Change parent block's type while keeping its children. Hits the +// known y-prosemirror type-change bug. +test.fails( + "suggestion mode: change block type of a block with children", + async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "parent → heading" }); + + editor.replaceBlocks(editor.document, [ + { + id: "n0", + type: "paragraph", + content: "N0", + children: [{ id: "n1", type: "paragraph", content: "N1" }], + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("N0")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + const [parent] = editor.document; + editor.updateBlock(parent, { type: "heading", props: { level: 1 } }); + + await expect.poll(() => editor.document[0]?.type).toBe("heading"); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "nesting-change-parent-type", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(); + expect(editorHtml(editor)).toMatchInlineSnapshot(); + }, +); From a5cee50b38ddbdd6cea216e700c3fbd6fb186948 Mon Sep 17 00:00:00 2001 From: yousefed Date: Tue, 2 Jun 2026 19:53:56 +0200 Subject: [PATCH 06/12] add more test cases --- ...dd-remove-delete-image-chromium-darwin.png | Bin 0 -> 10556 bytes .../move-paragraph-up-chromium-darwin.png | Bin 0 -> 10649 bytes ...aragraph-with-children-chromium-darwin.png | Bin 0 -> 12548 bytes ...add-column-and-add-row-chromium-darwin.png | Bin 0 -> 22863 bytes ...current-row-and-column-chromium-darwin.png | Bin 0 -> 22933 bytes .../table-add-column-chromium-darwin.png | Bin 0 -> 14177 bytes .../table-add-row-chromium-darwin.png | Bin 0 -> 14396 bytes .../table-column-color-chromium-darwin.png | Bin 0 -> 14656 bytes .../table-edit-cell-chromium-darwin.png | Bin 0 -> 14990 bytes .../table-merge-cells-chromium-darwin.png | Bin 0 -> 15063 bytes .../table-remove-column-chromium-darwin.png | Bin 0 -> 14051 bytes .../table-remove-row-chromium-darwin.png | Bin 0 -> 13740 bytes .../table-split-cell-chromium-darwin.png | Bin 0 -> 14674 bytes .../y-prosemirror/addRemoveBlocks.test.tsx | 88 + .../browser/y-prosemirror/moveBlocks.test.tsx | 198 ++ .../y-prosemirror/tables.concurrent.test.tsx | 1234 ++++++++++++ .../src/browser/y-prosemirror/tables.test.tsx | 1712 +++++++++++++++++ 17 files changed, 3232 insertions(+) create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-image-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-up-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-with-children-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-add-column-and-add-row-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-row-and-column-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-column-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-row-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-column-color-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-edit-cell-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-merge-cells-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-column-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-row-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-split-cell-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/moveBlocks.test.tsx create mode 100644 tests/src/browser/y-prosemirror/tables.concurrent.test.tsx create mode 100644 tests/src/browser/y-prosemirror/tables.test.tsx diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-image-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-image-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..02eb72e56892a84d3e8c8c4f5a5515a8d4aacf92 GIT binary patch literal 10556 zcmeHtdpOnUzxHaTrbeZiLP*Ti!;~b1l$8*xsZo<0ri3C(lH+p7 zIm@XTKg3FME<%NJNNTajdEXEH4trmFzyG~^zt?;1>sn=5zTfBjJfFk;xj*-3T{SqY zvyxAgk3ylWJg|SS5rwi?4ey(meS`nA19m;4P-MP7uy?n~xkW>NuKeRA{m9&>y5XW# z1*^(R+I{^?dsd&meZk;}_U<$-xti~^>W%ISeX}S@V7KA@@5GOJn&=wxEpolTWU2+pC(q$ ziy@kmCl*mo{k+-dN(hy^-*4Er%UCwtNH)A-Q>67hyO{yAns+0UldWYLSXc*^cJED& z4{7i!o3cqTlEKTyqe77V>f-XA?Q_#3^ci03U{9ES%feQ*b#!>o_N?mn?V4ipH-($o zrhNF|hI<@xEQUB_eG}OP6WL9z^gN{it=&nn{%oe-n8i#f?(4lB6C+5WEM?v0-=(K_ zO?Jce-&0dlN8?uc?XTN0erKC&+fNkA1wW^gCr$P_IwnP^zkg8P)Y_UfUhX&EAywCs zZpHg+xl-RP`;huyf3G;&Ch_`|`Bc2M;vmOvHk)~#d!S@Z*>tax3YD6s;?lB=a^Vuq zU^qL8>7&bBu2gIwxK7orNiMVaUT3Fmb8~b5oik7CZ#yz&>J$oI-eb&-Ga?7sFihJ+ zkN6Pv0qG8(!Su;U#>Co9tG|so+va3h=3hdgJc{ejYqf1$srvG6f4@`j>FvDH(Y}nL z4-N0%r)3nr72N?323B>Gi#0!8)$hxk9mw3eZChe9%WN=owlCC^qfpQ{JyO?NP|8yn zN->vr9(h}<`_t;0W1Go?Kd=WC6?mV!LkCA<=ZY1}rce9vSa!|K&9{RTi{5YEG5xVz z{nOvp?m(|5ReoqKUyR+jR5ua_Rk9ro+X>u&D<$+K3aweN*vER8DOI>{TP z52PgVQ7(*MtS{;z_q64?@VFc$mzhZ(ISI9nIufKT8K-5einh4jiEvdW(gq zsA$7ArP5@%jE7o`sR9N|ig`}!>Rv76F&=j%qnN8}Hf&;SzSw4ZYDJcZO9?PLAaO;<^bIiMt}gwxYU>vaaJ zrDB^pyt>kHLUS`)?*tzopPq>-#OX9t%+4MorW|~<_Qj(5p zhi8~#Vb5y8Yx@GqkI+3mrLXT#Hjz!q$}(im&iWIpGjr-Rtq^sg#3dx@0FaT6M~>`X zvt|vKI{IwSR}{*X#8x|o4Z)Jx>AE@V;NW0(e`54jP0fr$(c7xGC@aTJOn7^5bMH(u zmro2_DskRm)Bixgn#TLHocTC@&tJ?8Cuw-*n)BUO8 zGP`TnuC+BXrmGmz;kqfMrM60?pYL7#^X}yw)0+&r z)}HnIEDPLX_;*g9^0qzy=|441$!LQf*VEJUv2gs;r-!}a@3X_5>Hp!l@)Szva_!+8 zmoI-4bMDR6wg*QpQFl(iUd1EfPT^od;vWZm8zvb)+HW_ z_WaxTI(>+{`p1udmu314$iN^cfF|l=&+TdTFwQBpwEX;SdAYeK^ewo?A*W6JaufIPjwgphl!Zwouv-*4X?BNCl2hV>lrTOVw*XIv*A3Ahs(r?M7 z-3o#$zM*+MQLgGExr*e=J3C~Fl;IdFM)E#|GOU3i?!})jH}vQF`1z<{&94 zdsgkZ9}>b3xE&-ev76)BEvHb#?y%WxlPs53MTI=q_HA@Jy*kIaS(dncvaPi=F?MeH z9eZ+s#T#wZXB~zAEOU+r%Zf9mJ%&ONu4Y{mPrXK^7+fiCnnjLw?9|J5H+2(6QCzGE zW$38}5vZG+*7y5dE@6t4jTq?bGuXE+x|umJI7rKa71D8=pvKwv&x~L!E=t(|skURt z|J}^O!tH+jdUiLIwTA=jrr)fc1PZ1kCQ1&yEHu^;_r6ca&(*4KA8xf2@6T2K280c? zwYT%iC1wqh?wk%hJJgmCnCH^!TpOkG73EdQF;B|z|*S+iYesfi-$I02bLB#P+ z9LXRiV$>Ar8g=K+O{v(r!FnBuX5#aS-pE0?Izme5T7TW_`?{Wqx2k1GG0hza4E8ja zvjogd5ln$Rkh&Az=wWA2Zy(g2o6MX`4LhuUfVp#~aVHIg#D6R&wm&WB=?&L*%lwnK z3A`4fAaC8e_5Rd{B7G!&67q|RLsjxpSNzp4eG>sTjtR$Y5gqon@Q&KHOBHny&g7ZB>bpV z;=XCx+S*&UZ6jBN#t(d4D*_XGBuc8tG_k9K1paE$fK4^kd@|K3DjKa|>P;}vuH z@@3C1zw!R38p8rW^MFUH{(8fY2)80ctGv9NJ3Y>rEAXFejCJ<$v0Q6+K8sKZ`q{Ix z0(||yE){YGT)J(EB`HFO)m|?yfgj0< zMrVc@c36J$9b?uJm0}S%9w$kYCxfk?@j=MsdXF5R0kdr>D4TI5c2GyT=qdbExsC@` zlv-A1r&KnbT{=ckU`!<)0XANoVs~tn!Z6irSog;lS>@ca3-*<~wxw z@IaHXezOrwSS7(IMo6ous3aI4-oCF=*sptC*R%LgP1!n>_ivUi<@M_`EK5pCe0r|y zcus$+8VuU<^cj;~RK$CAY1IHZHX!ksMMPl5J+Z3#t5VG5M*W>Oq@n_H=!5A6BoWvH zsVq-IPEh)9O0B-ycSBFn5S}5I%*~7scFhiTdBO=Pd3m%f^Mfcq4I_0sGtboRFe3#f zZDWXzjX&&NNP=J`#XUAbaKazetsnVFfkQokZiaQ1%Eptxj~B(}Sk*{s`k z@>$nRN0-xy6Z=V$6Q9kKg#x$c^n%V*(DA-hR>o>l`B~FeKA{PXPG}fV=##A#UEV#7 z0h|*CeWUt5uu*{jO7rvQ$qAqz4i*uXR#qg1-L`Dm(w6TUoyub6o$l4$7jH-l3JFQg z$T$pOx6C>k@YSyuWD)Cd1I^AZGb&27#0+uW)Y2l!$<9?p0VcV{?d7QK*pXgYscjLF z5NMQgAH5VP6Du)MdulWIw5NKy11F+dI6e@01V_t=@v}C>))7J!6BC1OrNQ^dn8R|> zwW;y(dwNe>0M$**%p%{udp8eo`K~PBBKn@Wk)3n#00`C2b9=6=KYQ!nZEO+cqwTi? zeg;-nEK~|_l+{2%xgOZ=kED_k8{bB3nL;^rBALZ%L}q7}IJvllIX0)#+Khkr?inr} zwRLfKZ!P_;{7AZWp%Ie+uFQAKPE-U6wnZ+a74@exVtEaZKn0n{Cb)=3w)zIfeDn&{ytV6(92$@a!$bTL=+(H;0eXynf zK{>xMLL@OMiA1!l@Cs7#j16$%BaJ@}O7cj1N}){K{jzwze}8pGd;TXyb8Szq43jh}^)cC6se>OX$+;M6Q?4`N@QR z|8Z{9>V~yt(s>2AzCdO32EVx}Bgu`g=Jb9-*J0@FzLxT8#=%p%z1X7W*y8ETgW7Gy z78J_+$lBR~=xl&;J8r$NxU|f2}^Bs{f;s+y6IFxW2~OdGT~elqdn3f4rT? znb7ll9}Rzgtg{$MGl3t|A^3z~O?}+S4)y+c3BiwLnv;f39qQ!Xmh>?EvS@BFULw3D zeGQNfNctfsHe7Sc0@7&l#@Ly((HC{l9H)=`U(rgJp!Qz)+EiYMl+6;*FdmprvYlh(X3nG?oDXv3N~-wo|2Lx<87L0t6(2=>X+;nX+mq)k_tq* zBDoPx7JGow2%Ye}X6C=Vl;3cnc=?kjL6uciyer$( z)n%bGHobg#2V@(>AiVn6R#nxc0#eDZUi~(&puh!1adYLerEaHB8-cffb*hh#$lgnz zc!)vP1NA#NY@!%xye*ohCe~7<5Xq5=u9X$zAMCin>Ai_wmj4RRe}7UV*b-wu$~ssC zIkWT0lLv=}hPY}W8{6}FrYMJmuM7-0zwYQ(3qixS_|-E(Qa<@_b*tgxCaVJpM(AT9 z6i3~@ZJ1(Wv}ezysHmtO5m1uR(OhbKzN;}5IM5$zzo#WygPPvcd{@dzGqzPUTnd^2 zSbMfSSd)sXDhv97-pZ9LoxrS_uI>4R2%_dQ!ChXwuz)1_MM4n`uA$qwc9q(I;GqM( z?&#)rIK@P_qoYG~-MYqq|JX6fNDjI!-H>i+FdlFiEGXVeCu-8z*jdQCf_zIzC#csu z;!V^T*a9sSUWDA(GG^#sG#es_z(}BTH@ekCB_zzyR#jG3=01Fwymvz!I(;xQfMQTQVWl!YG7iBXDq~sF>KzD&hDOTT`JSdV~0? zpix4Mz-z=40(>b8m*S3=&L_3CPGI+e6-O;g&lf_Z20PEg#`U2v{PowxFMxpo!Vn?a zXfT-2$yqFx9z2qVmHZNF;WErAc!t44Qv@goBs9vdleKExM_$a!g(E$&B%+qygaf= zDr6|M_uONfMM#W*>4TFagW95rB@P};&d)a`cR5&y3JV)lAVi=QgJ9>KpE&JJnh(Xu z-sDG^en5|v39Eh_ zR`-tgHrgG4O) zMr%Yx*Nn{=TUkY$W>}{nO0lO!Y7ZCi{f$}(Ik#mh`XHDF;xU4hG&~^XNk9YiUa89h zv}D6|Q!_Koep-Fqar{FESq_3gkTN$nFV6`OhTE9dib-goWNsfENdHai$8gDUPi1R##VVYHw#jY{0{SiU28s8e~66W~3ra$gywF2S!jc1`(T17&`)R zxX<&`JBqwmkdG>bE4n?P93rnDuYoJb99Q&p`SF znst_Gx)G@`qQTC`k82|ZxHmZthxGMb&~BpAansDRw0_;S3+?xA(2Z9Y<}2QOa}Ky7 zVOS~L+|rWz7u{ybSBuDDP8Z&x0#OC+?d>7;pwJlagXpBJT`BCaSwzJC=0V9kCBzn! z2=GWKWGYnplzS*|!W->_sEFJ@e=#6ZD?-G?#wI<`T2V@0UZ~OPc2txRQW|+4ku9%> z7(#u3VA&ZmFNNu$=3#i?jhrIf0f^#l-HKFftO=Kch7bYZ;vPJ72r)&frd~M50h=v} z!Dtt013+|PY$vsxri>W@`f2=;W*)IAR9So8;3;VKr#9nH&<)6+5O}0=FmW$QR^b(? ze`U*iBN5a>;wLA4Xiw_uIN9>VFh?<p>z$aGNX!A)<>O?7vN*KoQ*rz1t0ZZV zrpB(W=?Hv^*mMwh$EjVg&gR=DhYkfpk2C=)LJuJkfhu{j9i=Pvl$g$^bJh_K`_vqFyqTL$ue(3h5(S}eG}%|-WItqTyM|MGeI$oGx%eWEh-{H3O}rQEXTt8 zWP6Jd!i?AuYBN#;_W#F=6dVX-L-4GO&^6f7nSt;{?M1B)#W44H4u%Mp$QV=?IqWsM zwr0L^6<`()UO|IFOQ3^deZ-yK0&~LRsMd%&M8oTO+XN{SYvsFg=8b2%uh80bTXeW< zJNdN!gbC6EDy^TNA2xn{kd3SX*)o(CFrv}I|9;NYQ}a*38UzOk^CX-^F%qSomIdJ$ z2XTSz$s+64t+{Z?jz}u!ssLd^LPE#d^E(5()sXR)H6CI#Gc(p-9%3)@)A?HIy^w|= z3K;|pvNu;g#{LjuUot{4W3UEFQsS;3?&3lO9E4xzs*v^0Zf>TaF@P>`P+766>+r%_ zazVWjhLx}v0L(}-3{(bZn*t5)xr*wITt-0xXu{6m5SD@=-IzEfV1wXSMEWM_hT1}+ z?KL|iNZCgNnG>$-)LRqYX19>=lKLqoH$WW%;d7Axc?}NujpL0~&~1=D#7bB<-xXzp z{3;#E(M>P{f4=Epf$?UgFcJOc5r~En0Zles089zUhL9D+BOu2S zHnu7&{|INXGYCU%ZIzmT52QqJw_BK-8z7=!8fb6Q0(?#wCBk)d8*G4;nW;bjo(xp* zl?9jrAP|FoBd-bc2~7`l#ZLGPleC-g1%3k=A*>1#A}Ss><-UM3DF)JHM;lPafIDzB zp|?gM-9&x`Ai{JopnK^=BH|A?u}L4nD=8&K!=T_c%DlUKCV;E+X;0666j(t2SS0Fc zRX32Bi2wtIS@_BaD4R{u*=l1uJEeukPp$qJ17J1GLKIP6IKuJ&$J+$4A!H@wRD?Rb zj^grPC1nm=fC9(Pz~NzDd?`W>gH%KX8L5IDgjNCnshIyXHa4OK!%KAi`sNQEMFc_7 z#$=XGrlKAzVEAE%qyUTpLofc_-&oYvcSuD+@LEMvV`Kb0j1ztV=Pd-&e#tPjIjz&v z#UPswL5BF=%HO9cs8*m_GWJ3E^2YqdJ{pMB?(S{^^Il#B^COieFhLl)7p%F3)T*HR zr!g9sMuI&k>SHsA_Z z5Ag~gV4&FC)+URZ3Sx7fx~`pYl7Fp}9^nT$3WWetW|!xzv5 zR)}K)Wq?@Z>~MM-*Zo_-F5?tZE?XY+0RnFzchKiGkh>_6(9csr9l_+XPSD(< z1t_t?^U$>Mo5UFyNDDMr$q4X4F__$gW)S#`w|Lkv`Qy*RK*Y9a;ONn;WH_C2CFCx4 z{*iG}S=$$<^Sm3R+!l?j^g_Lx`F_PWJhx>aKrkKZwhKB|(zWAQ004rF@*MP&4W*dj z&u9Wu(1nh=;b}gqVDLkF_>%-qj^0Jx0I@T5)FJ|#q=;FPB%z!K^}_^@^nFD|R)nkr z3{e2z9lF2Fvp}C;$Ke literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-up-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-up-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..23bad1fde1341b614f10236254803b930a563206 GIT binary patch literal 10649 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-with-children-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-with-children-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..f638e5d52b39a59ad64677738d06f8050b19b56b GIT binary patch literal 12548 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 R5y@ce+oLQWyZg5b{|8JYmTv$6 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-add-column-and-add-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-add-column-and-add-row-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..08119aa783801ad809f5ea2c81d539c824cb51d8 GIT binary patch literal 22863 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 HUHCr$thjOl literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-column-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-column-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..5335ff21d6738aba35633f564eb64a694c01773f GIT binary patch literal 14177 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-row-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..6d85de613aa770bef0d61beb7ec9701168ac2db0 GIT binary patch literal 14396 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%0Dq+k8Y#K0Px)ynP{D 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-column-color-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-column-color-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..4393f785a0e2afd266254a2b82e316469843295d GIT binary patch literal 14656 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 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-column-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-column-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd3576ac9dadefe70453c2fa3ab682e41920265 GIT binary patch literal 14051 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 RjxJe)>V6Hym;26K|2Jlg>_7kj literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-row-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..e212b6ba4fd1880630ffec5bbaa61fc02231403d GIT binary patch literal 13740 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 VQOuqNtR)XoIIJuee^C3@e*rsMJs|)9 literal 0 HcmV?d00001 diff --git a/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx b/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx index 91eae833d6..68c61f4bd0 100644 --- a/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx +++ b/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx @@ -14,6 +14,10 @@ import { ydocXml, } from "./fixtures/suggestionFixture.js"; +// Inline SVG data URL – avoids a network fetch for the image src. +const IMG_SRC = + "data:image/svg+xml;utf8,"; + // Empty doc gets a heading inserted at the top. // KNOWN BUG: starting from a truly empty doc and using `replaceBlocks` // to add a heading hits the same y-prosemirror `deltaToPSteps: @@ -453,3 +457,87 @@ test("suggestion mode: delete parent block (with children)", async () => { " `); }); + +// Delete an image block. Non-text content (no inline child) – worth +// snapshotting in case node-level attribution behaves differently when +// the deleted block has no text children. +test("suggestion mode: delete image block", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "delete image" }); + + editor.replaceBlocks(editor.document, [ + { + id: "img", + type: "image", + props: { url: IMG_SRC, previewWidth: 150 }, + }, + ]); + sync(); + await expect + .poll(() => (editor.document[0]?.props as { url?: string })?.url) + .toBe(IMG_SRC); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.removeBlocks(["img"]); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "add-remove-delete-image", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/moveBlocks.test.tsx b/tests/src/browser/y-prosemirror/moveBlocks.test.tsx new file mode 100644 index 0000000000..22c8b61d06 --- /dev/null +++ b/tests/src/browser/y-prosemirror/moveBlocks.test.tsx @@ -0,0 +1,198 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for move-block suggestions: relocating a + * whole block (with or without children) using `moveBlocksUp` / + * `moveBlocksDown`. Same shape as the other categories. + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + waitForSuggestion, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Move a plain paragraph one slot up. Base has three siblings; we +// move the middle one to the top. +test("suggestion mode: move paragraph up", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "move middle up" }); + + editor.replaceBlocks(editor.document, [ + { id: "first", type: "paragraph", content: "First" }, + { id: "middle", type: "paragraph", content: "Middle" }, + { id: "last", type: "paragraph", content: "Last" }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("First")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.moveBlocksUp("middle"); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "move-paragraph-up", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + First + + + Middle + + + Last + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + Middle + + + First + + + Last + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + Middle + + + + + + First + + + + Middle + + + + Last + + + " + `); +}); + +// Move a paragraph that has a nested child. The whole subtree should +// travel together. +test("suggestion mode: move paragraph with children", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "move parent + child up" }); + + editor.replaceBlocks(editor.document, [ + { id: "first", type: "paragraph", content: "First" }, + { + id: "parent", + type: "paragraph", + content: "Parent", + children: [{ id: "child", type: "paragraph", content: "Child" }], + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("First")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.moveBlocksUp("parent"); + + await waitForSuggestion(editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "move-paragraph-with-children", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + First + + + Parent + + + Child + + + + " + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + Parent + + + Child + + + + + First + + " + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + Parent + + + + + + + + + Child + + + + + + + + + + First + + + + Parent + + + Child + + + + + + " + `); +}); diff --git a/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx b/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx new file mode 100644 index 0000000000..723b961d4e --- /dev/null +++ b/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx @@ -0,0 +1,1234 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for two-user concurrent table edits. + * Same shape as the other `.concurrent.test.tsx` files. + */ +import { expect, test } from "vitest"; + +import { setupConcurrentSuggestionTest } from "./fixtures/concurrentSuggestionFixture.js"; +import { + editorHtml, + waitForSuggestion, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Shared 2x2 starting table. +const TABLE_2X2 = { + id: "table", + type: "table" as const, + content: { + type: "tableContent" as const, + rows: [{ cells: ["A1", "B1"] }, { cells: ["A2", "B2"] }], + }, +}; + +// A deletes the last row, B adds a third column. Two disjoint +// structural edits to the same table. +// TODO: hits the same y-prosemirror +// `applyChangesetToDelta: Unexpected case` we already document for +// the cascading-indents test in `nesting.concurrent.test.tsx` – the +// merged editor's afterTransaction throws when these two suggestions +// sync. Marked `test.fails` until upstream. +test.fails("concurrent: A deletes a row, B adds a column", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "delete last row", + userBAction: "add column", + }); + + userA.editor.replaceBlocks(userA.editor.document, [TABLE_2X2]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("A1")) + .toBeVisible(); + + enableSuggestions(); + + // A: drop row 2. + userA.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1"] }], + }, + }); + + // B: add a third column. + userB.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1", "C1"] }, { cells: ["A2", "B2", "C2"] }], + }, + }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-concurrent-row-vs-column", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); +}); + +// Both users grow the table in independent directions: A adds a +// third row, B adds a third column. +test("concurrent: A adds a row, B adds a column", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "add row", + userBAction: "add column", + }); + + userA.editor.replaceBlocks(userA.editor.document, [TABLE_2X2]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("A1")) + .toBeVisible(); + + enableSuggestions(); + + // A: add a third row. + userA.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { cells: ["A1", "B1"] }, + { cells: ["A2", "B2"] }, + { cells: ["A3", "B3"] }, + ], + }, + }); + + // B: add a third column. + userB.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1", "C1"] }, { cells: ["A2", "B2", "C2"] }], + }, + }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-concurrent-row-and-column", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + + + + A3 + + + B3 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + C1 + + + + + A2 + + + B2 + + + C2 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + C1 + + + + + A2 + + + B2 + + + C2 + + + + + A3 + + + B3 + + + + + +
+
+ + + + + + + + + +
" + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + + C1 + + + + + + + + A2 + + + B2 + + + + + + C2 + + + + + + + + + + + + A3 + + + + + + + + + B3 + + + + + + + + + + + + + +
+
+ + + + + + + + + +
+
" + `); +}); + +// A deletes the last column, B adds a third row. Mirrors the +// `delete-row vs add-column` case along the other axis. +// TODO: hits the same y-prosemirror +// `applyChangesetToDelta: Unexpected case` we already document for +// the `delete-row vs add-column` test above. Marked `test.fails` +// until upstream. +test.fails("concurrent: A deletes a column, B adds a row", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "delete last column", + userBAction: "add row", + }); + + userA.editor.replaceBlocks(userA.editor.document, [TABLE_2X2]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("A1")) + .toBeVisible(); + + enableSuggestions(); + + // A: drop column B. + userA.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1"] }, { cells: ["A2"] }], + }, + }); + + // B: add a third row. + userB.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { cells: ["A1", "B1"] }, + { cells: ["A2", "B2"] }, + { cells: ["A3", "B3"] }, + ], + }, + }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-concurrent-delete-column-vs-add-row", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); +}); + +// A adds a column, B adds a row. Mirror of `add-row + add-column`, +// just swapped per-user – CRDT should converge to the same 3x3. +test("concurrent: A adds a column, B adds a row", async () => { + const { + userA, + userB, + merged, + baseDoc, + suggestionDocA, + suggestionDocB, + suggestionDocMerged, + screen, + seed, + enableSuggestions, + sync, + } = await setupConcurrentSuggestionTest({ + userAAction: "add column", + userBAction: "add row", + }); + + userA.editor.replaceBlocks(userA.editor.document, [TABLE_2X2]); + seed(); + await expect + .element(screen.getByTestId(userA.testId).getByText("A1")) + .toBeVisible(); + + enableSuggestions(); + + // A: add a third column. + userA.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1", "C1"] }, { cells: ["A2", "B2", "C2"] }], + }, + }); + + // B: add a third row. + userB.editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { cells: ["A1", "B1"] }, + { cells: ["A2", "B2"] }, + { cells: ["A3", "B3"] }, + ], + }, + }); + + await waitForSuggestion(userA.editor); + await waitForSuggestion(userB.editor); + + sync(); + await waitForSuggestion(merged.editor); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-concurrent-add-column-and-add-row", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + C1 + + + + + A2 + + + B2 + + + C2 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + + + + A3 + + + B3 + + +
+
+ + + + + + + + + +
" + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + C1 + + + + + A2 + + + B2 + + + C2 + + + + + A3 + + + B3 + + + + + +
+
+ + + + + + + + + +
" + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + + C1 + + + + + + + + A2 + + + B2 + + + + + + C2 + + + + + + + + + + + + A3 + + + + + + + + + B3 + + + + + + + + + + + + + +
+
+ + + + + + + + + +
+
" + `); +}); diff --git a/tests/src/browser/y-prosemirror/tables.test.tsx b/tests/src/browser/y-prosemirror/tables.test.tsx new file mode 100644 index 0000000000..23d8958789 --- /dev/null +++ b/tests/src/browser/y-prosemirror/tables.test.tsx @@ -0,0 +1,1712 @@ +/* eslint-disable testing-library/render-result-naming-convention */ +/** + * Vitest browser-mode tests for table suggestions: add / remove rows + * and columns, edit cell content, change cell color, merge / split. + * Same shape as the other categories. + * + * Table block is the one place in BlockNote where `y-attributed-*` + * marks are declared on the block content node (see Table/block.ts), + * so the suggestion infrastructure has the most schema support here. + */ +import { SuggestionsExtension } from "@blocknote/core/y"; +import { expect, test } from "vitest"; + +import { + editorHtml, + setupSuggestionTest, + ydocXml, +} from "./fixtures/suggestionFixture.js"; + +// Shared 2x2 table baseline used by most of the tests below. +const TABLE_2X2 = { + id: "table", + type: "table" as const, + content: { + type: "tableContent" as const, + rows: [{ cells: ["A1", "B1"] }, { cells: ["A2", "B2"] }], + }, +}; + +// Add a third row to a 2x2 table. +test("suggestion mode: add row", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "add row" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { cells: ["A1", "B1"] }, + { cells: ["A2", "B2"] }, + { cells: ["A3", "B3"] }, + ], + }, + }); + + await expect.poll(() => editor.document[0]?.children.length).toBe(0); + await expect + .element(screen.getByTestId("editor-A").getByText("A3")) + .toBeVisible(); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-add-row", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + + + + A3 + + + B3 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + + + + + + + + A3 + + + + + + + + + B3 + + + + + + +
+
+ + + +
+
" + `); +}); + +// Add a third column to a 2x2 table. +test("suggestion mode: add column", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "add column" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1", "C1"] }, { cells: ["A2", "B2", "C2"] }], + }, + }); + + await expect + .element(screen.getByTestId("editor-A").getByText("C1")) + .toBeVisible(); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-add-column", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + C1 + + + + + A2 + + + B2 + + + C2 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + + C1 + + + + + + + + A2 + + + B2 + + + + + + C2 + + + + + +
+
+ + + +
+
" + `); +}); + +// Remove the second row from a 2x2 table. +test("suggestion mode: remove row", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "remove last row" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A2")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1"] }], + }, + }); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-remove-row", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + + A2 + + + B2 + + + +
+
+ + + +
+
" + `); +}); + +// Remove the second column from a 2x2 table. +test("suggestion mode: remove column", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "remove last column" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("B1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1"] }, { cells: ["A2"] }], + }, + }); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-remove-column", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + + + A2 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + + B1 + + + + + + A2 + + + + B2 + + + +
+
+ + + +
+
" + `); +}); + +// Change the text in cell (A1) -> (A1 edited). +test("suggestion mode: update text in cell", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "edit top-left cell" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1 edited", "B1"] }, { cells: ["A2", "B2"] }], + }, + }); + + await expect + .element(screen.getByTestId("editor-A").getByText("edited")) + .toBeVisible(); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-edit-cell", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 edited + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + A1 + edited + + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
+
" + `); +}); + +// Change `backgroundColor` of every cell in the first column. +test("suggestion mode: change column background color", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "highlight first column" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: [ + { + type: "tableCell", + props: { backgroundColor: "yellow" }, + content: ["A1"], + }, + "B1", + ], + }, + { + cells: [ + { + type: "tableCell", + props: { backgroundColor: "yellow" }, + content: ["A2"], + }, + "B2", + ], + }, + ], + }, + }); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-column-color", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
+
" + `); +}); + +// TODO: this is broken as it's an extra "deleted column" is shown + +// Merge two horizontally adjacent cells in the top row by setting +// colspan=2 on the first cell and dropping the second. +test("suggestion mode: merge two cells", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "merge top-row cells" }); + + editor.replaceBlocks(editor.document, [TABLE_2X2]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: [ + { + type: "tableCell", + props: { colspan: 2 }, + content: ["A1+B1"], + }, + ], + }, + { cells: ["A2", "B2"] }, + ], + }, + }); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-merge-cells", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1+B1 + + + + + A2 + + + B2 + + + + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + A1 + +B1 + + + + + B1 + + + + + + A2 + + + B2 + + + + + + + + + +
+
+ + + +
+
" + `); +}); + +// Start from a 2x2 table whose top-left cell has colspan=2, then +// split it back into two cells. +test("suggestion mode: split a merged cell", async () => { + const { editor, screen, baseDoc, suggestionDoc, sync } = + await setupSuggestionTest({ userAction: "split top-row cell" }); + + editor.replaceBlocks(editor.document, [ + { + id: "table", + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: [ + { + type: "tableCell", + props: { colspan: 2 }, + content: ["A1+B1"], + }, + ], + }, + { cells: ["A2", "B2"] }, + ], + }, + }, + ]); + sync(); + await expect + .element(screen.getByTestId("editor-A").getByText("A1+B1")) + .toBeVisible(); + + editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + + editor.updateBlock("table", { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["A1", "B1"] }, { cells: ["A2", "B2"] }], + }, + }); + + await expect(screen.getByTestId("editor-root")).toMatchScreenshot( + "table-split-cell", + ); + + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1+B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
+
+ + + +
" + `); + expect(editorHtml(editor)).toMatchInlineSnapshot(` + " + + + + + + + A1 + +B1 + + + + + + + B1 + + + + + + + + A2 + + + B2 + + +
+
+ + + +
+
" + `); +}); From 9763a42c6a339a55216a72bcdb7e4dd164ae6d2e Mon Sep 17 00:00:00 2001 From: yousefed Date: Tue, 2 Jun 2026 20:14:23 +0200 Subject: [PATCH 07/12] fix types --- .../propChanges.concurrent.test.tsx | 13 ++++++++---- .../y-prosemirror/propChanges.test.tsx | 21 +++++++++++++------ .../src/browser/y-prosemirror/tables.test.tsx | 4 ++-- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx b/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx index 2a7d2fb9b0..db2a8086e7 100644 --- a/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx +++ b/tests/src/browser/y-prosemirror/propChanges.concurrent.test.tsx @@ -63,20 +63,25 @@ test("concurrent: A changes textColor, B changes backgroundColor", async () => { // Prop changes don't generate y-attributed marks, so we poll on the // individual editor doc states instead. + type ColorProps = { textColor?: string; backgroundColor?: string }; await expect - .poll(() => userA.editor.document[0]?.props?.textColor) + .poll(() => (userA.editor.document[0]?.props as ColorProps)?.textColor) .toBe("red"); await expect - .poll(() => userB.editor.document[0]?.props?.backgroundColor) + .poll( + () => (userB.editor.document[0]?.props as ColorProps)?.backgroundColor, + ) .toBe("yellow"); sync(); await expect - .poll(() => merged.editor.document[0]?.props?.textColor) + .poll(() => (merged.editor.document[0]?.props as ColorProps)?.textColor) .toBe("red"); await expect - .poll(() => merged.editor.document[0]?.props?.backgroundColor) + .poll( + () => (merged.editor.document[0]?.props as ColorProps)?.backgroundColor, + ) .toBe("yellow"); await expect(screen.getByTestId("editor-root")).toMatchScreenshot( diff --git a/tests/src/browser/y-prosemirror/propChanges.test.tsx b/tests/src/browser/y-prosemirror/propChanges.test.tsx index 5d29b4a20f..89eb16ecab 100644 --- a/tests/src/browser/y-prosemirror/propChanges.test.tsx +++ b/tests/src/browser/y-prosemirror/propChanges.test.tsx @@ -57,7 +57,7 @@ test("suggestion mode: change text alignment to center", async () => { // `waitForSuggestion` helper used elsewhere is too narrow here. // Poll on the editor's view of the prop instead. await expect - .poll(() => editor.document[0]?.props?.textAlignment) + .poll(() => (editor.document[0]?.props as { textAlignment?: string })?.textAlignment) .toBe("center"); await expect(screen.getByTestId("editor-root")).toMatchScreenshot( @@ -116,7 +116,9 @@ test("suggestion mode: change heading level from 1 to 2", async () => { props: { level: 2 }, }); - await expect.poll(() => editor.document[0]?.props?.level).toBe(2); + await expect + .poll(() => (editor.document[0]?.props as { level?: number })?.level) + .toBe(2); await expect(screen.getByTestId("editor-root")).toMatchScreenshot( "prop-change-heading-level", @@ -195,7 +197,7 @@ test("suggestion mode: resize image (previewWidth)", async () => { // `getByRole("img")` doesn't see it. Poll on the prop having // landed in the editor instead. await expect - .poll(() => editor.document[0]?.props?.url) + .poll(() => (editor.document[0]?.props as { url?: string })?.url) .toBe(IMG_SRC_BASE); editor.getExtension(SuggestionsExtension)!.enableSuggestions(); @@ -207,7 +209,10 @@ test("suggestion mode: resize image (previewWidth)", async () => { }); await expect - .poll(() => editor.document[0]?.props?.previewWidth) + .poll( + () => + (editor.document[0]?.props as { previewWidth?: number })?.previewWidth, + ) .toBe(400); await expect(screen.getByTestId("editor-root")).toMatchScreenshot( @@ -303,7 +308,9 @@ test("suggestion mode: change image source", async () => { // Default `alt=""` on the image makes it decorative, so // `getByRole("img")` doesn't see it. Poll on the prop having // landed in the editor instead. - await expect.poll(() => editor.document[0]?.props?.url).toBe(IMG_SRC_BASE); + await expect + .poll(() => (editor.document[0]?.props as { url?: string })?.url) + .toBe(IMG_SRC_BASE); editor.getExtension(SuggestionsExtension)!.enableSuggestions(); @@ -313,7 +320,9 @@ test("suggestion mode: change image source", async () => { props: { url: IMG_SRC_NEW }, }); - await expect.poll(() => editor.document[0]?.props?.url).toBe(IMG_SRC_NEW); + await expect + .poll(() => (editor.document[0]?.props as { url?: string })?.url) + .toBe(IMG_SRC_NEW); await expect(screen.getByTestId("editor-root")).toMatchScreenshot( "prop-change-image-source", diff --git a/tests/src/browser/y-prosemirror/tables.test.tsx b/tests/src/browser/y-prosemirror/tables.test.tsx index 23d8958789..4dd0a4285b 100644 --- a/tests/src/browser/y-prosemirror/tables.test.tsx +++ b/tests/src/browser/y-prosemirror/tables.test.tsx @@ -1092,7 +1092,7 @@ test("suggestion mode: change column background color", async () => { props: { backgroundColor: "yellow" }, content: ["A1"], }, - "B1", + { type: "tableCell", content: ["B1"] }, ], }, { @@ -1102,7 +1102,7 @@ test("suggestion mode: change column background color", async () => { props: { backgroundColor: "yellow" }, content: ["A2"], }, - "B2", + { type: "tableCell", content: ["B2"] }, ], }, ], From a27e0f989194d8b1af2d097a65724f89f2eda0a9 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 5 Jun 2026 15:00:32 +0200 Subject: [PATCH 08/12] test: update y-prosemirror suggestion snapshots for trailing-block rewrite Trailing block is now a widget decoration (#2733) rather than a real node, so replaceBlocks no longer leaves a trailing paragraph in the Y.Doc. Regenerate the affected baseDoc/suggestionDoc/editorHtml inline snapshots and screenshots to drop the stale trailing blockContainer. Re-enable two concurrent tests that now converge instead of throwing 'applyChangesetToDelta: Unexpected case' (nesting indent cascade, table delete-column vs add-row). Mark 'delete image block' as test.fails: deleting a sole atom block in suggestion mode produces a blockContainer with two blockContent children via the @y/y attribution diff, violating the schema until upstream can represent it. --- ...ge-image-source-actual-chromium-darwin.png | Bin 9701 -> 11532 bytes ...emove-remove-paragraph-chromium-darwin.png | Bin 16001 -> 11063 bytes ...current-indent-cascade-chromium-darwin.png | Bin 0 -> 11842 bytes ...p-change-heading-level-chromium-darwin.png | Bin 17756 -> 13155 bytes ...op-change-image-source-chromium-darwin.png | Bin 11369 -> 11532 bytes ...add-column-and-add-row-chromium-darwin.png | Bin 22863 -> 16328 bytes ...lete-column-vs-add-row-chromium-darwin.png | Bin 0 -> 14746 bytes ...current-row-and-column-chromium-darwin.png | Bin 22933 -> 16299 bytes .../y-prosemirror/addRemoveBlocks.test.tsx | 98 +---- .../y-prosemirror/nesting.concurrent.test.tsx | 105 ++++- .../y-prosemirror/propChanges.test.tsx | 27 -- .../y-prosemirror/tables.concurrent.test.tsx | 412 +++++++++++++----- .../src/browser/y-prosemirror/tables.test.tsx | 72 --- 13 files changed, 417 insertions(+), 297 deletions(-) create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-indent-cascade-chromium-darwin.png create mode 100644 tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-delete-column-vs-add-row-chromium-darwin.png diff --git a/tests/.vitest-attachments/src/browser/y-prosemirror/propChanges.test.tsx/prop-change-image-source-actual-chromium-darwin.png b/tests/.vitest-attachments/src/browser/y-prosemirror/propChanges.test.tsx/prop-change-image-source-actual-chromium-darwin.png index 37b96b3b1d5cb25f254a544982430fed0fff387d..9ea07ef01c50216201200cb1dfa4780d217906ea 100644 GIT binary patch literal 11532 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 Ir_BTY7X?un=>Px# literal 9701 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 NNh_UAJM;I={{k%~sQ3T? literal 16001 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 MQc)`Hxc-g*0aDwAPXGV_ diff --git a/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-indent-cascade-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-indent-cascade-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8a6e78ba8e9336ef485d37917791673ed6349e GIT binary patch literal 11842 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 Ir_BTY7X?un=>Px# literal 11369 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 NdCcf&*5NO|{tx9uF7E&U diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-add-column-and-add-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.concurrent.test.tsx/table-concurrent-add-column-and-add-row-chromium-darwin.png index 08119aa783801ad809f5ea2c81d539c824cb51d8..6251e4f29165b6bfe34b0617a4a00902d13f9320 100644 GIT binary patch literal 16328 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 RU^udRx1|-)*^>It{|EmdQ+xmb literal 22863 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 HUHCr$thjOl diff --git a/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx b/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx index 68c61f4bd0..51398f7712 100644 --- a/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx +++ b/tests/src/browser/y-prosemirror/addRemoveBlocks.test.tsx @@ -127,9 +127,6 @@ test("suggestion mode: add paragraph after existing block", async () => { textColor="default" >Title - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -146,9 +143,6 @@ test("suggestion mode: add paragraph after existing block", async () => { Body text - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -172,9 +166,6 @@ test("suggestion mode: add paragraph after existing block", async () => { - - - " `); @@ -225,9 +216,6 @@ test("suggestion mode: remove paragraph from heading+paragraph", async () => { textColor="default" >Title - - - Body text @@ -244,9 +232,6 @@ test("suggestion mode: remove paragraph from heading+paragraph", async () => { textColor="default" >Title - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -261,9 +246,6 @@ test("suggestion mode: remove paragraph from heading+paragraph", async () => { isToggleable="false" >Title - - - Body text @@ -458,12 +440,21 @@ test("suggestion mode: delete parent block (with children)", async () => { `); }); -// Delete an image block. Non-text content (no inline child) – worth -// snapshotting in case node-level attribution behaves differently when -// the deleted block has no text children. -test("suggestion mode: delete image block", async () => { - const { editor, screen, baseDoc, suggestionDoc, sync } = - await setupSuggestionTest({ userAction: "delete image" }); +// Delete the sole image block in suggestion mode. An image is an atom +// blockContent with no inline text and no blockGroup child, so the only +// schema-valid way to attribute its deletion is to wrap the whole +// blockContainer at the blockGroup level. The @y/y attribution diff +// instead aligns the lone base/suggestion blockContainers and diffs their +// children, emitting an in-place content replace that produces a +// blockContainer with two blockContent children (the delete-marked image +// plus the new paragraph). That violates the `blockContent blockGroup?` +// content expression, so deltaToPSteps throws +// `RangeError: Invalid content for node blockContainer`. Marked +// `test.fails` until @y/y can represent deleting a sole atom block. +test.fails("suggestion mode: delete image block", async () => { + const { editor, sync } = await setupSuggestionTest({ + userAction: "delete image", + }); editor.replaceBlocks(editor.document, [ { @@ -479,65 +470,8 @@ test("suggestion mode: delete image block", async () => { editor.getExtension(SuggestionsExtension)!.enableSuggestions(); + // Throws synchronously inside the suggestion sync (see comment above). editor.removeBlocks(["img"]); await waitForSuggestion(editor); - - await expect(screen.getByTestId("editor-root")).toMatchScreenshot( - "add-remove-delete-image", - ); - - expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` - " - - - - - - - " - `); - expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` - " - - - - " - `); - expect(editorHtml(editor)).toMatchInlineSnapshot(` - " - - - - - - - - - - - " - `); }); diff --git a/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx b/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx index 5973e89c41..ae2093ca1a 100644 --- a/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx +++ b/tests/src/browser/y-prosemirror/nesting.concurrent.test.tsx @@ -15,12 +15,9 @@ import { // Two cascading indents from a flat list of three siblings: // A nests N1 under N0; // B nests N2 under N1. -// KNOWN BUG: y-prosemirror's diff/applyChangesetToDelta throws -// `Unexpected case` during the merged editor's afterTransaction when -// these two suggestions sync. Marked `test.fails` until upstream -// supports this interleaving; flip it red when fixed and capture -// snapshots. -test.fails("concurrent: A indents N1, B indents N2 below N1", async () => { +// The merge converges with A's nesting winning (N1 under N0) and +// B's nesting of N2 dropped, captured in the snapshots below. +test("concurrent: A indents N1, B indents N2 below N1", async () => { const { userA, userB, @@ -72,11 +69,97 @@ test.fails("concurrent: A indents N1, B indents N2 below N1", async () => { "concurrent-indent-cascade", ); - expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); - expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + N2 + + " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + + N2 + + " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + N2 + + + + " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + N0 + + + N1 + + + + " + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + N0 + + + + + + + N1 + + + + + + + + + + N1 + + + + + + + N2 + + + + + + " + `); }); // Two non-overlapping child inserts under the same parent: diff --git a/tests/src/browser/y-prosemirror/propChanges.test.tsx b/tests/src/browser/y-prosemirror/propChanges.test.tsx index 89eb16ecab..51f7ad3b27 100644 --- a/tests/src/browser/y-prosemirror/propChanges.test.tsx +++ b/tests/src/browser/y-prosemirror/propChanges.test.tsx @@ -135,9 +135,6 @@ test("suggestion mode: change heading level from 1 to 2", async () => { textColor="default" >hello world - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -151,9 +148,6 @@ test("suggestion mode: change heading level from 1 to 2", async () => { textColor="default" >hello world - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -168,9 +162,6 @@ test("suggestion mode: change heading level from 1 to 2", async () => { isToggleable="false" >hello world - - - " `); @@ -238,9 +229,6 @@ test("suggestion mode: resize image (previewWidth)", async () => { " /> - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -262,9 +250,6 @@ test("suggestion mode: resize image (previewWidth)", async () => { " /> - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -281,9 +266,6 @@ test("suggestion mode: resize image (previewWidth)", async () => { previewWidth="400" > - - - " `); @@ -347,9 +329,6 @@ test("suggestion mode: change image source", async () => { " /> - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -371,9 +350,6 @@ test("suggestion mode: change image source", async () => { " /> - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -390,9 +366,6 @@ test("suggestion mode: change image source", async () => { previewWidth="200" > - - - " `); diff --git a/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx b/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx index 723b961d4e..9abba3cc31 100644 --- a/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx +++ b/tests/src/browser/y-prosemirror/tables.concurrent.test.tsx @@ -24,11 +24,10 @@ const TABLE_2X2 = { // A deletes the last row, B adds a third column. Two disjoint // structural edits to the same table. -// TODO: hits the same y-prosemirror -// `applyChangesetToDelta: Unexpected case` we already document for -// the cascading-indents test in `nesting.concurrent.test.tsx` – the -// merged editor's afterTransaction throws when these two suggestions -// sync. Marked `test.fails` until upstream. +// The merged editor's afterTransaction throws +// `applyChangesetToDelta: Unexpected case` in y-prosemirror when +// these two suggestions sync, so this is marked `test.fails` until +// upstream supports this interleaving. test.fails("concurrent: A deletes a row, B adds a column", async () => { const { userA, @@ -200,15 +199,6 @@ test("concurrent: A adds a row, B adds a column", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` @@ -283,15 +273,6 @@ test("concurrent: A adds a row, B adds a column", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` @@ -364,15 +345,6 @@ test("concurrent: A adds a row, B adds a column", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` @@ -477,15 +449,6 @@ test("concurrent: A adds a row, B adds a column", async () => { - - - - - - - - - " `); expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` @@ -612,15 +575,6 @@ test("concurrent: A adds a row, B adds a column", async () => { - - - - - - - - - " `); @@ -628,11 +582,9 @@ test("concurrent: A adds a row, B adds a column", async () => { // A deletes the last column, B adds a third row. Mirrors the // `delete-row vs add-column` case along the other axis. -// TODO: hits the same y-prosemirror -// `applyChangesetToDelta: Unexpected case` we already document for -// the `delete-row vs add-column` test above. Marked `test.fails` -// until upstream. -test.fails("concurrent: A deletes a column, B adds a row", async () => { +// The merge converges with B's column deleted and the new row +// inserted, captured in the snapshots below. +test("concurrent: A deletes a column, B adds a row", async () => { const { userA, userB, @@ -690,11 +642,306 @@ test.fails("concurrent: A deletes a column, B adds a row", async () => { "table-concurrent-delete-column-vs-add-row", ); - expect(ydocXml(baseDoc)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(); - expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(); - expect(editorHtml(merged.editor)).toMatchInlineSnapshot(); + expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + +
    +
    +
    " + `); + expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` + " + + + + + A1 + + + + + A2 + + +
    +
    +
    " + `); + expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` + " + + + + + A1 + + + B1 + + + + + A2 + + + B2 + + + + + A3 + + + B3 + + +
    +
    +
    " + `); + expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` + " + + + + + A1 + + + + + A2 + + + + + A3 + + + B3 + + +
    +
    +
    " + `); + expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` + " + + + + + + A1 + + + + B1 + + + + + + A2 + + + + B2 + + + + + + + + + + A3 + + + + + + + + + B3 + + + + + + +
    +
    +
    +
    " + `); }); // A adds a column, B adds a row. Mirror of `add-row + add-column`, @@ -807,15 +1054,6 @@ test("concurrent: A adds a column, B adds a row", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` @@ -888,15 +1126,6 @@ test("concurrent: A adds a column, B adds a row", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` @@ -971,15 +1200,6 @@ test("concurrent: A adds a column, B adds a row", async () => { - - - - - - - - - " `); expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` @@ -1084,15 +1304,6 @@ test("concurrent: A adds a column, B adds a row", async () => { - - - - - - - - - " `); expect(editorHtml(merged.editor)).toMatchInlineSnapshot(` @@ -1219,15 +1430,6 @@ test("concurrent: A adds a column, B adds a row", async () => { - - - - - - - - - " `); diff --git a/tests/src/browser/y-prosemirror/tables.test.tsx b/tests/src/browser/y-prosemirror/tables.test.tsx index 4dd0a4285b..723232be38 100644 --- a/tests/src/browser/y-prosemirror/tables.test.tsx +++ b/tests/src/browser/y-prosemirror/tables.test.tsx @@ -111,9 +111,6 @@ test("suggestion mode: add row", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -188,9 +185,6 @@ test("suggestion mode: add row", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -274,9 +268,6 @@ test("suggestion mode: add row", async () => { - - - " `); @@ -361,9 +352,6 @@ test("suggestion mode: add column", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -436,9 +424,6 @@ test("suggestion mode: add column", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -518,9 +503,6 @@ test("suggestion mode: add column", async () => { - - - " `); @@ -601,9 +583,6 @@ test("suggestion mode: remove row", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -634,9 +613,6 @@ test("suggestion mode: remove row", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -688,9 +664,6 @@ test("suggestion mode: remove row", async () => {
    - - - " `); @@ -771,9 +744,6 @@ test("suggestion mode: remove column", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -806,9 +776,6 @@ test("suggestion mode: remove column", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -862,9 +829,6 @@ test("suggestion mode: remove column", async () => { - - - " `); @@ -949,9 +913,6 @@ test("suggestion mode: update text in cell", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -1004,9 +965,6 @@ test("suggestion mode: update text in cell", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -1059,9 +1017,6 @@ test("suggestion mode: update text in cell", async () => { - - - " `); @@ -1163,9 +1118,6 @@ test("suggestion mode: change column background color", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -1218,9 +1170,6 @@ test("suggestion mode: change column background color", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -1270,9 +1219,6 @@ test("suggestion mode: change column background color", async () => { - - - " `); @@ -1367,9 +1313,6 @@ test("suggestion mode: merge two cells", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -1422,9 +1365,6 @@ test("suggestion mode: merge two cells", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -1493,9 +1433,6 @@ test("suggestion mode: merge two cells", async () => { - - - " `); @@ -1587,9 +1524,6 @@ test("suggestion mode: split a merged cell", async () => { - - - " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -1642,9 +1576,6 @@ test("suggestion mode: split a merged cell", async () => { - - - " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -1703,9 +1634,6 @@ test("suggestion mode: split a merged cell", async () => { - - - " `); From 162edfc60fcc0178d3bc7202e017c91ca7a0bdc6 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 5 Jun 2026 16:00:24 +0200 Subject: [PATCH 09/12] test: render YDoc marks + attribution in suggestion snapshots ydocXml() used Y.XmlFragment.toString(), which only serialises element/text structure, so base vs suggestion snapshots came out identical even when inline marks differed. Walk the deep delta (toDeltaDeep) instead so per-run format marks render as nested tags (world) and attribution surfaces as an attribute, and attrs/urls are properly XML-escaped. Marks are sorted for deterministic nesting across concurrent merges. --- .../basicText.concurrent.test.tsx | 17 ++- .../browser/y-prosemirror/basicText.test.tsx | 33 +++-- .../fixtures/suggestionFixture.tsx | 133 ++++++++++++++++-- .../y-prosemirror/propChanges.test.tsx | 48 ++----- 4 files changed, 168 insertions(+), 63 deletions(-) diff --git a/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx b/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx index e51227a903..f7be9b507c 100644 --- a/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx +++ b/tests/src/browser/y-prosemirror/basicText.concurrent.test.tsx @@ -213,21 +213,32 @@ test("concurrent: A bolds the word, B italicises the word", async () => { expect(ydocXml(suggestionDocA)).toMatchInlineSnapshot(` " - hello world + + hello + world + " `); expect(ydocXml(suggestionDocB)).toMatchInlineSnapshot(` " - hello world + + hello + world + " `); expect(ydocXml(suggestionDocMerged)).toMatchInlineSnapshot(` " - hello world + + hello + + world + + " `); diff --git a/tests/src/browser/y-prosemirror/basicText.test.tsx b/tests/src/browser/y-prosemirror/basicText.test.tsx index 7b7afcc7d2..1a403b4104 100644 --- a/tests/src/browser/y-prosemirror/basicText.test.tsx +++ b/tests/src/browser/y-prosemirror/basicText.test.tsx @@ -137,13 +137,10 @@ test("suggestion mode: add bold to 'world'", async () => { "suggestion-mode-add-bold", ); - // TODO: the base and suggestion YDoc XML snapshots below are - // identical even though one represents the "before bold" state and - // the other the "after bold" state. `Y.XmlFragment.toString()` only - // serialises element/text structure – marks and attribution data - // live elsewhere and don't surface here. Consider a richer YDoc - // serializer that includes formatting + attribution metadata so - // these snapshots actually differ. + // The base ("hello world") and suggestion ("hello world") + // YDoc snapshots differ here because `ydocXml` walks the deep delta + // (`toDeltaDeep`), which surfaces per-run formatting marks that + // `Y.XmlFragment.toString()` would otherwise drop. expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` " @@ -154,7 +151,10 @@ test("suggestion mode: add bold to 'world'", async () => { expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` " - hello world + + hello + world + " `); @@ -217,7 +217,10 @@ test("suggestion mode: remove bold from 'world'", async () => { expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` " - hello world + + hello + world + " `); @@ -294,14 +297,22 @@ test("suggestion mode: add italic to already-bold 'world'", async () => { expect(ydocXml(baseDoc)).toMatchInlineSnapshot(` " - hello world + + hello + world + " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` " - hello world + + hello + + world + + " `); diff --git a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx index ca8134610f..babdfe0950 100644 --- a/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx +++ b/tests/src/browser/y-prosemirror/fixtures/suggestionFixture.tsx @@ -146,20 +146,127 @@ export async function waitForSuggestion( .toBe(true); } -/** Pretty-print a Y.Doc's `doc` XmlFragment for an inline snapshot. */ +/** + * Pretty-print a Y.Doc's `doc` XmlFragment for an inline snapshot. + * + * `Y.XmlFragment.toString()` (and `toJSON()`, which collapses text + * runs into a bare string) only serialise the element/text structure – + * inline formatting marks and attribution metadata don't surface, so + * "hello world" and "hello **world**" produce identical snapshots. + * + * Instead we walk the *deep delta* (`toDeltaDeep`), which carries both + * the per-run `format` (marks like `bold`/`italic`) and `attribution` + * (suggestion metadata) on every insert op. Those marks are rendered as + * nested tags (`world`) and attribution as an + * `attribution="..."` attribute so the snapshots actually differ. + */ export function ydocXml(doc: Y.Doc): string { - // `Y.XmlFragment.toString()` emits HTML5-style unquoted attributes - // for non-string values (e.g. `level=1`, `isToggleable=false`). - // htmlfy mangles those, so we wrap each unquoted value in quotes - // before pretty-printing. - const raw = doc - .get("doc") - .toString() - .replace( - /(\w[\w-]*)=([^"'\s>]+)/g, - (_, name, value) => `${name}="${value}"`, - ); - return prettify(raw, { tag_wrap: true }); + const delta = (doc.get("doc") as any).toDeltaDeep().toJSON(); + return prettify(deltaToXml(delta), { tag_wrap: true }); +} + +/** + * A single op from a deep-delta JSON tree. For a final document render + * only `insert` ops appear (retain/delete are diff artefacts); the + * insert payload is either a text run (`string`) or an array of nested + * element deltas. `format` holds inline marks, `attribution` holds + * suggestion metadata. + */ +interface DeltaJson { + type?: string; + name?: string; + attrs?: Record; + children?: DeltaInsertOp[]; +} + +interface DeltaInsertOp { + type?: string; + insert?: string | DeltaJson[]; + format?: Record; + attribution?: Record; +} + +/** Render a deep-delta JSON node (a `{ type: 'delta', ... }` object). */ +function deltaToXml(node: DeltaJson): string { + let inner = ""; + for (const op of node.children ?? []) { + inner += opToXml(op); + } + + if (node.name == null) { + // The root XmlFragment has no tag of its own – emit its children. + return inner; + } + return `<${node.name}${deltaAttrsToString(node.attrs)}>${inner}`; +} + +/** Render one insert op, applying its `format` marks and `attribution`. */ +function opToXml(op: DeltaInsertOp): string { + let out: string; + if (typeof op.insert === "string") { + out = escapeXml(op.insert); + } else if (Array.isArray(op.insert)) { + out = op.insert.map(deltaToXml).join(""); + } else { + out = ""; + } + + // Wrap with inline marks (bold/italic/…). A "trivial" value (`true` + // or an empty `{}`) renders as a bare tag (``); richer values + // surface as a `value="…"` attribute. Object values (e.g. suggestion + // format metadata) are JSON-encoded since `String(obj)` throws + // "Cannot convert object to primitive value". + // + // Marks are sorted by name so nesting order is deterministic: YJS + // delta `format` key order isn't stable (especially after a + // concurrent merge of two marks), which would otherwise make these + // snapshots flaky. Sorted ascending => the alphabetically-first mark + // ends up innermost (e.g. `world`). + for (const [name, value] of Object.entries(op.format ?? {}).sort( + ([a], [b]) => (a < b ? -1 : a > b ? 1 : 0), + )) { + const isObject = value !== null && typeof value === "object"; + const isTrivial = + value === true || (isObject && Object.keys(value).length === 0); + if (isTrivial) { + out = `<${name}>${out}`; + } else { + const rendered = isObject ? JSON.stringify(value) : String(value); + out = `<${name} value="${escapeXml(rendered)}">${out}`; + } + } + + // Surface suggestion attribution as a wrapping element so it's visible + // in the snapshot (and distinct from a plain formatting mark). + if (op.attribution != null && Object.keys(op.attribution).length > 0) { + out = `${out}`; + } + + return out; +} + +/** Format a delta node's `attrs` map (e.g. block-level paragraph props). */ +function deltaAttrsToString( + attrs: DeltaJson["attrs"] | undefined, +): string { + if (attrs == null) { + return ""; + } + return Object.entries(attrs) + .map(([key, raw]) => { + // attrs are `SetAttrOp` JSON: `{ type: 'insert', value }`. + const value = + raw != null && typeof raw === "object" && "value" in raw + ? (raw as { value: unknown }).value + : raw; + const rendered = + value !== null && typeof value === "object" + ? JSON.stringify(value) + : String(value); + return ` ${key}="${escapeXml(rendered)}"`; + }) + .sort() + .join(""); } /** diff --git a/tests/src/browser/y-prosemirror/propChanges.test.tsx b/tests/src/browser/y-prosemirror/propChanges.test.tsx index 51f7ad3b27..38502f07af 100644 --- a/tests/src/browser/y-prosemirror/propChanges.test.tsx +++ b/tests/src/browser/y-prosemirror/propChanges.test.tsx @@ -220,15 +220,9 @@ test("suggestion mode: resize image (previewWidth)", async () => { previewWidth="200" showPreview="true" textAlignment="left" - url - xmlns - width - height - ="data:image/svg+xml;utf8, - - " /> - + url="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect width='100' height='100' fill='%23ff6b6b'/></svg>" + > + " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -241,15 +235,9 @@ test("suggestion mode: resize image (previewWidth)", async () => { previewWidth="400" showPreview="true" textAlignment="left" - url - xmlns - width - height - ="data:image/svg+xml;utf8, - - " /> - + url="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect width='100' height='100' fill='%23ff6b6b'/></svg>" + > + " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` @@ -320,15 +308,9 @@ test("suggestion mode: change image source", async () => { previewWidth="200" showPreview="true" textAlignment="left" - url - xmlns - width - height - ="data:image/svg+xml;utf8, - - " /> - + url="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect width='100' height='100' fill='%23ff6b6b'/></svg>" + > + " `); expect(ydocXml(suggestionDoc)).toMatchInlineSnapshot(` @@ -341,15 +323,9 @@ test("suggestion mode: change image source", async () => { previewWidth="200" showPreview="true" textAlignment="left" - url - xmlns - width - height - ="data:image/svg+xml;utf8, - - " /> - + url="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect width='100' height='100' fill='%234ecdc4'/></svg>" + > + " `); expect(editorHtml(editor)).toMatchInlineSnapshot(` From 9eb748060f3cd30f8fdb5e693bc6be160da8a5a8 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 5 Jun 2026 17:24:03 +0200 Subject: [PATCH 10/12] test: load @blocknote/core/style.css from source in browser tests Aliases the CSS subpath to packages/core/src/style.css so editor styles track source like the JS does, instead of resolving to a potentially stale dist/style.css. This was hiding the suggestion-mode highlight in the add-bold screenshot, now regenerated. --- ...ggestion-mode-add-bold-chromium-darwin.png | Bin 7086 -> 7083 bytes tests/vite.config.browser.ts | 6 ++++++ 2 files changed, 6 insertions(+) diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-bold-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-bold-chromium-darwin.png index b410bde1ed54d7e1751ee8e13d53be6ea8d18d58..b3e2597a5b2d671d37a0943d293efbd979f516a5 100644 GIT binary patch literal 7083 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 p?LPYd`WeXo%7c~vkCPrKjAz`Rj)WR*o@& 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 ({ : ({ "@shared": path.resolve(__dirname, "../shared/"), // load live from sources with live reload working + // CSS alias must precede the bare "@blocknote/core" one, else + // /style.css resolves to the (stale) prebuilt dist/style.css. + "@blocknote/core/style.css": path.resolve( + __dirname, + "../packages/core/src/style.css", + ), "@blocknote/core": path.resolve(__dirname, "../packages/core/src/"), "@blocknote/react": path.resolve( __dirname, From 6694dce459d31739994f482966fee96418149b87 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 5 Jun 2026 17:33:06 +0200 Subject: [PATCH 11/12] test: regenerate browser screenshots with source CSS + raise stable-capture timeout Now that browser tests load @blocknote/core/style.css from source, the suggestion-highlight CSS ([data-type=modification], ins/del) renders in the baselines. Regenerate all affected y-prosemirror screenshots so they show the blue suggestion markers (e.g. remove-bold, add-italic-to-bold). Also bump toMatchScreenshot timeout to 15s: heavier renders (tables, nested/concurrent) were intermittently failing with 'Could not capture a stable screenshot within 5000ms'. Drops the orphaned concurrent-both-add-children baseline (no active test references it). --- ...d-remove-add-paragraph-chromium-darwin.png | Bin 15299 -> 10738 bytes ...d-remove-delete-nested-chromium-darwin.png | Bin 8477 -> 8408 bytes ...d-remove-delete-parent-chromium-darwin.png | Bin 8679 -> 8503 bytes .../add-remove-remove-all-chromium-darwin.png | Bin 7003 -> 6879 bytes ...current-bold-vs-italic-chromium-darwin.png | Bin 10914 -> 11000 bytes ...ent-typo-fix-vs-delete-chromium-darwin.png | Bin 10597 -> 10533 bytes ...ode-add-italic-to-bold-chromium-darwin.png | Bin 8444 -> 8411 bytes ...stion-mode-remove-bold-chromium-darwin.png | Bin 7355 -> 7368 bytes ...ggestion-mode-universe-chromium-darwin.png | Bin 8884 -> 8880 bytes .../move-paragraph-up-chromium-darwin.png | Bin 10649 -> 10665 bytes ...aragraph-with-children-chromium-darwin.png | Bin 12548 -> 12472 bytes ...rent-both-add-children-chromium-darwin.png | Bin 9052 -> 0 bytes .../nesting-indent-chromium-darwin.png | Bin 5937 -> 6026 bytes .../nesting-unindent-chromium-darwin.png | Bin 6295 -> 6342 bytes ...lor-vs-backgroundColor-chromium-darwin.png | Bin 10822 -> 10700 bytes ...rop-change-image-width-chromium-darwin.png | Bin 12257 -> 12656 bytes ...-change-text-alignment-chromium-darwin.png | Bin 7234 -> 7154 bytes .../table-add-column-chromium-darwin.png | Bin 14177 -> 9614 bytes .../table-add-row-chromium-darwin.png | Bin 14396 -> 9715 bytes .../table-column-color-chromium-darwin.png | Bin 14656 -> 9987 bytes .../table-edit-cell-chromium-darwin.png | Bin 14990 -> 10372 bytes .../table-merge-cells-chromium-darwin.png | Bin 15063 -> 10445 bytes .../table-remove-column-chromium-darwin.png | Bin 14051 -> 9391 bytes .../table-remove-row-chromium-darwin.png | Bin 13740 -> 8962 bytes .../table-split-cell-chromium-darwin.png | Bin 14674 -> 10066 bytes tests/vite.config.browser.ts | 4 ++++ 26 files changed, 4 insertions(+) delete mode 100644 tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-paragraph-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-add-paragraph-chromium-darwin.png index 4d8948d2fb03674eb4246658b7509efc50c8da30..4069c115161f7b967967d6d0dd339e6e39472691 100644 GIT binary patch literal 10738 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 Q;b1U2T85e>=Pup&H)|Lm$N&HU literal 15299 zcmdUWc{rDCv~JT!pJYfyB_czES(y?I8e~dJlFUQqF(SiPGL;C0j9)4uk|~*!nUIiV z4oPM*Py2rO_CEVM*V*UVf9!M4K3$ja`@O&SeV%8nb+3EfYwtP9W4CwX1zz(@|Z)u?6-6Ur@HXqx2=1A zZ9VSx@+HF`7r#cRIF5!^#@2U4P)g@o)0F6`=zEtxy`$1x7%N2Ea6mxDfMK+g@4UMD z_3+>**)T4J@s8M38iuw~*$b0@Wu^44gWTe7HWo7!d$)T2zg$3vQ&29_btb#5J zV`Yh21yOp+y1MM^XuQ@3mFOOqk@4dd@k?!dby+XF%X61^n6MGeE)g^B`d9^hLqnU! zOP8%@dqecX1obE^3l>GXte6TqY9qvL#rmHI-JI)>bHuyWSsK2(ME!C`@^_IPOPROl zKIyNIOS9~da+YFUoS*KS?Te0k@xtTQNM4BB@_fhh=g+OC+Z=3{X8VM#zss1In(h$L zUc(*jEF^6Bu`_$%b$6E+tD)PqYu9oozg&H%!S}7DO(8X<@+!KjP7N_t155PSB`^Sy6h?4i2Xzy?BVfU_pp4wi&4B`)8zvhF< z-bWq1RbE~F;@!JYk4=o9leMIOe0);W9~bS{G17ONlI8utWU57*1O+Y2$E3{m%1=*E zI*t}n?mu|2=#b;MzUxGI$HSnYlUJ_ns0!xohMN=*+1G#jR`~~`#``vhjt7k<24#M` zKSoPOA2$8+#;BG>QF2V?f{Mx$0iAW^tTHk(sF?)*3R04KvP0O=3NAM`T0}bm7azyh zcl#V;bMxLioA^41b4G~MOD@fH-#x)rb7VwPHBqfFRv~<*gx|FgL38@ViFL|aE|c5R z46AkV%vPH!-d32?+xx7uu-G{gTBjJV6_d!r!m8mQ0!dfWJeLb_{Vnx2ZF*@ESH>B`DVt1JyX^+!!))ua6?p+W{!N>Z~N)2+6&{JEp+ z;LtYC*(3S$U-Mm#;2R&U^n!pz=C1n9qOI>+vutPQJC4-g#L%Sn)ETiVl+oh$avv0wy@$vEGTK3>7z8qh2 zWna`Szdsqc1Wdp1usDw%Hxt<F?zB>8Po7*~sQpk-uk?-ctj&+=@Umv3=<3^F%|u+6CZfp)g88mh zUNMR+X^2<3Qs8>DyUf3=Z({7DaP4S=ijwt2wWzSeum-v7>v!L&2R{ zj1Uic`&LBtwMGRD%Ove8si2^cJ65{u`HL6U%Zt-#`W0K?_zc{NJ<|otM>lQf(Z)u3 zu4O-pjpcG3b!W92%4kacXUS4?KlhrLnB2rmU(<|ev5L6(cpuUBo9^l9hlUH5U4wb9 zeBcbxII)LL8_!Nu&$uVO&_&zR*C(u3N{xM;aWF72AYRna&|uZ!GF|ueD-uhw=&myr z_}GVsY$u5^l_bYDY~H;2W4NgQ-Mbs8Hf;jbz*SPy(u^%F<6>g&czROEU)FTwR607j z)wZvO^WeezuU=CB{TWy9)Bm=`qC2&U z@0r6$`^AeFM;k9|(fi1}eEITyugzFD>vHHxSw+RtM?pbFy&+nDW!+t`bA~^_wSX!@ z!ovG`c#0o|h24wCQE3aDMOINJvBe!}x23VMaqG5i)}Lj$1CTB_wmd!K&q82K@z$*) z(JoUvVv#tgsHg-QzkIoH{yfP&%5HE$V>7d20cv23I1)g4O%2x;pHI)u(8{-DT9!Qu z47_9f`ME4Lt5ihv((gFQxu4I7gS9#hB+0bdx0q|V&i4KuZVSJ6k1BuW`=-+mc6z|( z{JYM`s;X{B-0=w;)%3*N=lfp5sMYgXj=wihj;{-NV(=yLO78E^ayS6(dot|4EJwqH zYsB0EdRE;JM1^jSYU6^Fj*jB78KzA_R-MNTYa(R*S&kCB>)mfO;XJUFsxGo=pu{3m z&*|q=uTU{-c9Jd07k~Z?J2?;KSC^ByczGWH;cdn%xDnX`y*)h-A3i*G{P^0Gi3@~Xz!iPuE(Y0MxtDoRf2$QLe zI_lVYn{w1CPv#UmeRfqv1)I3|leOz9wC6hAX+x0__n!8BKV+|mLwOz-Cu~2c1}85q zeXy(ft@*Clt|G7cYl@0AfByOB)~#FVCJQN91(4xR`!d}IW!dT@Wivs$^gT1ozCg7CcKPLq+3&F@*q8;9nL}fkl<4ds=j7gvd(X! za0kLhX)SzbBw2pHO01Q@)AQah;j~kXR36@ywY70?-q6*@$3<2C>jMxv)lYv9G|{Ta z$!+r5yOoOmG0r>PxSr$%8ZY+{E!QW>&yX+JPI``hI!P-CAT9OXaniwUu0Hx_M}agJ zAvZw`Te75cYIOOoyJ6lOtykUPyo4#Du+aWLob4 zGCGM-gOF>b2a|K}^#86`GJM0aF6jGr-MQ%z|Nf=*3X0A=L6tU^I{V!&-5 zJb2&?N*4;8-XUSPPZ@RthDt3j*vfl&cu?<_c!ZRx7bar9v*oS1-sG>wR_n6ep&-n$ z=l97tfbID*39bvN@@N@~#Zo5+nizV=Zi>-mwkYW7?TvO@5|91x;e;p6?#i@Usr$xX z-{>S>%L#s2Q=@pNaF4QPa>z?sshKsIEf1=C*^vjT!$tL|JWe28xK5=-cTLRB3}`J^ zvM!BMTIA0f1_lNS{Na9Fe)sO(GVJs*QZt?Fu>-KZ#6%tu%XZ)Wa1Z#=w-i0fSbymy zrg{Re6)+`kX~#%S0Rzt%y8M(DqXt{<^xS3fcWf+0eO$C_<>wc2&2Z6zgM2rrjLVt*okwPfXs!zTV7?EhI}qA!yB{Y$S@$IAEmTaDyR+m!Aw(smk5DN}oE zwqx72ZO)U8m*vAn9u&G$;+}nkP>`Y~%5~0|V)M@8WVc0Ai`=o(39nwE!hk1Qjg>Ig zM|O-D6?@YI(ms9tTK+XfPmtQ(i^a*?pek4=AwK?TLc%?GSDD$jbRSSDFZ#Wwtx!JI zT|0f6VkCEh=GOFZuch1kE~5x*3Raij^vE(1&f^sz{G@i0Ux}Vrg`!@Y6ubTlh?Dq) z1l_urQ=w7|qbK3*o>jfN{hwbv3Jw<1E#8eIa!P)Azym&}NLUDz53Ry>x}dqy=C6y_Q#JO zH#9X(z_z2<(nMPHqAw+@^FvO#U;)c^N%>n-gKTi}EZaWagv7)iQc~)spb8(W*fL9- zuTx!JeKSuJf#@T{KKL!;J`lL>^XC&zP71VHz;e{-VQ_G%r~x1hnMFHA?W-0T z1V{$(H!vv3*usK~i5fo?C0u$X))!%0UQzM%^=rS%%5zv!O3P5FYLa@1cwfXxWG8U2 zi>j&@)YQD&EaGzVZcXc^sFl~&_7&89`EuIS^x&yer*IHKDB^ftsV04ou&rUk;bmt_ z08|OTvB+e|K*YD~g0az#E_I>yf@A;OB`NS%GkY0OI-^)~&U% zwIu)_{lM}#{2rBNDEtd6FMag*u}3_By%?0~FLJ1?AYnTMbvLAtVh-0Fj4E;Z-1nV1}iZEe+{;rRD& zH*4WuK2QQ4J$hud&&S7y*zYBMUcy8h>gtYz$?ZMk*Q33KfdNH2 ztumllh9Ds?FR#A7K3u4bcHrdliXg;%17Q$uk?jM+$>%tX7`DE%X7aoZ7__Zd5LLc% z#m5+7hT5N|NMJ@}cG1-$yPpeY5gcmI3rE?k!$i^X=;KHEb+^}$QjQd{piMd;4z0Ge zM}3*a1B*a0ECrBgaS147UonHy^YrwsL`6_zUtI)_@htOyH&qI$c*}pe)b)Sxraect zZQOvW;qRoR&4i#WtL~xu8}W*Q5XzpPkx0)GlA=(@%j}_hZ`bbFCkO!|LXjJ5V)sh@ zkKQWVwW};^eB4IF?CX0`^O?~uloa%nQ!SRlZcEPDS5tKV04X!Bj~!EZnV6{GmVKjG z$m#d>)!UADfC(EFd2V*D_oQW2gkGgg6sC#3+PIu;2UY2)JVL<~I_|>vP#&G(d3MIX zwBHWP8NZfd9dQ+KiA(#!MIfTxyLZo99Z4_6`FGtJ;NFD`7sS4an13sVI(L!>Nm)WM zjse@A9U+WicA{@WAzb3d0U(PEFxOX&RI|W*06epKxQO}pCq_|h!SzbgyHS84={l5n zI&;H8Q@|8JHB!e@h*Sf!d*4Z^dYl>BjyocqFm1FtTMV;-pMhw0e`yjOg{j2{z?*2wS z39IvFzNf=Pv>f>eu>dd=lqx&08r4_Z;3wSy54u~oUDhasL{j;*^=9{ji*ru`i;+&h;^m{IB2R+2?g<7Ry?6gU zQ3>0d#cG<(L?Ewt0r0&`Ofmu=J-SPl6OGpZz$a7Gc#3s1)Md||J3)NZck`@b?sWSt zvzE6H7GFGnE@1qbBStk@vwCiFKyYy)db#JAVRcvu_T~KxWL>Y+w=4V;QV7(u9Q&b| z{Ct)bY8Zn;8aN4!yb_mMi814m<)Ynr)9rd-rGxyOoF1}4T=W@ElP2IE{{7L*3*3}K z5QD&(WG*f*Eka47?zoGK;08Et>i4C5ccM%;%>=AtVjX~A+7}V7zU>#y%pms!` zy^>|adHdL3D?;hZ!9g=3h}TF?$m3M=X?C$|6+wCZfSfVrl;^w~atk3c1e~>&=bH2l z42Y;+mJHqCE==A%=`<^`bLY-?P+@n7+i(;tO(s`VR>DF(+SD>MU0`B;s5Qz4CdWI} zGfcKY655LjgBT8ib42rGuQ?kF+cBG-=pw4&qXX$+>f99cs)XEdK-U*w44chX{OQShsFk zGZ8i{&wx4nLwV_8}6Egb=W}!<+dSA|-_svBdxH>o7@c~j7q<3JiNaF?E$ z^Qx++dEl!$(0Ph=nJ9?V&dJF+Xo=^UwZ0=BszxoNd)>^e2P}L~u=2Ch)&ib7R^N={ z=&KN^G%q0@0Q(=gnx>WxWF4Ro)l zuI5CXyahR7FUv>1LE)Q%wg9Mxcqr(QF0|`ScrWEEozK&hlz{bF{juR<8c9h6-^x>x z|L2#Ab@yy3%6FNc;Yxq|7N5gSUFN686t0__pOTT`*uFl13F)9?LqW$1GoJq+zpSjT zyu7>M>7rU88;AaY%p&PQjovk=LKz6#o@_|}3B zB^+U7WaLU*8U2UvIqw$Xuu$XKPV*eH#&LHF>vS<@ni{Ejvv#*-m#JxJRRYd4R!E;> z4^b6`l0rAA&7!Q=rpqRa3DFHtB-oqpvi-itdQyWC_u_?Cf(kTzy2CAcF%OYJ^uCxF zcA6e^ZGLq7OPA_rwm_(bflm7|SFGx<&C$1uANcxG)98c!H8eKrj63DsEzuHsqYgzHsdZy;h(Hpkcgh+XzAJ{|u;}USwcgX)+Y8}n zZBCn_084Gy9-1WP@y+iay>{pMA~~=!B>rNCn&T;|FSkB6x6oax!;tLj>>7$uCB5)6$+qrVXakFwz)Vg=E)Djy$gj&2z;MEXUEX$x6^)HA3~ z2AY!N^7EtAh&K%+rXj9@6U7ez?WC1MXw~fv;N~a{pOOW}lT$LT=K=tGzd#|DkZ>U1 z58_v+l^B79k<-voxub5flMHhVdyhrXe9E-c@@qi5r8(W00q9Y(q6&O!9jgDn9@qjSBHstGlZcs zR=0=;yF|yqZqtwxAX}v{c@}mSx{EI_Ok|<^^rnTRIp%wu}sVLkBTeBGa%TDg0 z+aoL-gteoboaI81gm$O#_3M8>eR>;-1TV@eDaD~NiEttAG|vwpumr5sb9x^m70Kv27=Df;TSy>TQABbvh z^_=LJ5PS&P!B%XnR;D6szM@3h4F*W+nx@y+crH=xfgaxIPNu zBH&-+E_%=!VPyJ%qH)lxdgKwsBSVK`Q0dH6X)S$Favf)2rlE{Q%Q{fp_Qxn_)Hpmm zC@}B@3ahroUVb+n2xYlIYoxp_G+yYR_2o{~bfe1YC9n-%QL3AwP32WYnsR6f0x;zr z?lbZmqUS*h9_0OfTfg6BP<;Oz5ikL+A&43;e_>n>n0Q8AeJ6C_oZ;;IAjSwUU!tv$ z4jBn_BHlyZ{=7=YQ4umIimfGZwSL6`#Z6FKLGe7m9bvW3*w{D}+GrMtem~?ANbP;; z^@@7m(v1_ZX8OG>xz9-YlzasXHl%h!-_8-rr}tbTt?T>Ywj9zCU1?JvaTx9aT{3Xf zEAt~oPiU-CbPd|(fAtS#b{L|CM+O$kSZ?`(4iCTUra`oUq@X=Lii1eS-~t#Dx~<>Q z?q!#jj!w}l6T+Z^JXsF<Q3fAAz`WDX#+6(Do#>Vfz_8(%T{ADv=SPR<>tLUHyZ z%=C5PAxP?&gTVZO{?AWOQ9}|&z;d&5?NXoH5@r2gYuCRclNaaCo%;^6{V1Z9?!lIe z2qh#r1}6Th1(^x4jOrSbAtxGuQ=}JJwLdQ6j`91y))Htz(Qu>yB4xwO5RtfkT`rj0Mp}%uk`vTqu!fCo#T$<7A{@y^24xbHkp4zx z(oH9H7>&6fXbOH9nGOmKJ?j8{3n>xg8xUO#m(5V`ud&FiZ^Q6}wHWgP#sNwV({zA? zP-nG5YWs?yCVN&J?loz6sSG+x_c%1v8!!k?*w8?V=I^(OB0?{ofMzd>zu@5Q^6M$6 zwK0AZfznlm46^_)p_V}&C^Sqev^q~39&0gV~b|Ev_C=6lzyfH(Eg5R$|`j@2uGR`}-G0y`*~_3g&m$O3m|l>VVXayBHE`%YLSKVDbXw z%WKzmlUAASkB>xC)hY7S*(qwlOo9=$pWTfcDWCv9YNKms#<~TsB&m|;6ICDO-WZxm zfTC+T_9+G6MHA>Ijnfq(q zJw*I>n{Vk*!@LCa5Hg^HcAEA9K0b&yLQt-^^QgTiZ4!c5L@kJckJXS87Eg9W$09{N zDZ=pwfgEcN6^x>w>pnWa2nNf%0!VT_t0-%E zN=1d?$&)9{XF(~zv%#Nj_K^M`sGXGbV!zU?1kL~&2?*pxNZ;@#h~nBz6wACQ8X8T| zY2Hihs=b<6sz~oK6EkL-Pf^dfEe>cwArgQT_BwygB;S-wX%Ll)oay1!C{QEkl-Up4 zac-p=Yw1|p9#U0u=Z{T<<}KH*LQgO>`h0~I!3;mam3x-|U+bi+i!VlWk~VD$)B~Li z^#Hw-(D5PZJbJV>y9HxBNUt2+-1Q9&GSL4iKY#jk4Ao35>1#7l*yy9$0`ozwfO3=Q z(TI!0yu95|Z{W6wr0IEhIjj$gH{gx-Mr&3Oh?L*kvm764B9HVB4)$CpU60k5^EV@# z!fVH_wd6SPBS#IZU%iUAVbIU*?TT0zqRV5F<%bk5u)I^ zb5v~@q4=C;q$H1<#MM{a9&E|xsKv{8;7by?c~Df8Up#6jU=|iY+WgzM6BVrjV`7bs z9woX@@h0kHr{6!1JD`h$C)1MYl#1F~P{-XWD4LKUFky*3?Bn6#*uUS$N=zPe6tlCl zpa421=H?|s_A2V?=Rk^(0#kriNio|hMiZZ#p=DCY6J;$9p2OMp8_(U+4oZ%VTK`t_^4s_NO>x53Bu z{Ds;d(+T0#ryte!JxfWU_b+qTVM6T|fWZMCJhrDtABdfhm9-FK1QEf1R<5*4jq?S8C!pWgUQN%#dhSQsBd?eAZW_tnq}1OqATn+QOv z(a~W;sr&NB4@10+`5;vIP2=+@RRO?U$xU+jhDb&O zmMFJNa9DUs5usL2lfOLnLoC|3!TT2&!H|7WP>_2(00SZk4g`uFXcJDW8S$?SZ63`= zH2+VaI)bI44A4_k_+Yz_k>q2*`d}VJ7DHp45-a)?^R_Eztg{pIsaR4dcnu;GeX{cx zF5E%$`rcWNJ9t(khH?R0aC{E1MKxSSRD!*G-N6IU8bmKw1|WceOSCBee*S!e3JxXU z?1rGGffs3MK?q-*Vnt0&EYisCBlcwI2&^6H6E~!5{Pyh}U5$qRSZnR;uWB!;3=`_N|OGjmX^{*_#${%X|IhkB3oCN z9m@k8>t(15Ha0YT!s9UUxUW-KR*Bs60n8ZTpk}oBLJnZI34mQddiqRgD@oz z>!3RMT;S$LUG)Cq`Sb6ARfq~E&*SJq6A>SW1!_|V#3Vu3JY=68&V>i#r%NKW#K_J<;e}C68>Y~39kAQMA3J1W1-^ZXgj9G#YT~^wF z1S|tY{EZq&f3Vgh zV@$&!{(vZ<-@bjjZebDYw!DN;Br`CitV2@3nFGL(;hd%hD{h18)U~$CqqUIIY(|D> z2m&>rSc09v9?QUH4*=LOk&T`JSS8GWRRS6W;E^fN%y9l>ii`{0D$KY6gvVx`SHsh< zqTh~`UGOGPormyxNKPOvLEyho956Vpdrna?7LzOYOYT&3k39tF0cFVUF$~}h4Flbt zdUTS=vl_LL`XnSJLH4|G^{O16!w4T?q5x>a+?Z3K?4Fnv;N<3JxP-Tn zJdhM#;$-0%0@U)*UBjzOkqP(j+qVa?yDz%dYd_F=J;oC`@H-(IX=*&ASB(SZn|MY01CPgTt2BAl#aTX94i_tmgdvBV}WUlaRmnV>a zQxZKo_m@BopaV2b84P{~Mnw1`WTB~}Mvy_)M9n5Zy`GG+Vr66;10G4>ecf94-_Kva z{_$ACvCu$6)%jzMh z6a~ynAwPntU{VscPiuze2>cIvi9irz=3=G+{+)LCw_8(w26Q3!=fF%T7!k)n46qx_ zvblq|fpEdM+Bi8l=%^`x4VVq`LRN)aKn@lZk5tT_aLOZSMz{+?I;|P!zPd={H^dFi z3xF)R16+DW0*2L0X2cN@FF-=g(y;5Bm_?R-ZibB{0aGHZ~0o(xt(=#*mm?*FvW?xcuM?}awAZZ~%VXzKn z1h?6Oc|HMZ_u*AX#=zSe6*1;m%(lSoVvtTC!R*5cVBjxWYB~An%!v6n^-i$`@iK8v z#TtpUn(HqVUVJL#;Amgo_4M(>So%vtJqx<)6T+SRcI3+b#3s{U*@j}wpQ+d$8tjNn6efO{Fs4sRBCE{i1 zI{cL9V#u9N2e5uo|9t3$N-*cj_icK`>Q&cpS9~ClBmGx4m+Y2tN$y(Pdoi6uEt$-$ ztb5s)&9)QqVb+XoLm)??dX;^SK~7t0n?=E;a>LZC)I{fm^{n;S?j6TI`jJUa8W5!LPCu3P6x#PQ^r(|KWUXoh!>hdovE{7n?3f#Nb}|Ra+0Jvw-m&%Tw>#$>fPPeC za?-{`6MexOU`dWUMj%6b$ydOLw;Z5r?d|;Dun$ z_FEEc8$65HzNq6n?DMvTx0FfOx8a6@^40~2s5eK9J?KW;Z7*-U-DTx1==r6va4n7m z&$GzvZqjn=Mc)(GT)I?(eyZd2@b08Zr)rF-ltK`r4{*z8A*Jbf^NEcOH>!JkIUP1r ztjAblsY%9%75}MBEnfMa%JXa=m4&6{4*xPW(;W{^x3;zlMAsVcW?`{$b@j^#o*wDY zOX5^ek>aWnf@e%k1&`hI%?Pf$UR+(hd15x=OIH_LUtgb^spI0@;XF_0V{$?-^ z`z#?Q_V;U3MMXucnmQkHTt-GlSeliK%L7|K$=ZsEh?@TX{XrFXVLtUm*XXgE@&z4z zQa7%_j*e4f7;V89d}AsdJg!Cjd2R*pX|F0K_%#7#s+MR`KxdU+*}y`{49_||4M0d^Nvy`b+!#SDa4LKy#N#S&%3Zpy?T@Czxa1csu+Q&vx*j6O)vDJ~1<<#})J^BO{}l zskoF>Y|}tjUR-ZP_xwnKk&?A-e9+X6c2|^;$u;e#wR6WiAo6 z3y)z9X6Dfs5w@*mxDJnT=wEqEDz~mL{xpSOtdGgR?DxFO(&a0`&iISVg@P5lVt121 zN=Tl})ZL8WzS?Np=!pqiaK4T*vPSYRwU1}@2X^*bHUIk4|35D-t-tw~!cyqEM`8Hm P+%>YN6lGqY(7y98E4o$B diff --git a/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-nested-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/addRemoveBlocks.test.tsx/add-remove-delete-nested-chromium-darwin.png index ce08cdc16a8021cf2ee499d6c64a17cb6337e86a..271c80528c2d68c5ed669ca123d285b5a1966324 100644 GIT binary patch literal 8408 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 literal 8477 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 Q6#;>=B3j|&wFkcc0E#`R0{{R3 literal 7003 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 Z7ha*9l(>0z6Ok8N74E9Y7TnSI`!5Z6I}-o^ literal 10914 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 Zzdd*0KDGNKFYy#4SwTbo)#=N3{{ydBFlPV& literal 10597 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-italic-to-bold-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-add-italic-to-bold-chromium-darwin.png index 20049426e435daf5c84f05afb2ac1e4707fec4fc..7074230d3d91487614af6f7d2fb99ca89358b576 100644 GIT binary patch literal 8411 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 literal 8444 zcmd^Fc{G)4+iw&V5*bRQGL;M|^YB(8wUMb*GHgX8Wylb5q7Wh^yG)gA&Bj9Jc^i+wt)&KNOMRxBl9&(;|WY?BiSU*^HXA3=h_wL>C zPoAt`V+)-(?_IuC`Px0U9qLzpewHGIsLY9+c)5w6pFh@pSiUTX=g`0YwTxJ$OIT=V z;S#-m>26HS9Z@BvXndm~d(*ZrOz@~acOn_iwAh%_)ZuDR?rf98#8esFbv&+Ckip0~{=#ZFlDwO>Cq zb#>W%7?{b8Pc_?;8XNT#u6{2Wq$Rq2f1YTRVYfA-HQkz>U5KJG_>z6Tda$IjzX|ZXK6+vh&bs%lg<_9}y9e0;jQ_!@IO7 zk~eOx;~GCiCX@X`LK2gc?}mkKB&}Y(nj&tJQ=uA28|+JnH0de0v69}XGTX=QJoKe> zw7WRVb!7)mZ+c1RcFvBG?Qr$^vzX^EE;hf(nQT19!O5v- zU~tpl-<4~N>H$|*xd{5g!q~(_{M8?yc$Hl5PW@=!fpc__c>MUW!3)!Tm5hsRnNq?! zv3-%FEmm>nU$R{!tgWrnZCk?lEqY3BJB@V2P$=A_mnUA6$NMVj-K<_+o-=cE4%xTa zg&T2h*v^dAsH@U?ewFC`jJZATz|Mp$_a<4Ry%W>+v zVOa=&{f(7tl3Ry@wkqBa-l{m>xwOzpUl{QcR#12-9On^+-k{<5gtQ*28Hz^+YDLMg zad4<-fmZ7S(OkuUQWMn=Z2+rqJCUuzx^rB(DRF7)H~tQc<378Mu&I+z$IBrnesRjW=W zZ;uo|`^0VH>&KTTLj;fAZ^&_Tq-sT}2XgMoY)`kQQDiUkQDr+l!aH)^Cl=>N9J`BF zs|WK|b}lWttX;d7TheS52XE)lO_4w`q(ghiac}@z~ftE z!a5!v9^#y`90$lpwY2(cWjmi94&?m#ImKtIqH{yM2CIXkqrAtAWV}YmSIj-R_1z`( z0(S90)l0>qEXcfuB1MXlxntj3mU6CgQqe zpFG)amvO$Dllc2PTOPyGl9GmJx;ymr_2s=5m4?2&wfNTXn8LuyR|ANxtgjy^_g(ir(()J11lNxuEFQy1|ZIMGU@4?zPZ|539likAY7foy~TpPbGQv({xl5 zUPxJ#HKbeXle`uu;@p-NrbQ(r5)b*YygHTUi;0x>q`P)_&R?Qx#~f{ba~6Lj_Ix>S z*7t$5m0qIuR;o^1o%iZ>&%V!(}WcidA<1*7TA~S67#UE;xdQ zoKCfA+C@|di=jwcu~55<{lf3vQ*&_GyG6#hd5P1B28gOh`_-+zh-2ne7kyUS2--dttkF?N{f0O@+A z;vsx)lzByf%DLxsL#Dljx3~A_cbB#RVplORkZrK*m1|h~Wb4iYP zeYpMT#6+<{ygKs>!c<^7f+Wu3cmt356gN90$|dwZs@bO-Rsf z!l_FN3JEo0kqXW~(O18Z2OVwQnWrpmSyPbiG^mH=9jv~;hZraK>EVQ9k>cm9tSrV| zm7KnRy#4M{D@M8K(E%S~u9A(!q7|;Lr9D36S5aAM4iPaq+`a{(XSSLA_Vn{U=j^Pr z*4CmbDk>C}nXZ+jAI(XLKsHQ7SX`V=g0lOs4ZOTHK|InIXjJBiqN1YFsi_2<^-VuN z{U(6K=M;-I1Wb42xB&*tAIe@^)Q# zd2hELmKAU`AtB-Bty@x;JCrud+SLp>I5<4(8yN`!b1kD`7M@kvyd^tix3`5rxtNVl zO_g$Rb00|v2*v@j~j_SCFaqi zZNdDibvU=@CzJT7pqsrOGgo|B`L#zna#6`puRYA0_dRNyofybEd*TEq{-faIQ%&|@ zUU@KN&R^DTnf4!_>G~W!``*cXX0)5&Xw<_oAIEe=TN|^kg8ucBcl>I$3$lV(L0ECO z8M?|i&*Q1^WT z3$7e;ws260F?ew{TgI?G(|)DCfdPkM({ueb;jKeu1|}xKqI>s-t+DT~+C(~V;K05M z4SyZQywiY9Qnzrjh7cN(5%=$7kUMI-gfkub*G7PbsFzybnL~8NpUJR$Wt6f)KT76O z1<jU(O^Nm@?n?r7dZ7Xs}gxL+o{kf4&!~AkQ>Dnp*#LmEH5w5X}FDt zhOv0|>{)>UI(BJsWNEz3vEF>Heu=JAR9xJWX}?4H+T^3tZ*7$3zQtp*IB3};dB^PR z#N)32;z3c02A#<7-6n+iLi`j(MMcer+p=;N=YFVZXs~bHs+DAt%eZb`@xAEipz_|r zdw@gmwrhXH$;@zUfKb1b6)RRqp0~1^fappA3Sn;;#wQScysDnOM6HILdmXYQBO)U$ zuu@K;$m+xB3hS0sL8>*4YQHddHE(Ir{l0{0-O%^uB%S$RLsI=;zdH1mF&{m8^up(4 z0VXDEW!Sh3)7tz zgbbuYf9M+m;;Cs?^<+RiFBO7wCGGW@3`v}^ z7ZeoSXZ!gs&=7)$IzH||LOl!aJ$x7d)s9jYqwd~>O8v2BsbHntwMmhMxv3oz60Eem z>+_$J%~wWBm|Bi@6%vF#H}#{px3?H9Du4AmhrGNzARs&@rk23TjvVJ9E2A3QTuSeMZsUo#ZIUD!!pQR`l1F^ zD)01dgRpk=qf=>?qz8L%VFlVT3Wq^X{2rsrflk2XiSI9y#v6}Gq*#=*{2J-h(bL}alSPCkqzK|967f}TFz`Q~i4IyA#b&IAkL{U9W3VidV(m|*|lU@D|i zn;m-m{FTq{F0EVLdQm+0u0hm;WT?L;ALv@19?FSnLv4MYO zI}Z_pyd}#~n2;v0mlWb-hztTnHN%BKdM?SXi#PmUWoA-fA0a{fKo~z;(g>V-c``{4 zyb2u+CKBAY?_TTK%qzE0V0oJUvxl%}U8BS5zUFrEcB4X-3Suo0}VfJfCf4&@&L9 zgtG4Sgz5lMCAZjqOfrpghrCS8$%(G0I3mWmj&&DIEg+c~VQ_0@T^*sh35>q_t>Fgf zF9q~%;yHW1s=C^(FH|Fw3oZke7dA}g_q{i9a&F}0R6l%pHID1!t5e~d_uCvd#PZNg zYU=9b6r;>7A?1g(wOP8myXAOUemW}xN{N!CjICp2ViMT7b5(dL`7t<*V$=NQj_CI7 z-ipu9WQY?}H}crB_94;hzdxbEa2=0mvPr80&!pMkQs92H! zJ{NYx3JZ`QYKIS-uVrLJrjir>J9w$k8HF6b8yb4Ux-MEC&H`~wsOdvytbi>vt_!~H zE3gJzqD%kN@eABYNi`2W3h=)*D=Ul6ff3#zE6YWLQ=5e;7-c}eT9pQD>Khnvl)d=r zl{wxUzjtE7(q@+cxxsC1#-0IamC&fDKx^>7$8@`kYdAiIQz!)LWko@$B$G?m%3SUU z^7pSOHXFTc*IyM8t?CsUNB;AMk5(6>*phLXzk?VsF_Rq1#6Z2HEEJsu+^%tsD^Usj zoN-nd{xG5c>dzaCFBln2UvZReXI>29uD>-13|j)xh+9~c2MgecCAm>Jly24F;2@=^ zrzbNC?!_YD&Yi<>>E_7-Z8>h?mEppUKmfFdR%hOI%_B!1=|PcKM@kGdJU%otJNx17 z#gpiMUvqByhD4g?(W7hUr$@>Mof_X?y*T%4D6riw@dd&l-}OA+*3f+hNhUFycArRg zo3P}&KB+6D6B{%*l+h`qsu~B?+4%0#8Em&4!GfGaA0t4bq^ztFaCPwDK}lvvA$U1o zmaSD7SJ-SJLBU%uASECv`(bV&DW%}n2@~np{*SDDzz(XAvd?-WuoF9i2f%zTm%vXga2;!FVu2-2~ zpWR+pa+_V=lP*UEX%LZ;*xC2@CMTVMJeA4j#T9jRWgJ_!1paP{ZBL&*ZGdF}u^l;g zZs$nuG#_BA(BSmxDk$nPS0xgHs^u#glCMqKoJcaMWyMDb3qtSTS6^CO-~s0$&pQvV znrSTlVl5L>q2zivsLGm}l60356TH>b(n?5AzX$ka*{Yxh{D4pEhjk6wygwi*Z*Fa1 zX%U>-OttA^5fXz;LPJ1RL-W@|>k|j1ofxk80Cn0TYxfi>8Mt^HQHDOGBigI&44MK$ znv84;s5IW;KJr^jLe3*R;0!4*zRAQ+dbx?0@|{B}Ah9 z1s!4sVKh5C3vM#2s;umOnUuF3t%C+5nR+ekPt=JM0)_#EJ|&sfLt(VQaTFF763jX~ z5SQjL>p%jF_d#{dj-N;K)xZxBJ{BJ$+wu1Cxeay`7WN|onf%46q_+201L<@RELj;* z2u2ws!U5#*EA$C4EN!Ywp<^91QbqIP)aJ)UEckd zShmZ^*NJ*nVcbIB$!Q-lrR~bfgkgLU5E3E`O@hAJ$i-Docoahe10vR4U;OCF6K~{A zdTEwggwgM>jSW@b_oDFMjqYw6r0(Ar+@ff?SG6 zKtg0PAZ7sj_UT{$+{%Yb%FEY;*IE{*1I17wp}V7hi%1DfpVLf*NlD-GXhKV4! z-fK}Bl9ND80)yZd8xZ6*(r8jR&@tps8`;@?%6kO_1y|F;byRMblFgA7K#`5TG+hYD z==6+&V!Af@?FL4lg*by!-wm5K9TxQR^4h%bLIElxg)q^+uYwJs+@XZj)V&ZWWoTSR z7M8EXB>UrRp#hE(+?i6&w*$QYck!*DWO)^xgL=zDpx`gSJwtf(z<)q>nc2YDQ)_BS zq^$~01?SRQWRR}_62q||KL9XW5mO-kK7=RMS0|j$%LHL?2iboyL5WmeZ ze%cIj8a*{!+I^*KU_irgad8ofX1MH6|Mg<7%A1=b7Z>K!E;fs!6L+6{QzE$@+Q3hA z|Nc$-2M?}@*efk9wg2L$AhZ!Ydhl}?R0Bw`ftj&h3faPfAXzFjk9kI`6rkE3j{rz1 zDJeiOB{7-4*eCJv_Sx+SM52yrC$gi@Yb|?CKvZQ&(XOBr2o(@ML@T+44aB+!D>AKL z-#1pyFT7)i571Qi<%vBAEr?A1bFRCrOcXO7)DXv^yg1WK=!em+1F_eCog(?MY%Q8Z zH13%HaG$mJbATzF+(tCewQCA2e#EmXw<{k$e8_CKyEZ+nC74LVm=s#3*-H?PqcTho zH9=javfAymW0fi$>y^vfAxKGx>?~lO2$KSRNm|3g`v`y!`@zP;qY3?Jm$4U2od4Jh-)YzEUg`J;Y z2j;0c$utqTN$KhBC4@gBA`Df}z<}Q%@wA0-{xh&ina)F~Xxlav7_t)iSH(hrzyCHo zCIC3@C6_P~ftjVH5NiE9y7X6~fZdWUYd6C?X~0!U)>5Q=;5302#ku>e8*if9#>!O} zLlKq0ydDB;p${`N<%Y{F)6946*;8tl5sqgE=wB+R(pF~6^|{Hyb16m_K0aeZ9Bqz= zEhQx-qmVN_P6|8b;XF zm53lwSOWsMh-XlRPc_4hQqM5~7D{d2j+e0ONTNL7KRz#B*t^~b0#Dk$M~w)>Tsp6p zLwp#eUtj}1pz$kwZu|S2VP7>5_Xi^BLvnvRIM|XtGe+Nl1`Z1gn?bK?l1L@JV;c~n zz}O)I&Bl*EZUi+Sg-?URM`qL2oWHpL>i3UCxm=-w@qFRy$LIP`%eV0`Wc~U?C-%Oan`GDn@)K8bXBn=9vab&Fe4eQ zciQa+%tdivmTBDs1LZopCr zTpnr~z?^j%u&5*gp5c>$aH|)Plq8-6&(1=&jXlD+xqXJSQuQk+Af5$#TK}&+9RA}@ oa7Mph|Cb+Q|9@ENyjRqgO9H({sw()u8kT7u)>eCS(9HY402&%&^#A|> diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-remove-bold-chromium-darwin.png index b81e90f85231548d8f9ab0e8bae5fb3b395c2987..9f9c0658cb21f25c79b6b8703489e3b8ba563835 100644 GIT binary patch literal 7368 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 CIPqBk literal 7355 zcmds6WmHt}yERdiP*7S>5v(Dko1X$A4xxyGNDd`RcMKsl5`s!eOA8_$4k;kz5DF?H z9mCKufPjo}pQGOYx*zWS_Fs41bYl@n? zcI}gZdy|7y@Y9>A@YSwe9DXW_m$lq>&)0kEeF+@hS?=BB7}?d5?)GRY2s6_rlyGRe zG&Hm0uGqtvj#36^zI*ODiC@2-OA1gWgovQo420eU>RbJ6?LMTUrP#!NE%<|(JA>NM z&DK#n?=6ZwCp{Oo#*AodQIn#Pup@uu=%0%kLv{M^b-D8&#Xr}XR@TRVuYHnx|33Nb zq{Yd<3H$NHA7JKmdToB!f53=h6jhUs6Bz1Uzla5QS-Jf2r zb#=N2f8)!SFEktyPsheEKYz@l@7!U^zK3_C&?< z`JF^|o41crx)W?`+e{*4gNTE!!^FzjeD0T7SwZ&W%|#EsTtG=mN;=Jbdsba7!@$V6 zNm=Q_j|Q>B&L!FXL!H*XXs?h70^`eWOKvhUl%+=Ok3NeRStBm5ANlE$l-VflFuyd-2 z7Jtk5ME=vK{We!ff427d>sO4V^UN`(g5J=_k6ZC9lwA<&eE~S!xShl`Rn_;!n5IKW z*>v(qNyYn?TlYIuhM$n`E;d8+2P%a!8AAw9$;+pp`B12^P@fYEZii-OzV5$4(lyQIFnIv6eRKKToYe700OI8uH{vOaXZ3+*sE)J)7F4n~Q>}(Cc9kj{E zPqHDex%z~y35vw>RepYW^hND42mGttT+G4%9;H+0+v7!9ZV6)*4pNEaUH)bgVP6Sl z$>~0EwAw(xq$Qk3Oe`i&*kWwWgH_&JMqA(cI3us>I}tTVLj#;@Vdd^E zes!PKz}sg?X<7G|BULxq9;X2L7F3J0Nb!o9o3je%l>Ok`tFNr9%cd4Dl6tCcSOadS zr>Eb)e{a`k7HiMXcdz_C(cvgFbIaE^_uN-MDKBqgOKk?@gBi~XInQWe<+$wa?J3*q zbr#=CEh!7Gb>pKrF7r=mO6>{a^eJ7+p-g;kqk+tJRfCkZ0v|I7xelif#r}C@WN>h> zG5ji`rKi`fKrj0q!iZlV^0a(qMu>T<$3HeUhUAXfpG(EuoVQ}g!Dn?!%xU>!52tjsye_EyFwqtn zC*v+uV%~w7`J7{FYKq{Lyav+KO-)UC1~u{1J=svCg<+hs@!E!7(XPW@vHiAnN%j5* zR@QnA9d~}MMWTjdkp|t~kohj<&JkKYskU)9lwL{Q8wo6B5wZuODg*qUFAD zA*3mkxx{5&mrb|aiq)Tr_B1!Q|LUp}3bK4sR5ZG@RAk6!$IHNTUUZ>$%cj$Gv>{M6 zNh%srUyR*!n3L27J#90^_S>wL^R z-`$^kdxg#0S%y4j`8eH1b|W=JO7T&@dGjdbhC|jPN}06HG{eaW((->Th(>weAK28V~6Ls4T_I>hsIiuMrT!B;ss^~Dav z>kv6=9S9RRoSwCrFQIqd=-QK#TruwOLjt=YSWxqWEhb;Ts=LTU zS&yIj;nzF_oPs91QX5{h?uJwWj zS$I26=e^ZG?7$1FLu3*o>LW4$B3Ea7BP1Osjoindi0jmNh{}4b8o}NtCMN7=-&7PM z?B-pU@@VgY?kZQ?+}vEZrTPQ-UqAYb`mE*#tC-OS2Ao^#ix!=Ul3^T@48V+=!ZMI=Vt!?1{Kt}Vu97{`e|WO8pZUl*0bH$H#v+`BP5i9(SFpAQm-YCI+NRaI#qtpLMpQg$P|Vq*C2L3qgutd!Px zG3)E^ARY*KPJJ)CxLC8!$>qIq>V%Zj$&rt#3Rnn`%noG*V(zjy)FHiCt&kvQUAQ{+ z$)B2$SJ1d&-_>xAV8{T)HaIktdt{{EKQX_s@afyP5~w68XUx`*`2p{(d7Uivr0ZH* z$95xF2K{W*5I~LO>Tq;ioC=^W05j(EtD70w*(S?wGT4n#+`boCZMnB!zsk#-(3EhP zILH)BP}0-m*bQORdGO#t;rr(1?i*dnvPD|j+K!j3#MnWcGzxkBbmCP{Y^_-z3MGCk zGSTziBa4(E`(;%gbN^EL0TKMyZ& z5Oh+pX&VEo#$zq5x;oLe?iW+2Wqh7)SqRjYpk?=&S_&DBGzw)>ysloz`nyO-NQh3I zw`?S@8j!H!c11v7;HCQ?PonPLy$e8Nl9QV|_NHP8!5tl&+D&teiOJ@OKRt_>70VMg z(KJAEr-cDlLdp)s;yN0AxAgweg1T)fg92u>ni?$>tS~HqkmP{R&M(N~fQ>k)jFY^) zRA`8ucO4h{!GjA(WL*cHnJpN&xFRw$G6HgQFNB1K7HQqSZJhJwO_Qd!Htu&A0EMy< zeHbI_`NPP4DiwFXznt&a&$UKPpb(%oAmlU!9G#x$d>IHDR9RV>P7p175RbTcY-OcX zxmBNECe+9>S;>XjgC2hx=zfJ0~q@LD%uo*bxw zR2(M;(t|V%G+_+C{s$=RzB(UyP*8LI6%nuz2WZIUZnQv=Nei9a)|@az=~lKnv6nRPoy$_?Ah?Yjb{fEC*I$!MT>qF^RM$Hz~C1N%(;ghWBGsi;tc1jDWmx+*Fu*-w2u)zHxJI6QpP33d%+214QwHc1151O^6**bKZN z2-GFQ;rCp)aN+*fJXR<|r>T#-s|MA5VSEB86tNvj~JFrY=2B_8I zVj)PmvY8nV)JuzbiTx=kVW1`G?-HLK?|9LNR{`K?qhn)l-Mfbd+yhQYd@{Ufv9tXP zPKSx-g;N(63f4w6;^@a6@OBa$I>;Wr$63|~GXtd=!gKa44%G1x z8mOWA=RD|h0skP8JR}oBLJnE_a%P^g{*)+uBVkq>t+m zK!BRrJoWdcDDPfHI8@xyFw~X_^62;Py1#`hh=fzW-vvATeeJ^^35btp)6~>Nik45e z^yK;T!4C^+VtgSZMQ+O&GMNmyqT!Tzfz%=k6={6UqpiK&6bJ|K5#~{q>(?8mow`4M zN>_HDc&1zk>OZ3S33~}p2+)mEmCO7!6_t8&w*0SPGTDLCYxO2TO9x=2+tz$VU#*uk z9nRm7GR6#&<2fJTJ@`kaA9xCWX!#u(+ zZu1`2dGX>JyiPrvkpROrXkUS;p&DsI3}3p>&Nedt2O%tpU<@?rV5Rdo%=8H1Y6=|z zTVcAd+x>_gq_3JnxvqQjl6BDM*;U@@WBH?Z=R+2QnzNMn3hG?Qo zCe4E06u0ZwuU}JF&w{QD0s#|Z%mVX8$-`cL#3z7T7*){D&Y}Pl5P+Ko2I}B_E!BP;89N=ny@ zOC~HZ^YZZUoH={;7Q*D9M%5C;p2fztFlxxu107ht0+vHY+kk+5P|Q=`int4^$%mjw zVl@vo@Kp>n0Js%_Sx{m#DD`8mPXUzl=Eiu0Wp@U3HpwX{uz(P=1YHLG z3d->%=ypUjYTdchovpzIyLt8cwFz`0q6v^`vudF-)EB1J6(Hv$tgI>u;ISkoa-e{Q z)087PkqWfz$$~yTO>!adRS4RR{DWFvUPhW4M9aqtTSK|+4U>2g%LbTisSEq(+Y==t zM;mdD{171s<;rA&EyIZuPnzakgh8eNqg=gmWe@Ed(A($FT3~Y&S@jhMf|!j2EEfi$ zhQtHpA&d(zK{J;838(7bd6hE3{&^z>)>`NKbaxQ+tuu^O&Tf@u~+h>C`W1?VjfX_qi? zHSGD}pQX0L$x~DJ_ppgRP>ki*KZin1s4_4x6wVFcBL}NoA>+z*-oFZwH9+@cR1mWW zsdw=~C&rkkPmdroD5}bJancDelUGRSxiGMFb9b83VUN|RN129o-T^^D5YE#iCN3_G zf85+8fHomLnDZ!ddR%1apsw zy#$BIF;32KFx6Dn7Y3maQ(?>iLlDKS9DW9%0k{&V;1SQMQ@cT|>wpkAc#xL133xaA zFg-o2oFo;2n66?lr(yU>tF29jDeqIc^*tnA;1~cPPKeiS(lY(mZR))O^?4N7d>W(? z>C&0KGv(df4Oy|h#CT6WB5TEcn=b}ce85{;e*uFqk8#o#|{Yz34uelv}A{p zONmHJJ55Ey@~&@nzCRW*>(;m2M;;w01eq7AA-5R-2Cw%f!4QKV3%Lkt6`VL^T!r(& zG{hokw2L_xA}}{plK`d#!woI10PqhpO;3`Xdep>=z&I{0E*4Z{>=B8R^%Mh#dIAe` znIZ)E1^f>7B8R+pqPBtievoF6aLEL~H5Aw|XCc98=w=uMVMGMCK=vUP5QzVJn~I(qPuI>Y*Ttb@OiX0N9_tY8HJbkN zni-j%Z7LEF5}yXOZ2i5|7?1_}%z?6DZ{SWmKIbBhRQ(lNu+1{ju>kE6T_h8j-Lc>< zf*jGieyUZn3@pZ|sAC2m(>%ZjxGqxTyvqvA=MHkIsi{B+LMF{L0Mp^ai!Jjmkufnr zz~EM(LlD!W@XVPrMk)wYfw}Gr?hG;#LsDDY+F;|3fWN}_V~U`Q+X97X{NXLgNP}3y z#b$@cTOvqs8q(CKbl6I3ljUHg==t;K5hv=8p^59CpKLpuGJ%DP20}J#4r8U^lH-8! zq<@~5kB>IHr>zgs;Z4W20o8*cFXT`|%AQ6+#IM->KX3lZpaX#qpLp_Kp=8G~ii7D|A z&K6|<$T}PU`m-j0rhJq!3(N-`AjWsN{7s+#Ucn) diff --git a/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-universe-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/basicText.test.tsx/suggestion-mode-universe-chromium-darwin.png index 1082952788ee45729f5ac83bc0acda7c520925e8..0616f4558eaf4944bd3514fd7e1d2db7078bf430 100644 GIT binary patch literal 8880 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-up-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-up-chromium-darwin.png index 23bad1fde1341b614f10236254803b930a563206..8fee64373ec052a76fd7c338097fcba51e155de4 100644 GIT binary patch literal 10665 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 literal 10649 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-with-children-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/moveBlocks.test.tsx/move-paragraph-with-children-chromium-darwin.png index f638e5d52b39a59ad64677738d06f8050b19b56b..9875524537f8302e736e933e996bdd31bb7b2f22 100644 GIT binary patch literal 12472 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 literal 12548 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 R5y@ce+oLQWyZg5b{|8JYmTv$6 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/nesting.concurrent.test.tsx/concurrent-both-add-children-chromium-darwin.png deleted file mode 100644 index db85c8821f0c6e224e75bff700e8f0d978d69870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9052 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 literal 5937 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 Q>?oqCrlXp7@p|BY04*+6KmY&$ diff --git a/tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-unindent-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/nesting.test.tsx/nesting-unindent-chromium-darwin.png index 1a51ad9fa4d648fe11b178cd27d4b0e530c83e8d..5e65d096b0448b416b9ad3b7563a2f755230b53e 100644 GIT binary patch literal 6342 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 literal 6295 zcmd5=cT`i~mcCdJ@Cjp~DxjkDq5`5+ML+>5(g_emKp>$D2%$u=pcGMQ3PMzR*FdC; z9U&?$0i_5??=>_jZ(n}1X4bs=;>mJulZuB@5VeRCb~O)>zO2} zmCd#>h3j{S?^9v(z z$;1*@eHoKowtJ7e{u^v4qLFiXZK1l5o@-7W_k*9&S`iX$qO*eD(D0NS>wkKBdU_Lr zEDG=3xsxzXY3=i?==ZCT_xP!-M^d$kcWKTTE~#G4{}e4)Xjyc57^mbr5=$;Bq7WE3 z8xGhz`H5;UCISC8bSs~n^ZgF@l97=S+67KdPQH`gX?%Qqw3a(Nh5CFHVN%lz7oL@t zo+z`HwiF0iv{PAMnGFvQZ~F3B*3`lxE892|_v^#mHVQr=F)3*)@`mm}V`2|GquN>S z+pMS1nRX#ntCs9Yfw$PvTj9;!?=?FNTxR$?Mwa7@MIYb#av5~~X4*9PTX7 zk4sRqE~L)Qw|n4c`f4{J-IytJ5h|4$4BOQabDi_&X|naosVyi% zoxbg}DfiK?USkyY14>773jxl$iAq-sv?6()-MqO)UQSL_T3Y|`;ls;AsnK#FEB>$r zNUY1ZCnw8&h9Caw?Pc@|u3NCOvf`Yb4Xv%8=;-LoHJ%l8Sy`O+R!nANXE)Q+iyHWr zoclFN0YCQrrJ~>1BTVjp+t$&eN8!n)6qP`S$0~uZph)^ACkxYc6L3vw+JwFbXH6_D zM5*6j+B4p5mk|{f)^hv!@#8S0w_!45L5Y)#3peoPaa*xVOxtcA9?^)SS_opTrRzH|Kp1L6t_<}o4$W&r_Zs%wk(uttN~!TQz$ zn~FWVc0C6I$hR!g+Ri1}5W01HY+_>0U`n9=AGK3@R0>mkjubrq*l(gE8x1@FCZ1RJ zvh&wO`L@b{qD%Jn@?O6*g4dP?6BT`P*x1;LU7Cf*J1fiq|Afh^1zL(tg`dm2o2-O^ z$4(AEUfA9EmZFl|f=(A6&gRxutnCJ1aqfO|U0hW3KDFQI{Q1az>|rpG&j?Kn#gVeI zHJ}3XI;c$8ASDlCCoU^%Tvk>Ve&`l<2(GY*Wg zAI1Q{y02g3949);P*zF_n$fOWnV|yUjPSCTzceJu2`xNvDJgnK*%ecm zF*J13>gpu1m6mO6YHghdDXJrT^=d7R{j9QrEG`QdR?dVApMSJp_wwZovjS@|1St?n z)jtNYQ29Mp#HZ+!g$-tysx0-z%n+*BSXd05owL-{)oCeB(H4W>_C!74&}oK z4K$ylt%c@++*H)I6yKiu8LEbPf(X`#G7-muYN@l~u!{n774q^k)gm1mdg7e_F zl3hSKtG6avLPftmH0zVBy@e=X1Yzt%!__feK;HkU%J( zsF+k;nj3F7XJTS1U!89U)}XcA-7ONElq8YaoZYp)wg9yD;IO>BDYnpDb@lgxIdIxU z)dJR+**;S8>({T#9z6CAF7EE})c%JCh1e?E#swCeLYNzRHaF)3Aq&P)d4x#u@mw|q zR_fFV}B}{@U$)SMkn%LRd zk%J}!yP8EvLC?Q`x3EkJoH&V=i)v$IBRpoPt{(d79)Iq7%crQlluIAk^pcM2HD~BG z@AarW5Yax~0!Z9X0;V7T{_+gurkTOT$0trIFIS|{E3SGhX`DSPap1sdSOcGuUtYm& zyZ5(;>xpYcu&IaKEElgVUIMV^0MUbIS#)P*VQIL@y4xWDrJRlq zNnPOMwZ$4WadB~-c(2}1wLP9gs|#JNeYG*1`}XBAZDw{JYIsJL1a0i^?T0lkKmTcNl(`t&)(1#8Zdyo>-Qr&_8vbEK4GN2q)<}AEYDC^H$oESfaj^Hj0oEm z^>JR%e#x49{9r<&RDX}jTH6gUgt@GHf@;!X@1K#$$M{tUCPG?~4dB#F zjEtT`edE8sup>;A4f?FFF65S$S^#eldZQFfz~}gmwxDheLAopYuWu7Dw6lBWH{O;G zs_jyrqC!~ePoQ}As7DE?VB%wA_n=U6baWJ#mTp0Pi_&DJ@j@4|+WX3tI1;I_xLEF1 zSQs8?obc+}uP$b67*=P!?ric3f||0r^jw|lpR*S^?i*a)369z-Vj zgqOP7`cl0q29q=1UV?|QgrR3)G&2i}N5@^iKi#~IT@)lmN=gdUy#ZnkMp33}rcNR! zH@CSqMg&#S^t80Bf&%@TXhCy-|59KMVORh}1O#fRKf%__#wHo{tH9LahYxG|`uZw{ ztdt7tC8nXp2(T{r88FE2_Jgb$5)uM}kdvQJ2bt&O=FaTsumTdoq@K&v^5$VsHDU8sWX$rbt?!ppX}wx&>J_lBBz{Y@k`+a z{Dh>=u-X>DLr!DD8ItS+;H4=qVnBVtJ* z%h~R)moD$%J*Kh2`Y?tDQH)DSz)y9*Mcap<#Kc6OUmsW*6P;GTvkmlLQ0c$NOQ`kr z2IEj00LF%EOq+csI!>ZPAWr2NWr1kevAk#ZsbrrfPDIRw8bIClk&D-) z&F$?|UoZaJzGL4BLoi49|LcZpX_Pquv=&mOsil>ZuM#+)1zF&e$HfK#dMF-Us^Imb zcxAQThjApp;z5q0#6(2Sg0h51Mw(a!&W~MKnCO(p(L|R_%+2v#uY49Evav2$Il*bK_02Ze+vfeY>%`w!i;X;ZO7?Jl>@a#LU! zTr~K^ix;21d-smk_U8I#Q{V#x@$3bJHatA6TkJb(26)I;kxtMBPsFx;yD=VW+yv|| zG_5r}J!-fA#`}D@Ia2~k6*^yB?(^sBkU0~p;NSCc)c#$dQ!h~@gQqdq(Fw=l@pLmy z&0B=|vFul9hm=4)j35n1wH9rSGtNJF-(!fuB(|YVfSX%>8*2C1*|{KE=zcv<#Ky;G zyn;G2wX({61-+F}1PDht7#I;8(#3qWi}>)Rq~enJ2Fdpgk8DbXDjXVdHHTR|_%F zx-|n^Y(xrR=pRynOv^gmmrm?s-^$F4oBUaYlLGH^V;cu7dWc6TNDqA0!Gi~V z`abVm;<1;*w@BvOR%651`Hg&iDQL?M%CDCwrw!*9s9``YAn;zFePm;vWf3Z){E9y3 z=yW=!!Y?0WT+XHG5Sqnl?lyViS`fc#kVQTiZZMC=I@;Qex3+Wd*}3!CAc=?tuel&>OKU;s%h1npC+K?j27&(RMny&8 zK=$n6ktP5*93ez~W=Sr9W&+x5RNAe$rL7I2Rp#5f*U<%sGlK5ra(zmEWaQs~r_fnJ z8Pbm(JBGG_ucWO@pTaltU|O2MJ%9Of{%eYg70d(_1t$Yq4mWcLp!}An-g7YAp6F-J z%+B`vC_ga9zK*n39qeye0uP zl|T=0gamNt`odyP|EkcHmzH+O?fZ+<5PY~>x=*1is0bSBV!QXupno8C#q})aop3y| zXZP;ZzCMQlWdRg)_uyDY42;Mh3<^)$I^D!yf=UBEt^52Lj-cN3C!V~L0cr-31xUR9 z#?q=$;@(;8KYaSc zc)GA(A{4r4iNaQiu=fXmC8)mhW0r6ta&jL#XHUj>MSG|=??!>m8+~& zR#{u@g-AAlJ%)uTMx#fjiXZ+{i-b|c+H>1I?Bm zN5S5Z4c!ALke|@md$3yTy(mo#`JnWN_I{88w?#^jCfqD_g`RjM>t|Kq=*t=bAju&f z;zq<)rozrJmK?~o-PA0|B6HH|4*-7<Jhn*@-)E?{%?sYu(XQes@{<)E9E>&C8)gb?49D zB4M>)iF@*Odcmb?G?kZwE{0A~p1F1OF_#8(h!y_VQ2EK3&e|z#aE9)7jc6Mi_w>ugw@mF3i4zDhw zYGlMTHa0foHTOA^UNl1Q=v|Q$v`2lNuV(X?};E zOkRJk+_`hdW35dzEGlXe`LM@&mjWj@H(@f-n4OL7nad=+^(Q0bDkrCDf1#z=E43=p z6aL3KWR4_x5+l49%R>0gn=W^2dR7`y^BA^#eKZ&v9&R?%okbfg+nMLP!9~F+fqwY# zT8!i>2`MQlMhA8&W#qjeEFd6|B=YDI3T4a|=<@u**Q7GX7D*ht}|Mv z&oV`JOv|A&-{uc447uV}Ev&7zA3SI)b(+XWUN$r~^84<4RH>A^FHJq8F*3nnuVZwY zq8V{hZ7*Bf+Oj@>_;8I~HKl=OWyqzYz+qSdO&H{ol6o~YWmQ;IL?`ON@al#;ySR8V zDHS`PMa#MKR8%{<&w_)U=RTLbc=f7nWum$4=x|TmbCs2jj&6RW@+GfaiNo+!9v&-v zwrWst@VKi)YkPY(q}@-)#^!2kYbz`f-`QD1LwV^^IDUrp#tnL?0?}utw1!TN7m@WF z8b&HASd|Qxt+n6i|N4j?)@;5o@P&v`(&M?X-LL2H*o(S`vbS!XFwQD4Z!Yv)vvPKE zp`_gTK$rTqrA3iD*wmz`KQt^X1D=Y-QgdItcyWIt&yP(;h8ZtZkd)o3!0gjN%#67y zD|;MHSxvU;OEItYt0>ecS}li4+1{S}^OL2KSFe5cHVdrUF1alZDRshw`YJpHjq(yx zQZ5(9G+#wW< zb(79x&Sh7xUvHdr*3{6bNk3fY$W~8RgJpB5rQSqWRi>(OVEg*?0>&pM!XhIZx_f#W zQiSdLs(fy+v9amF%3g{*8voPvR?lr|BnmhA=FOXc7@5N)7KP|eeG3a#>UzF>C=p5$ zA{!f<8Z9lYy4(llHe9^CXA^PH;PUM3(}}o7$Z-L~4Y$a)m!cCJUIkFK&rNBIC!Nds z3N6W~(>p?Nldw`vef{u%{sJq7+q86aY<&TQ<-6@A*uf&mAI{oh*06=Wa^}5XW@dp3`z^5~Fb17n% z!k3pHFMgZjnRmN!|NecV%B>M^KpqNZ6%}&X=4eLqwW&6bN+Wp4<1$0S)RYz+so*p8 zBt$3lR@c@%_ZCVxuU`EPaV1*#kAz-EtuC1?pJEhy{ItKw8sFE~5`K~EvBWFPYAc7K zOPg>cEq}mE$ExIh#+Y)SCD1$pZ{1DJiKW@%eu?C_$lCAFVaf zJ1+09b;PBle2=6P%>R)r7;?YJ3JDXtO43vO3}GyUdFtC-uK8@wd$=H&@rGMx%HTq_ zL5YK**G$$Y{V(AY%`sH#E6vO-XzK$212vPt*#jLME|xd6n4Va`(7|gvNkV zWPm;Uzlmjje;ssS;pdOlHS#=_gI98K5%jHQhVmF)Qb0?vSC4i)J$_PASs4i~1`sqp zAt5#;<&Kutc`9}lleu4?CnvWux)0StUU&LCeC53%1s*e5iFzdtj0m0r#^^0p ztf}#o&kOAP%6v}1Vqd^Vj1O07-n@P5iC{E9YkR8rj}+mEw+b-=rgcQp$~rn115ckB zhnrUH&VB@-lLBB`o&A^xpAGAso1BP|VHXsP11NM`7`Sa|$+pm+Z+bF;KYpnAu0$9=#;c01eCNu04iSv;U1#~`I#XBUf3m;YPsY^L)WXVY zwT_JU95Zu=s_1aT+ZgFPfSrDaYw4{&eh}X0q?wJ?J%eKqlAX=2mL{o`F749?EB>gP zCr>D6g_gv8@JFEnaQVW83mV48>K-0qSFT(s7O`$;uxd+b?0Tz^%x8MyzpsKAzkTyG zuUSs=`qz%5RTZn>x%6@?H}wHPQ~}_~sJUyL4>o!QU8YoiYE4_pP3(Qx>8{uw9Gk10tpa=;B=+`hbRDl;~&Ya;k_!@bV zn1avskB0uw7U_;y!}Z^KZT%S_i>Vq05Vz1^)P^{vHW%Gl`l0Jn8@ zw~)gj}@~4DoV=QMjB(4 zjx;Gxh%-_USUB%1P_5^I3);b1w(fi_`^lh$BE6#-u8hRbSaiL)&C0 zDM97lC%sxgnD0nfa=*=9gZSTqV{le#{Tvp0(evlepSD?mMj z)kITNLvwRnQc?>bnV9RJb9TMClT~|*2%e(l#LM__WXbb?~UXY0X;$HW== zXa*&H{Yx@OJ00)ezt4F8o)iZwQoMhkE;%{5V&j(qfk5c&=?St;kzD&BD7iz33k}8K z;g)7A9+JgVt`Y^3yMNxM`W@~d+d}qqftp%NN9Q)2sY6pN5rwKqJVqh02S%PompRsIyTL1piqp;2rr0fmeY9ffRU4v zGcz-j&+iZeWN>D*TBfnF@jrG&#Ky|{+f@Q7{{>iyg@wg(pLtAddU}U>j8rfi3rk>Y z90xuP$V(2u(en00j7$9)Q4KvkMJULqsHpYXpAo643{X&FREfCTckf;hc^Oq&Dh7RK zu*7kCJc8HiPiIEON)x@1urR+_1IfKyLnT8)hV(4uL>|3pCaLc&u`Ei;$`jKvN8(Vo zaFuC)u`N|XLV}*}W>I=qk+pgNly(O+EqP5%N-PAh888Uos{_g_Nz4iL8Me^**+BF= z4u>$=uC6XUC`N$t)ax(Xf*YZ>EOFGgZruXjev43U16Z4xle4xrdX(1Pt%U%E9iaPN z9i6VeKE*tv%9hsFD{O41B7og;b4T{{+=bp$HW7Ved%6B>f2k7-bofXnsT9~WH|$>} zMJQ~3-u|n7e*l|^2sLG_A4i~{rmE^0tlBFHXxELY;x0*2-XaJQfA{HABp}LS)t&=# z!Z&)2)qQ-V+{$0Aue*}h-$WB$WaGN*TULHg80$kl` zB1+VmJ=@k9I3zddSysS7ahEAR?@fCN_eGUXU`@(uY7~=`lX|nWvn2Xe7;&hdA_sNu7_p7Hf7wK9+m(V@pDv7wjZ}&|6G))@t}hPL z15IlbQq?ctU&Yah*waGba^AfQg$RJ^i)gc&=y|UV#Y+X$0*+0=-Me=|mn`oc!0kd? zbgx@X$v9!vQpIZL`-{XqmM=qng3JL)_CwuoR~w;Tz;T*@5_0nLHZQmpIgUyr8a?o= zv?3fyP)8tj5pENknAi+FtGWHvjk57@E=3g;G*XXCcq%*|)MSOh23pQn7`PpS<$q_u?LOs`}KxBOH%#c%3Rb~4FaUF8T zU3Z=7eij)?4nz^@;N@-$C|=%}kGbE%XJ;QWdHg9DRP>SSHWA%_Z5J7agG31#tnBK@EL-GPs2F_)^9mf>hvQ`>Lo}VgzSBL zGUu^eON?|6Xbd1GE%&!qFh_f%&Ho-@*#Gi;Q3oP*zzXr0Owa`p&kkpn-mxM!Jp3=| z9Rd}!;Cj$X%JTB3u~1Q89frRHcUA+ogTUs|3iFYy0V3lZN)QtQWOYkRi^=zRPDI$k z(zT6@q6ZhOMyq@xnPt*&Jmry6-kZw}RO*j+*KJ|z^}qtrpo&32u<`Tre=;n4(bObQ z!6c~&%yVyR$r=nKsLK$zEFRHI8X7mDTj(152xG~3E1rL`>vaY^0ym`rS~+0#8-S6L z5w8d!_Fo-G)f5#;bRRsqSiLvAg!FkRLN-y+M8EwBW~2oHlSmjEGW?bM00(Rk)GLRG z2o|KTIqhi_qo%Slnagy$<WD@gbdQW+6p4nzrHZ4Ed-q>8ySN1Yku zro5-8I4+SFIlk~PNM0#O*3jr^c{Jgpncz_vuO?g&78V9#M$5=Z4T!Nr2^@bpG@1z5 z7?IAsdoO_InbHF7&<2d9V3t-%EX zpFd4Y2E#%_FTcyq4u)ntJ2w{=9i1%&m;_LH9xx$f*ntCu3h3zW?7Rt)r3g7mxwHB4 z^XIIJid3kLfRvXnNza@?UIB|CufP1Ru<%7t5D|I(Z{x|WJ==#5QP-}8|AO`nCJ+Jf z0ZN9P$&hvb*K$&$@Hy&K|8R*izkK^9VPCsvkAst=;9(|xc84rR{-Ik~vr0^=)ogUUfV zIowiHQ!_OR&;uR>$$~zGCity-Rl=izf!oB4E?JK^gt4-+o`VnqT?W{iS{|!M&>w^_ zawzX=Ys&!|f{TGxP+&o=>X1z;V^dRAG$2LTKYwfnKpKMD5q)J!o0*;6eGlLT3%-?p z(cl8ycG(h1fnh^KL+3pVMiTizJ1eM;U$B2MdN8OcXT*S=ghoWX6%MKQ&w?XgoB&{% z2qY%x-Mgy;-@wfvB|0(WF%bo9vpWS61+ZFlk)B@J8}308jwBK>y5R6UV&mYTiifq? z0oTK%UF5olr~x>+@?c@X1|k{6UvzYTvC|y@I!uLy+qd5XRYYAr938sv2*d+Y+D-r{ z2A5;?9T5EMk^$#<8R0EtK0KT}iG&O~bBt(5+ z@>yD1f`k#Y>AVak)wx*5kitTN)zww#Oqp3((B*<5UP@rm!O!T;?7Xz6IVlZS73W7! z`I(b4_UA{G*EbID9NnF8{3K7HZ?!sizKe0^=*hxB0<@FWyk$}BWz?voyoa^@6^g2b zTcA9^FANqq$pl@gk$U`Q6(*bR7(N7AVC_vv;Xi*QxKIA$Lgb&BeDZ(2jn1qWIQOqV z#8Tj12Lgcr*bZ{}V%@<60u-1hcp1x2uJQ0>!|~a?aPgw1fk8xQXqIIMlS+Dw%h>g6 zb;jC(f4|I&m|5w3k*@CjW6DZ@b3qQ>pr!KwSI`}oN*2?Ms|vWqt@HB>1D8~5@B7ls z$N_!P1x{(NRD8~GXlN1>Z(6{u_Jl1PI{yI)?zH{DBxxCA8vI0~wuYkjzK-zr9d)pe z&jwPU0P4V4cgpo$dpQcqO3}fA=i|N4<8#GkjekiWtZNSxf#(kH7A0lD-S$@z{e3NE z?+gk8uu|Unf4}Z+G=8A^)1{+}$xr9vPcrJuD6`h#gpOI^m*O-(g>&vFZFqB+m9O5f zv=TJVNm%+cjo%L}o>q7K%;M*F1%>iY!S@`xaZZ0YeD$Q5z+9&#b@b#%HhUG%-+x%J zZ9j+)-jYV6tC&tRszCjDZ!KnlX#WZh-z^~S)*k^0S67_}Cbss(G248yU%q?+6NwV2 zsXQE8S?JmEiHZ0D;I+$Mm4xYOZLmHJ+S=OSS8$x4hPE7;rFcX{tWeVg+IH)|&hW>o z%dlw}cl47833V3w$z=B`dt)Xix9#jmR~e)uXI4!34fL0(FH&Bxv3YHI3cTzNnic%#k@n&XZgnbPUS4L7)q=Q)(o4lw~+`M#F z!-GHz9HLy@Y4w7vC5M{kXs4paO4mfZ?%ghZO(#z2^cbI0&w50Ky6-7Rgut&L%&(xj zu`_EE;(9^VAA-N`CkT7|6>YMMNj>9dd1mB|7N6?Cgp_{p%!(Pmlu?Dk9g@F#evQfK zsA{~831#J1zI4O52i)^HtHY;!O>^oYTL6u_%KQt)mg|-&<55iDPvQYyHTG-g)dh z{Qz>Mso6L0hDPgi@o<`N;`2;OLbM*|hd%4r4`&)K|DEedh~=Q}7U%SraF;45=#t#| zbGN-=!Qr>AAoYuQ+K}?9*zIlFG!Ft3^uiWC`yWXM21dSPq~jB2+x6)qY>w*3k9Jn= zxnnx?8ytOoWUOik|IH^&n&!EA=6$3=A(uP6ylIz?@p@`abI5V9w=sqGWD|kN5uHjg zc;`Fi4vW=aT@Bmo|BSYvIEBx&s`VR}(RoHmAGPEmu2k(w!om~mmdq|pX4LFHenH-l z{BTv9wao{4``4^)ZmrYIWt2cjcZK=cpXx`^@s?!#<7V#+un=fl<2-XZ;_ z(e#A)Vy?8iaZqLXmF`UvJ4G1h6G!D&+7TA)fEl?(@mD%!=qm8ax4Bl7`{y++aJOI9`%nLt{V>(WGP%)f8*|jdISZp1Ei89!Xk>%IU3BC6j4NR0 zFI4c^>2>C#&@9hpiaKKQ*S33ZD2148PL7b4Nb>z0HO;LYnb<-LQh5v3kvFJo+3Goi z;TQL5@R{I;`nLry5tIUEMI9Qbnbf9p(wm&UX0$L_S&(9IIo8JOnhW~v_ZPp&thwv* z#2s~P>`!;QmzvJoG#N^r$59m(^?fxzE7h?i?`>qfOQCBlo=Pfe_-yk1GvZrYhMZ;9Ij#1w!Vxyf8kv&n{O8tZI`ByBkt|t zuqu>bmMxAVU$(m_#^k;67s{={xzNhJ=Hi^0r9o1ml1|%NbG=Ky{2FF@bbVXY(@Ug(K`TqSoK$%(3J53N^feV8r zf?!B-L!+_;(}gJNl5qI`J|+Mpp3O&)_w{^#5dQ_FASmV#C@Rx~T~mIbU`mQL#sMUD@}QqbqU*+5O{pZ6x<*RAtZq+wBw z23oi9n+pv`1dd|DG_)j}b$mK4)cZHdqyzDpf9Hu3h_BVDI6_C0>?Z$Tzpe{bN@O`Z%YgbEIJFsBw!W zT_EWhvHJ(l46*!4uWsvxs3TiW|IpN3xOA@V#+KI0 zFYyDPvWn-WLbqD@+cPbXOi=>C=PtzZ6LlQc7hjb2ICedKo*3T%q-K6Ww5yPdd9;8k zsG-@Uq4Br)W1{B9gZ$fK`F$Nr;gn-FejhGHRQ7tB6m?;zO(>(s0=IcZ=%cTUDxj;R zGh8o2&0l`mCXaA&7!Vln<(n5tK&1!ClQchg2p3gFA`wiM>0Fa8LP<>@*Mtq-OwNgL*50_qLA^m9n#fZ zSWv&MU1v=dx0fd!r1gb#sm#gUoI=c`w}-yuesgAlUfq1gHpVxgLYmps)J-~Km?^w> zE=xG3HzHK=IoLzh{q{utx8%ZT#e-V7W6ry6BCp-V)Y2Ilw8XF$*X3|D^TyOG{#Rbu|t0~T)tkZ-=s$OpC-@=cK5 zJZ9v(8FA{;V48;s(n)&oEmiIDAWQ*<*QJCP$~HKM5}*f7Fgc|K4-4GzH$eS>uk3Cv zL|B4YuGm{FN59Es?S^}RX=fS){f*_8!#)_qDeg;6kP$^ghDW!pEPngWU9a=nI$eL+tdH-ZkxxQs zBsupO%>y*dMYp-Q3WQ*aew{n=d8wGR@^+1XPo4p>|1s?Dleu%0;`DU&#G1hOeD*Lg zRX$bCz{SCdc3}@Zy=mF@EhZlZ7T)w+r?P6kXw%P7mUQAWmuBj5TA3AY(4BPaCd5pF%aZ`+^G6}Cd!j5SzEv@$M-IKO{^wxA1xT|Rs- z##II*V~}L2?jxQmsbaB$$X7Iy1+6LEhn$Fk!6NntV(V-oLvHY?!FvkMGOqU3Bd@P< zo_^&n00T&5gaW-e(b!i!@qrs%x^+_|9Wos0TX3tZucs5RAVHzhIaqn3gZ7qkFatu7 zEsFcX!mN_Z$E?j7nqDm9jI|DHPWCZS@Tp3)rQG(OAKhc>vqzKD2RHKD(;n`uh0*e# zh@hlbuH*Gn+BtdF#6_$|Xhz76I-LXRPha{VenNCK^15Vd3ywz)O|ah|HSn#$uNhBp z$fPS>KKI&ti$|q&?AnJ9cD5aiCHqfvrmCBUx1_^*r>$M5&dEoY2Ep#!_;26Na#fy* z%u*lN%I~um;dUQdJ(-qrbjf{mkJTtWy(?LcR($-tbcZ=Un{VxXV!@ys=~*)K<;H_^ zlsl5q8Kcbxdbb)o{Gur7{AbqU_jb;sK%B>=U_o;^rA_`(j&zJkucO>~s)L%bbjEFy4C*@OR zpxKfGz!O|91lb!IyAI#{pW$h2raxkC1 za^>{V2Q2m3jEsz+Alg(icORB6&Dc;3eg7?nAhfGOm0?w|8J`b^9nY#U8cMl9_(XI9 z1T1X8IQXUZi+sY_6x>E+c&7eK)qga$g6YgEZWVTjYf2$(mbe(ZO|KP|8b zKCnY*g7K}1jgKY7b-(8Gfp836&gW~t?cqUdj9p&ls|x+|P7#f6Pi_lFo+$rokWtl~e&~kdPKsx=Xs* zGFg^Vb=7T*eS}@4eo&-uce?%;$OL4!xsxi|E3o3#U$+pQypVyr%ullmjv4~Ea#nfG-d096qdqW|M z_|B^<1!py{Qoi@kRkU8rBlz$D7ma#;HSC=mDe2v~-&HphFJESnkyWH-Oq5icr4e;l zojXdM>u8X^@<~VVIKOS}gq-Q`pB}cPkiUNvQ_TNhhKGmEgMF3< zS715Yo|G!$^h|ivBcL-)d~@~P`}b3Wwgp+QUOh=L@CyC*O}_KNqes`_!Kc54l2>m3 z)^+{U{S^HyDCperTCjAX?}0ldmtM<PfCf zj`QKJlh^h_BXhKbY+t_qUj9Ef92L^?`1>>`3mY4sbq@<4KmYttDYtE3zWL^CM+7zR zv%I{k^74aWYio{vM~jBBNlBq2_LifSp4#@+dln|9rseb5DZ4^d2P+kJLti5M4E@tq zTZx2+Z&+Bcd3t)LE{xX&=y}a&9bU7q+I}$Vy($U8wC%}Ml9!i%k(Bhkz;FAS*Upks zfk9QGumeLZyZUUZOXtKG1p`Cpv$F&(?d{)|-8XlqqD@PO%4d^p`@gzf8w-kyyJ%x$ z(_iH+JTWn`weTyvyFIL7@~vGVTFY}`Ck{V z!Y(WHw`C<1#(2g@uKXurMZO=75L@!mp24I}>?L@kvN> z^76uj$9%|@6S(xLrTrx0#=G{Edx(h%%h<%F)1l+aU2?u9;VGv^pICCU%uRhh$KmR3lRqgV1DQ8htCu> zGfcH!D`0sA`H5^JoVz+vElmvN2&eD9)cg$5cH5cjnix$)7$6G za&mIoS{X?>K045N`0%@JL6w5DGv8ZxR6YaB6KQ=JWt`{MN4Bf8EN8= z`P>#XC#R;0%*@PQ#Kg$JL(%YC5JJLf_w@D-l)JEphK8!7ilBN0&MPV_H}t&M;yy=o z>04a@-rjfsiKAFrs`pB{>r#IVWD=)b5aGlTc5LoVIM*a3IHS0D3W@aL3trPE9;4b* ze0+Q&&eQlKU)>sb2&3pkW%cyv8iGmYV2|~DR^6AScE```?<}{yyZg29zH$tSpg;R>*PjW9j6!my(*AMMtur-B@+n@4%oS zG8F1*7OdeR!Qi#^N5;vCmsZGb{I{+HtCUoFxyu~i;}yNh$w}=hFF`mdW+5R;WlhbC zkPsn?L(|UXBG_RU8a^|8QBl#Q;qurIA2>}+OcZb5o?Liez;^w5WODK)i}u7i!19NM zMmRM`%MR8Z(8|h}zYHPO7*55F1W!A^=GZG+HATVAP4N1!zCM1_Cc;s_gGXQ8ms`KO zE&lnLOYSn;Zrm6~@e|(kJA{WN$%%#Ila)PfP>|4(BFt~zdQnzR4hq_|DS~F#M~awE zq&9+v-?3b8dUm$w=TCWCB!P>~3C^EC@3Y=WWjFFQ{(CGt|D!GP&W~Z3hZ+X90uduC5c^w zhd1H4c8ys;AP(-r#I#|$Ig?;m?04k#yTGukq)STq{(TBSzJ>|MJNo(^5X_d&PBunH zoHnEjK)4clj89*egtTf;mrOZJKxy>wvke8#RCBZ?9RK00aLwzi?(REeWMqYvo1Nlx zB95mTc&>1A0!P7VYmL7)Q0*(ex3@R!+N*kajIGHLgfPk9xxAv}ipRuU+liD11TCdlWd#M$ju!MMb@26OfSacyYCuANK@ZHBHbR0_6sqeX^pR3 zt0$0GQ0VD_te79E5T+Hj&xE>sEf;K(%=V9XAi$opSz2>Ml+e~lp`}+Bc%Iw?JMvi6 z^$#flC1-81+v0=dl$4^S(W;bZ&rWky@0#fFLzOakjN@>^vMkWE;92d2XaTUM%jeP? zHolRo^LTApog-mr52LvDr>_8w12{R`Ut~J$)~AncA4eC6w6 z;nGM2QkJGjp_i>U(W3TplcfEnFzo3b&nz>1F`_QB-S_^ROi)x&0n!i*jg#MT{067* z{?-IUG_$bq1+YQRYg+kckf_shb1uEA!s`cPCk&{VlZ&zbcLATM3_KWX_J0+$bac!N zSZ0`azmf?I4(4|lmC)m&;z}TBgLAgBvKoh;G84+4J`T*Gw&%4Ro`KK$O$OhsyMMEk zuV2M%M&Y&AF}|-BSD1sNQ)NK$0_f#70hHX-H{7yWCkB z31^j%NaY8@^t^H2wb<$h6OcBD>|%aJ6x6?lwzeYRGgHqO5g=kjL`1l-ZZAAF89BM< zS{>f^mX^QZOHwk8yL$JuaxgKy2Oyp2){k4~ff&@yyCQ_WJNd;6(jX$*rZ+dk0Ud_{ zU$g--8?={G_m6axF=DxW5UXHim8ns9}_T^RWM`Gl)j z(b7<9G!#xx#bbwbuLTZ>?a={tZaya?+p;Sidh$E~4ui6_HAlcXA|}|H=jQB$b2;3# zY{Xt_{||E%gJhWb@!?+T<55psq$6f#Wr0i~=7ffXM8J9G_7{h-&PvZs9>Rbp&=--0 z0H|Gr1Ry3R24Ua)=G5mXYsS>Qyu>iTeC7SZnj&d$-M)PRnk}8AR~%GvHyrJM*#=|n zyz9%jIC&5~Nun-nx?k)jvJwpHAw&?d*nb?r07$F9R+c}GRq1@$HPEf?KH4mRyMYC;eCrUz3S34(D3xUmp@lR>Z>I2omGDLkOoehg`1lM6@yM@ zkn|dN6&rv;w=bnthAslEN;}#i)6%G#LpYQJeZ=ZtJDdaHP4g#wX*?@q60O|O;2Vk^< zykBJy2|9}P+O_Z}&<^=5+Nq(X0-cy`iDBMa9m@dy70scMZ3OUdI$rw}h%#z?bI&Rg ziP+{|;YBJc)A@lCb__7YU^v97Z73c?kpdHs_!cT0k8jt?Bvm=Z6~!HPfyDiK5UIG4s7SB}R3p4Ll~! zVz~5gtEdoCR*ZChvhHp9{@ob(tTrfW#ahS_s60K-nRw0n_faU63zA>$y}g3`bOojBsASIA3`|=q|giHbV^*lMk?tuw_P+GunLK?onA^QpyczF}i?6$b!o@*fL?Mn-0VBr|Wrthe)bA#Me%qiAf*23F*b+Dk~-Y4u;0aC@B@7o=Zo)t|2n+ zpF!M!#vKWb_s-qBb*u?`vSwy1IFKEjdSx#F8(lW0m2Tg@t*EY!I3Wo31_lNentdme zIyrQqd$%5gnt+$2jhg(3N)FGx3Fo(jerGeP%x?k23Y7U>nLI40|(4a+rl0&=`3WY#g|Z3z}5hSt`9+ITA^E z1lOTL^efzbb_Oh=5yxg^biFUAZXG*0evH(g)ZR2X(rE%nq>w`cA*PZh7C%02gfy(Z znS_DQwp5^b5N3fe)5Aj_S{9$vr2GW}0)(rA4@M{9L7LLh1mO<}50`_AHQ7B0b+`-7 z8-4&oH16G#1?d7y09mN7uLm8Di{Lvwy{e-l4-=ELCLA>BB;p2NbIH&_orAYkPDzbzA ze(lqF@83g^pcJdspfa+pCmlsdW6(8WVHc2uynUMqaZz5qy4>2@s;H=V8A#-lo}PPf zm-EELvtu*s9#%FsNDs%juM8`}LvdGakpUgOEGCxxBs-gJVR11uDr!~*o(M`3v4OH6 z8R7CG1YjvB8gs#K00gO>aYli=(J*ltk)?@=)XxF}I5;>M85y5GdGm$|ya(iduHf$= zY@SBaO8_j%%H#b-PJ_xs$j~2`YR0 zu)&Z24wbbkY#RIs}A~L^x!Gwh1%ga~W*7>x7 z&cKIo)RNKADA|GzCPnSNCLkte1NNo?pll3{`O`%*GFe4M{4va*KUSRzQ1CfnQBh4G ztYvHo8!ih8VKCs4iIV?IGb3&Q^rY+1w~XgO*XD$UhffVb$O;GSQWp?k4(K01V*o6s zbK(4XMi!PpehNqoTjVIfZ+jyM?MgdUjXmc!9Mffp8%E4+;hXRt6vLn191?^&%{Uj? z_HnVPr?<~j2g&59rHS14@sXee+MZ+sCL5Ep7sMNo$5G7CcblTTy!^1w|A-3oz3I{Z zHqv*Vw6rLy!CfO+nV3#PAaNT`)c-X9{P}mQLPC6~RQ|dP@+-504nQ6ImBEnWV!kMP z@uq>nQU^2?-hccTI}f}D(zz!YR90SI9x19wV0kEbY;nfU94*HJ`V{QTdq5rG4907S)n@a3u+G!logW9UMkW`V*oiHp;sP|5=@S$7u~MQH^KDrI}C zeYIOLoOOnVUD!sgyE1z{S)ZD;4AdHn%|k-8-OVjZJlpV6Bg0y4Fw(~o82zLHyU`7t zv7Bw%lg{HMJ)KSG!3V`8bPDpB<;BT)6pJFdpJ_{b;(YOy8<}m_gay`ot@A%*+cb*l z^p@F5yE*s=hWJRU3?_njDlRTY9DYrpGZ!yjbj-eR;R2E@f-sH%ctfIkOZlR|MxN$&gi0Hi0A*eOwG+^!hracu8B7kzrw18lFJ zZd;O7{`}O zppp)oVAyl1YkkUNW3z7cmi)Bl_BN3jT0})(|4hzRk$WvMZ`nmOkfSQgO#Qv<(?QoM zt#-rhb9k&_JlP%B;<&-DUZw%%-vRZ`&=c07X zPaF|1$eg6N2Sh3&M3HFzp4WRfoc9yykO`!JsOR$?PXi4^7;`M zD|Y}l=*BrCLf^MoFf~|+`!P=X>yIZO<`+A=0!S z_xP3zKkMVs(3*T=W(m3m3px4BEav90vXi=B{dRReNxHQg!N)iHxab{!{oZVrzRoTs z6m&`JdQ6PkO7*gEYE;|(X7q}Vn%%(_z0cdQ|Fsy-MA08^1}diMPMQ*O|d;l-m)F#%3knMeT+uhw5+q^>Utm&GYU}Jd}_HbtKKf zI}b++dPBV^8VZ??@B-7-5&Gt?<~!Km!9VT&sC2vR%SdL)H!Bv4u%gjTX@+;OotER9 zC^2W!DBcEqKs*iip?l9N++USvQ}&`19CL8xrw>pnv_0U6$Er((S|@+dD}M=wS_rVf zWT0!wAO{_R@|%=TMTzf%qM#A9x%km@e?Dh#ugkv^%&n*9K*ta-Rwx!uvm-Rrch zqY`{ZT?U7>bWCkd%iwiZVGMKb@z7YIfQ1=pPXU@}eqN+0@~!cl8eMMg?rr5<&pmT7 z7)s4Mj&odjHN7)5f7p8MP`D<8SX}}q=qdJn0scGRIr@kfq?2eLQswQhZXN^#DAajy zq0DAB#6j2ISFdSh&saA3eLvRIVnl(f#+8mroi1`l9V^`#72)f;`a22aN@+}}H0^h8 zt{T#|j0CAh>CvGkR%x`{6JzRBX}ePud?kq@#upEYozI^y($IMj3ffyhRm?47>PLJR z|GFjfUgHdv$=+s9&Tg~!P}%gHX`xEB8K)fH_Jn5J1BvF0)vD(%6>d#4d8VBXE3)z| zugc$q{b@c9oF~k2YG$w*^T{aWZLr!EI71k6)P^qlY43&C7xYoy;N+w`IY_<7+TM=I zet=$k;rN*Mm+f!zsy|*j7wCCkG>tqAjHFTMUEy5fnEO%2PTRa2BVb`c&g*@(y7;yp z?TK1FIo3Gv`J||h{GM<0kBNbrwXwsFZ<5a9)aR-v`A*xU4=L`>NWUG)Tp!13xcBiv z=9%^cf%OI?0|R4YAhCr=9)a{)YhjK?{(uCNfmv4$*g1`$u<@zI-8rGDq+SJoA4XmG zG&K<*1meO9BTSg^DMVg+j<_36Q%xvDYeLsK4<6(+5ZL>P*-GFY6ak5V`OC8qMdh8i zi<}nnxH2%0&&#uF{ay!6rg17-quP}tzawRxPW)U)$ER!#_TcWlJ_RueRXNl3ZpC{Sb8J}M4V(&z)$>JzIGbf>g z(s{}Q&$*|@j#sfy&xj~Qvt72ERs>+Zy);7Kz*D#-RY1#XPN99gJ}TtCGT61zoME{) z)unOwVaLSbRI1v}(+0g4Vu4Qx?ghW}9p}lpBx-VMzM@!U?>0!k@3pNT!|gUN9b6?N6TC zJu0h_P?`SRYt`D`9i{T%2+1m^6AnV#mcHuOPYeM&wy+u4( zLv!x6+yOJwSccIcX#)>FVhVz!Mf^Un4)Cpj+UCHRcg;frF=3b7#d9u6c<{6(a9hHx z4w>u2lzeS6oEyeL-w=ZfgaGgi9D@QXaESUq9l=~l$GKtz5W_5y?F52LEkp|=pFs6w z`5U{LN~uxCB@4lXy?DBP`9G_$3}5U=c!oYV6b`I; zOB`|=a0kK4yi4wfs;aoVBld7?d_)1K&ICN!E!&Bpmy8Q6+rjo=-IlL zFRn)=JUVU8C4tLH&FMZdX%##CK8l9>+shrwi(^eA)3XWuT;M*Ro!Z{VU-PKyUlyv4 z>Y$8ho_ft%+8hv~2vBfH(r~#JpP0>V>kb{c0?H`xxuaN6$2kLT9KQmpB_TEQF9ghG z8mEaeGRcQUalBhSHS>L*HbwXbMo|Yg7M`8LdRc#8-8SieVrZfk3y0Qly{rQ{buVgeMG_4E{C7tUrY^@pG| zkGBf~v$9Rj!yqoZ%6mON-q?D$f~vuu{mRv_0&+g1Q=fH9WnK6&gCBKKC{glUW<00q zKj&Y@dc8>f8Q?om4(_M3Sim`!67$7oZTRYo!^xD!ITFQLO(9*Lx$T9f{YZby{%*gm zrP27ex6~b{wNc+gB?}2Jy=cdLM4PU|%>5`@okrqvQo)pCAZU)x{B}D|_OLK0Gip?f z0~z0C8ld<6UTzKPKLci4ZG3LBrmD3(F^5=<}4!PIyjl4el%Vt*6 zJcM>5756Ik^kr`melt;DQ0lGbUXRxTDdJBGM-}0^;U>GklYN|~UbHJ|a7jw(mVC8z z-63v!ns@@MGKL4{MBr0`Z%wSF=X5s51?JgB9_uDxMg{aOnjh}2>p9k){bT{2Fk+Y? zBOUPk>wxHCkRe24I2H1hBJlcP9yj-lfNMMj86XY&Vn?8sz|x==bG^dEG{yq)P1Lo2 z?eT*Nx~QQ!E6_eiF$*&mUIMCnl}0!UR#$e9z5yrwShW2ICrAd)N?Z0;L@l<3IS@d& zF(QJ+VnQ~IinA7<=xj|!*}=+G3Lsy$^@*Qaduk|(?Ag>a0#Z1!nqc*Kw)@Lq*S<6d#lLy|4QFOcFxxudG}x3Gd_K7U9sc9jZ9)hf3>_{-yDy9A293bivTB&V+0WSp2KMiLL4Ik8G|-2HqzX3Fx_+68NMcj4 z!XKk7(Wka-a|~o;8k7EqkpH*B|Gz8$4}W_HD&B-(vz^Vp4(`V4ZLr+nNBV|>qsTe< wntLajtZCY7m{Nr@05kT_IvK$#Q> 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 BGj{+0 literal 12257 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 NRnk<<`or}0{{Z5dm_+~p diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-column-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-column-chromium-darwin.png index 5335ff21d6738aba35633f564eb64a694c01773f..c66e1f531108e4198b6a989e117a751feaa8f2d7 100644 GIT binary patch literal 9614 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 literal 14177 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-add-row-chromium-darwin.png index 6d85de613aa770bef0d61beb7ec9701168ac2db0..c802ad4a0efc3489d4d3b904bb592b7351c85a36 100644 GIT binary patch literal 9715 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%0Dq+k8Y#K0Px)ynP{D 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-column-color-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-column-color-chromium-darwin.png index 4393f785a0e2afd266254a2b82e316469843295d..2d14e4259e1fd8b82c5c68c00e3f67339a8dc242 100644 GIT binary patch literal 9987 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 literal 14656 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 QS;`o7Rc)05~oM*si- literal 14990 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 QW++-3db=}s9X$U(0Mfdn$p8QV literal 15063 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 diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-column-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-column-chromium-darwin.png index 7cd3576ac9dadefe70453c2fa3ab682e41920265..38fb1d5cbe70a912115ce95d89ff44a1351b1eb8 100644 GIT binary patch literal 9391 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 literal 14051 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 RjxJe)>V6Hym;26K|2Jlg>_7kj diff --git a/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-row-chromium-darwin.png b/tests/src/browser/y-prosemirror/__screenshots__/tables.test.tsx/table-remove-row-chromium-darwin.png index e212b6ba4fd1880630ffec5bbaa61fc02231403d..a9d8d61c4c0b528af2a2665833f3bcca70a51522 100644 GIT binary patch literal 8962 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 A!TMw*SGYwHnUfUktstww(VmH~*^un%Xksn=9Ry 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 VQOuqNtR)XoIIJuee^C3@e*rsMJs|)9 diff --git a/tests/vite.config.browser.ts b/tests/vite.config.browser.ts index 52bc6885d6..ddf47f5d65 100644 --- a/tests/vite.config.browser.ts +++ b/tests/vite.config.browser.ts @@ -24,6 +24,10 @@ export default defineConfig((conf) => ({ threshold: 0.2, allowedMismatchedPixelRatio: 0.02, }, + // Heavier renders (tables, nested blocks, concurrent merges) + // can take >5s to settle; bump the stable-capture timeout to + // avoid "Could not capture a stable screenshot" flakes. + timeout: 15000, }, }, }, From 0ccde78d625e25af521a4e85747f3fbdc68f970a Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 5 Jun 2026 17:34:17 +0200 Subject: [PATCH 12/12] docs: correct outdated y-attributed-format comment in basicText test The TODO claimed y-attributed-format has no toDOM / visual marker. It does (SuggestionMarks.ts renders a that the editor CSS highlights), as the regenerated screenshot now shows. --- tests/src/browser/y-prosemirror/basicText.test.tsx | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/src/browser/y-prosemirror/basicText.test.tsx b/tests/src/browser/y-prosemirror/basicText.test.tsx index 1a403b4104..c40863b532 100644 --- a/tests/src/browser/y-prosemirror/basicText.test.tsx +++ b/tests/src/browser/y-prosemirror/basicText.test.tsx @@ -95,16 +95,13 @@ test("suggestion mode: 'hello world' -> 'hello universe'", async () => { `); }); -// TODO: format-only suggestions have no visual marker in the rendered -// editor – the screenshot for this test shows "hello **world**" with -// no indication that the bold is a *pending* suggestion. Only -// `y-attributed-insert` / `y-attributed-delete` have a `toDOM` in -// SuggestionMarks.ts; `y-attributed-format` does not. Decide whether -// this is intentional (formats considered "trivial") or a UX gap. -// // Format-only addition: text content stays the same but a style mark // (bold) is added on top. Surfaces how suggestions track pure format -// changes (currently `y-attributed-format`, with no visual marker). +// changes via the `y-attributed-format` mark. All three suggestion +// marks (`y-attributed-insert` / `-delete` / `-format`) have a `toDOM` +// in SuggestionMarks.ts; the format mark renders a +// `` which the editor CSS highlights, so +// the screenshot shows bold "world" with the blue suggestion marker. test("suggestion mode: add bold to 'world'", async () => { const { editor, screen, baseDoc, suggestionDoc, sync } = await setupSuggestionTest({ userAction: "bold 'world'" });