Skip to content

feat: AI autocomplete [render preview] #6467

feat: AI autocomplete [render preview]

feat: AI autocomplete [render preview] #6467

Triggered via pull request December 4, 2025 08:04
Status Failure
Total duration 7m 50s
Artifacts 4

build.yml

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

Annotations

20 errors and 4 notices
Playwright Tests - chromium
Process completed with exit code 1.
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-chromium-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-chromium/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
Playwright Tests - firefox
Process completed with exit code 1.
[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#L156
2) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block Error: page.waitForSelector: Target page, context or browser has been closed Call log: - waiting for locator('[data-content-type=heading][data-level="3"]') to be visible 154 | await page.waitForSelector(H_ONE_BLOCK_SELECTOR); 155 | await page.waitForSelector(H_TWO_BLOCK_SELECTOR, { state: "detached" }); > 156 | await page.waitForSelector(H_THREE_BLOCK_SELECTOR); | ^ 157 | 158 | await compareDocToSnapshot(page, "dragHandleDocStructure"); 159 | }); at /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts:156: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
2) [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.
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
1) [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-firefox-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-firefox/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[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
3) [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
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit-retry2/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit-retry1/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block: tests/src/utils/editor.ts#L47
2) [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block Error: expect(string).toMatchSnapshot(expected) @@ -47,11 +47,11 @@ ] }, { "type": "blockContainer", "attrs": { - "id": "3" + "id": "2" }, "content": [ { "type": "paragraph", "attrs": { Expected: /__w/BlockNote/BlockNote/tests/src/end-to-end/draghandle/draghandle.test.ts-snapshots/addnonselectedemptyblock-webkit-linux.json Received: /__w/BlockNote/BlockNote/tests/test-results/draghandle-draghandle-Chec-4310f-or-non-selected-empty-block-webkit/addnonselectedemptyblock-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/draghandle/draghandle.test.ts:127:5
[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
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── 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
1) [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── 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
1) [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
1) [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
1) [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
1) [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.
Build
{ "workflowData": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "590a87ce16fa05994605ec9e953d66c32a12c49f", "ref": "2191" }, "key": "dmb8xDERdF", "runId": 19921892498, "webhookDebug": { "action": "requested", "head_branch": "feature/ai-autocomplete", "head_repository_full_name": "TypeCellOS/BlockNote", "full_name": "TypeCellOS/BlockNote", "isPullRequest": true, "prNumber": 2191, "prNumberType": "number", "isNewPullRequest": true, "isOldPullRequest": false, "prKey": "TypeCellOS/BlockNote:feature/ai-autocomplete", "oldPrDataHash": "NTn5jbJpzM", "lookupKey": "TypeCellOS/BlockNote:feature/ai-autocomplete", "data": { "owner": "TypeCellOS", "repo": "BlockNote", "sha": "590a87ce16fa05994605ec9e953d66c32a12c49f", "ref": "2191" } } }
🎭 Playwright Run Summary
1 failed [chromium] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 skipped 93 passed (2.4m)
🎭 Playwright Run Summary
1 failed [firefox] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 flaky [firefox] › src/end-to-end/draghandle/draghandle.test.ts:143:7 › Check Draghandle functionality › Delete button should delete correct block 11 skipped 82 passed (3.4m)
🎭 Playwright Run Summary
2 failed [webkit] › src/end-to-end/basics/basicblocks.test.ts:11:7 › Check basic text block appearance › Check basic text block appearance [webkit] › src/end-to-end/draghandle/draghandle.test.ts:120:7 › Check Draghandle functionality › Click add button for non-selected empty block 1 flaky [webkit] › src/end-to-end/ariakit/ariakit.test.ts:28:7 › Check Ariakit UI › Check link toolbar ─ 9 skipped 83 passed (4.8m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report-chromium Expired
1.04 MB
sha256:2443c9d0d24c7214f9bd7d1d612cfb864efb689d91b1fb433913204ed0549be6
playwright-report-firefox Expired
955 KB
sha256:1d41e0cd77d0fcb93d5b1529d79c467fba5a2262aeaf38b839254435b16e6e87
playwright-report-webkit Expired
2.24 MB
sha256:730750c684af061c68f283cf286d5201edfca58d49896b5338e080305a881c6f
relative-ci-artifacts-editor
45.8 KB
sha256:97c505459d39621f4edb9e4893c102fbd93f4bbc9451b9ed9ed04b29508c5375