Skip to content

fix(unique-id): do not attempt to append to y-sync plugin transactions #6211

fix(unique-id): do not attempt to append to y-sync plugin transactions

fix(unique-id): do not attempt to append to y-sync plugin transactions #6211

Triggered via pull request November 4, 2025 15:46
Status Failure
Total duration 9m 3s
Artifacts 3

build.yml

on: pull_request
Matrix: playwright
Fit to window
Zoom out
Zoom in

Annotations

20 errors and 3 notices
Build
Process completed with exit code 130.
src/extensions/Collaboration/ForkYDocPlugin.test.ts > can fork an keep the changes to the original document: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/extensions/Collaboration/ForkYDocPlugin.test.ts:128:10
src/extensions/Collaboration/ForkYDocPlugin.test.ts > can merge a document: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/extensions/Collaboration/ForkYDocPlugin.test.ts:72:10
src/extensions/Collaboration/ForkYDocPlugin.test.ts > can fork a document: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/extensions/Collaboration/ForkYDocPlugin.test.ts:25:10
src/api/positionMapping.test.ts > PositionStorage with remote editor > remote editor > should update the remote position from a remote transaction: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/api/positionMapping.test.ts:500:20
src/api/positionMapping.test.ts > PositionStorage with remote editor > remote editor > should update the local position from a remote transaction: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/api/positionMapping.test.ts:439:20
src/api/positionMapping.test.ts > PositionStorage with remote editor > remote editor > should handle multiple transactions when collaborating: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/api/positionMapping.test.ts:374:19
src/api/positionMapping.test.ts > PositionStorage with remote editor > remote editor > should update the local position when collaborating: packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts#L96
Error: Blocks with the following IDs could not be found in the editor: 0 ❯ Module.removeAndInsertBlocks src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts:96:11 ❯ src/editor/managers/BlockManager.ts:202:7 ❯ StateManager.transact src/editor/managers/StateManager.ts:137:22 ❯ BlockNoteEditor.transact src/editor/BlockNoteEditor.ts:1013:31 ❯ BlockManager.replaceBlocks src/editor/managers/BlockManager.ts:201:24 ❯ BlockNoteEditor.replaceBlocks src/editor/BlockNoteEditor.ts:1365:31 ❯ src/api/positionMapping.test.ts:313:19
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots: tests/src/utils/editor.ts#L47
5) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots Error: expect(string).toMatchSnapshot(expected) @@ -38,11 +38,11 @@ "type": "heading", "attrs": { "backgroundColor": "default", "textColor": "default", "textAlignment": "left", - "level": 2, + "level": 1, "isToggleable": false }, "content": [ { "type": "text", Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts-snapshots/docStructureSnapshot-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/slashmenu-slashmenu-Check--f99af-uments-that-match-snapshots-firefox/docStructureSnapshot-actual.json at ../utils/editor.ts:47 45 | // Remove id from docs 46 | const doc = JSON.stringify(await getDoc(page), null, 2); > 47 | expect(doc).toMatchSnapshot(`${name}.json`); | ^ 48 | } 49 | at compareDocToSnapshot (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:47:15) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:141:5
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3: tests/src/utils/editor.ts#L11
4) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3 TimeoutError: locator.waitFor: Timeout 1000ms exceeded. Call log: - waiting for locator('.bn-editor').locator('[data-content-type=heading][data-level="3"]') at ../utils/editor.ts:11 9 | export async function waitForSelectorInEditor(page: Page, selector: string) { 10 | const editor = page.locator(EDITOR_SELECTOR); > 11 | await editor.locator(selector).waitFor({ | ^ 12 | state: "attached", 13 | timeout: 1000, 14 | }); at waitForSelectorInEditor (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:11:34) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:46:34
[firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2: tests/src/utils/editor.ts#L11
3) [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2 TimeoutError: locator.waitFor: Timeout 1000ms exceeded. Call log: - waiting for locator('.bn-editor').locator('[data-content-type=heading][data-level="2"]') at ../utils/editor.ts:11 9 | export async function waitForSelectorInEditor(page: Page, selector: string) { 10 | const editor = page.locator(EDITOR_SELECTOR); > 11 | await editor.locator(selector).waitFor({ | ^ 12 | state: "attached", 13 | timeout: 1000, 14 | }); at waitForSelectorInEditor (/__w/BlockNote/BlockNote/tests/src/utils/editor.ts:11:34) at /__w/BlockNote/BlockNote/tests/src/end-to-end/slashmenu/slashmenu.test.ts:40:34
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children: tests/src/end-to-end/draghandle/draghandle.test.ts#L175
2) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children Error: page.hover: Target page, context or browser has been closed Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') 173 | await page.keyboard.type("This is h3"); 174 | > 175 | await page.hover(H_TWO_BLOCK_SELECTOR); | ^ 176 | await page.click(DRAG_HANDLE_SELECTOR); 177 | await page.click("text=Delete"); 178 | await page.waitForSelector(H_ONE_BLOCK_SELECTOR); at /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts:175:16
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children: tests/src/end-to-end/draghandle/draghandle.test.ts#L0
2) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children Test timeout of 30000ms exceeded.
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block: tests/src/end-to-end/draghandle/draghandle.test.ts#L151
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block Error: page.hover: Target page, context or browser has been closed Call log: - waiting for locator('[data-content-type=heading][data-level="2"]') 149 | await page.keyboard.type("This is h3"); 150 | > 151 | await page.hover(H_TWO_BLOCK_SELECTOR); | ^ 152 | await page.click(DRAG_HANDLE_SELECTOR); 153 | await page.click("text=Delete"); 154 | await page.waitForSelector(H_ONE_BLOCK_SELECTOR); at /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts:151:16
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block: tests/src/end-to-end/draghandle/draghandle.test.ts#L0
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L19
2) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-content-type="video"] .bn-file-caption') 17 | await page.waitForTimeout(500); 18 | > 19 | await page.locator(`[data-content-type="video"] .bn-file-caption`).click(); | ^ 20 | await page.keyboard.press("Backspace"); 21 | await page.waitForTimeout(500); 22 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:19:72
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L0
2) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L19
2) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-content-type="video"] .bn-file-caption') 17 | await page.waitForTimeout(500); 18 | > 19 | await page.locator(`[data-content-type="video"] .bn-file-caption`).click(); | ^ 20 | await page.keyboard.press("Backspace"); 21 | await page.waitForTimeout(500); 22 | at /__w/BlockNote/BlockNote/tests/src/end-to-end/basics/basicblocks.test.ts:19:72
[webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance: tests/src/end-to-end/basics/basicblocks.test.ts#L0
2) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Test timeout of 30000ms exceeded.
[webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar: tests/src/end-to-end/ariakit/ariakit.test.ts#L41
1) [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar Error: expect(Buffer).toMatchSnapshot(expected) 1007 pixels (ratio 0.01 of all image pixels) are different. Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts-snapshots/ariakit-link-toolbar-webkit-linux.png Received: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-link-toolbar-webkit/ariakit-link-toolbar-actual.png Diff: /__w/BlockNote/BlockNote/tests/test-results/ariakit-ariakit-Check-Ariakit-UI-Check-link-toolbar-webkit/ariakit-link-toolbar-diff.png 39 | 40 | await page.waitForTimeout(500); > 41 | expect(await page.screenshot()).toMatchSnapshot("ariakit-link-toolbar.png"); | ^ 42 | }); 43 | test("Check slash menu", async ({ page }) => { 44 | await focusOnEditor(page); at /__w/BlockNote/BlockNote/tests/src/end-to-end/ariakit/ariakit.test.ts:41:37
🎭 Playwright Run Summary
1 skipped 94 passed (2.2m)
🎭 Playwright Run Summary
5 flaky [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block [firefox] › src/end-to-end/draghandle/draghandle.test.ts:161:7 › Check Draghandle functionality › Deleting block with children should delete all children [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:36:7 › Check SlashMenu Functionality › Should be able to create h2 [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:42:7 › Check SlashMenu Functionality › Should be able to create h3 [firefox] › src/end-to-end/slashmenu/slashmenu.test.ts:117:7 › Check SlashMenu Functionality › Should be able to create complex documents that match snapshots 11 skipped 79 passed (4.1m)
🎭 Playwright Run Summary
2 flaky [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar ─ [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance 9 skipped 84 passed (4.2m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report-chromium Expired
263 KB
sha256:6c075db9f05f8b6b536b21089551b79f5b9436354cc21e2d0fbe372bb223f522
playwright-report-firefox Expired
2.33 MB
sha256:70fdafa99dedbd3cad4c71e8a7955a298861e14a926f8fa84615c71f0c0f48c3
playwright-report-webkit Expired
1.92 MB
sha256:6a219bf5fea58582b859c1554d03d2eace917373d461481993670e7668969e34