Skip to content

perf: optimize frame preview performance (#6169) #151

perf: optimize frame preview performance (#6169)

perf: optimize frame preview performance (#6169) #151

Triggered via push February 1, 2024 08:46
Status Success
Total duration 6m 2s
Artifacts

test.yaml

on: push
Node.js Environment Compatibility
48s
Node.js Environment Compatibility
Unit test
1m 9s
Unit test
Integration test
27s
Integration test
Inline Editor E2E test
42s
Inline Editor E2E test
Matrix: Playground E2E test
Fit to window
Zoom out
Zoom in

Annotations

43 errors, 14 warnings, and 11 notices
clipboard.spec.ts:921:1 › should copy and paste of database work: tests/utils/asserts.ts#L631
1) clipboard.spec.ts:921:1 › should copy and paste of database work ────────────────────────────── Error: <affine:page> <affine:note prop:background="--affine-background-secondary-color" prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:database prop:columns="Array [2]" prop:title="Database 1" prop:views="Array [1]" > <affine:paragraph prop:type="text" /> </affine:database> <affine:paragraph prop:type="text" /> </affine:note> </affine:page> expect(received).toEqual(expected) // deep equality - Expected - 9 + Received + 0 @@ -22,19 +22,10 @@ > <affine:paragraph prop:type="text" /> </affine:database> - <affine:database - prop:columns="Array [2]" - prop:title="Database 1" - prop:views="Array [1]" - > - <affine:paragraph - prop:type="text" - /> - </affine:database> <affine:paragraph prop:type="text" /> </affine:note> </affine:page> at utils/asserts.ts:631 629 | printFunctionName: false, 630 | }); > 631 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 632 | } 633 | 634 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:631:38) at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:937:3
clipboard.spec.ts:921:1 › should copy and paste of database work: tests/clipboard.spec.ts#L1
1) clipboard.spec.ts:921:1 › should copy and paste of database work ────────────────────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
clipboard.spec.ts:1020:1 › copy canvas element and text note in edgeless mode: tests/clipboard.spec.ts#L1
2) clipboard.spec.ts:1020:1 › copy canvas element and text note in edgeless mode ───────────────── Test timeout of 30000ms exceeded.
clipboard.spec.ts:1020:1 › copy canvas element and text note in edgeless mode: tests/utils/actions/drag.ts#L21
2) clipboard.spec.ts:1020:1 › copy canvas element and text note in edgeless mode ───────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:365:3) at createShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:1320:3) at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1025:3
clipboard.spec.ts:1040:1 › copy when text note active in edgeless: tests/utils/asserts.ts#L186
3) clipboard.spec.ts:1040:1 › copy when text note active in edgeless ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "12345551234" Received: "1234555test" at utils/asserts.ts:186 184 | export async function assertText(page: Page, text: string, i = 0) { 185 | const actual = await getStringFromRichText(page, i); > 186 | expect(actual).toBe(text); | ^ 187 | } 188 | 189 | export async function assertTextContain(page: Page, text: string, i = 0) { at assertText (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:186:18) at /home/runner/work/blocksuite/blocksuite/tests/clipboard.spec.ts:1055:3
hotkey.spec.ts:1004:1 › should cut work single line: tests/utils/asserts.ts#L631
1) hotkey.spec.ts:1004:1 › should cut work single line ─────────────────────────────────────────── Error: <affine:note prop:background="--affine-background-secondary-color" prop:displayMode="both" prop:edgeless={ Object { "style": Object { "borderRadius": 8, "borderSize": 4, "borderStyle": "solid", "shadowType": "--affine-note-shadow-box", }, } } prop:hidden={false} prop:index="a0" > <affine:paragraph prop:text="hello" prop:type="text" /> </affine:note> expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 @@ -13,9 +13,9 @@ } prop:hidden={false} prop:index="a0" > <affine:paragraph - prop:text="ho" + prop:text="hello" prop:type="text" /> </affine:note> at utils/asserts.ts:631 629 | printFunctionName: false, 630 | }); > 631 | expect(formattedJSX, formattedJSX).toEqual(snapshot.trimStart()); | ^ 632 | } 633 | 634 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html'; at assertStoreMatchJSX (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:631:38) at /home/runner/work/blocksuite/blocksuite/tests/hotkey.spec.ts:1013:3
image.spec.ts:103:1 › can click and copy image: tests/utils/asserts.ts#L227
2) image.spec.ts:103:1 › can click and copy image ──────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality Expected: 2 Received: 1 at utils/asserts.ts:227 225 | const editor = getEditorLocator(page); 226 | const actual = await editor.locator('.resizable-img').count(); > 227 | expect(actual).toEqual(count); | ^ 228 | } 229 | 230 | export async function assertDivider(page: Page, count: number) { at assertRichImage (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:227:18) at /home/runner/work/blocksuite/blocksuite/tests/image.spec.ts:115:3
attachment.spec.ts:279:1 › should rename attachment works: tests/attachment.spec.ts#L1
1) attachment.spec.ts:279:1 › should rename attachment works ───────────────────────────────────── Test timeout of 30000ms exceeded.
attachment.spec.ts:279:1 › should rename attachment works: tests/utils/actions/keyboard.ts#L27
1) attachment.spec.ts:279:1 › should rename attachment works ───────────────────────────────────── Error: keyboard.type: Test timeout of 30000ms exceeded. at utils/actions/keyboard.ts:27 25 | 26 | export async function type(page: Page, content: string, delay = 20) { > 27 | await page.keyboard.type(content, { delay }); | ^ 28 | } 29 | 30 | export async function withPressKey( at type (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/keyboard.ts:27:23) at rename (/home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:103:13) at /home/runner/work/blocksuite/blocksuite/tests/attachment.spec.ts:310:3
bookmark.spec.ts:61:1 › create bookmark by slash menu: tests/utils/actions/misc.ts#L260
2) bookmark.spec.ts:61:1 › create bookmark by slash menu ───────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:61:1 › create bookmark by slash menu: tests/utils/actions/misc.ts#L260
2) bookmark.spec.ts:61:1 › create bookmark by slash menu ───────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:61:1 › create bookmark by slash menu: tests/utils/actions/misc.ts#L260
2) bookmark.spec.ts:61:1 › create bookmark by slash menu ───────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:193:1 › copy url to create bookmark in page mode: tests/utils/actions/misc.ts#L260
3) bookmark.spec.ts:193:1 › copy url to create bookmark in page mode ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 3 - Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment. + Unexpected console message: Error: Failed to get current range, rangeCount is 0 + at getCurrentNativeRange (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/_common/utils/selection.ts:3308:11) + at updateQuery (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/_common/components/utils.ts:2625:44) at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:193:1 › copy url to create bookmark in page mode: tests/utils/actions/misc.ts#L260
3) bookmark.spec.ts:193:1 › copy url to create bookmark in page mode ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 3 - Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment. + Unexpected console message: Error: Failed to get current range, rangeCount is 0 + at getCurrentNativeRange (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/_common/utils/selection.ts:3308:11) + at updateQuery (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/_common/components/utils.ts:2625:44) at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:245:1 › copy url to create bookmark in edgeless mode: tests/utils/actions/misc.ts#L260
4) bookmark.spec.ts:245:1 › copy url to create bookmark in edgeless mode ───────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:303:1 › support dragging bookmark block directly: tests/utils/actions/misc.ts#L260
5) bookmark.spec.ts:303:1 › support dragging bookmark block directly ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
bookmark.spec.ts:303:1 › support dragging bookmark block directly: tests/utils/actions/misc.ts#L260
5) bookmark.spec.ts:303:1 › support dragging bookmark block directly ───────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: "Please remove the \"console.log\" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment." Received: "Unexpected console message: Failed to parse query! Current range is not a text node. Range" at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
edgeless/auto-complete.spec.ts:112:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note: tests/utils/asserts.ts#L206
1) edgeless/auto-complete.spec.ts:112:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ - "hello", + "", ] at utils/asserts.ts:206 204 | }); 205 | }, currentEditorIndex); > 206 | expect(actualTexts).toEqual(texts); | ^ 207 | } 208 | 209 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:206:23) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/auto-complete.spec.ts:128:7
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar: tests/edgeless/shape.spec.ts#L1
1) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ─────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar: tests/utils/actions/drag.ts#L21
1) edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ─────────────────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicBrushElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:345:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:99:3
edgeless/shape.spec.ts:131:1 › change shape stroke color: tests/edgeless/shape.spec.ts#L1
2) edgeless/shape.spec.ts:131:1 › change shape stroke color ────────────────────────────────────── Test timeout of 30000ms exceeded.
edgeless/shape.spec.ts:131:1 › change shape stroke color: tests/utils/actions/drag.ts#L21
2) edgeless/shape.spec.ts:131:1 › change shape stroke color ────────────────────────────────────── Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicRectShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:355:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/shape.spec.ts:140:3
format-bar.spec.ts:312:1 › should format quick bar be able to change background color: tests/format-bar.spec.ts#L432
3) format-bar.spec.ts:312:1 › should format quick bar be able to change background color ───────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: locator('.affine-format-bar-widget').getByTestId('unset') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for locator('.affine-format-bar-widget').getByTestId('unset') - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" - locator resolved to <icon-button width="100%" tabindex="0" height="32px" data-tes…>…</icon-button> - unexpected value "hidden" 430 | ); 431 | > 432 | await expect(highlight.defaultColorBtn).toBeVisible(); | ^ 433 | await highlight.defaultColorBtn.click(); 434 | 435 | await assertStoreMatchJSX( at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:432:43
format-bar.spec.ts:1537:1 › can extend format bar: tests/format-bar.spec.ts#L1543
4) format-bar.spec.ts:1537:1 › can extend format bar ───────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('custom-format-bar-element') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByTestId('custom-format-bar-element') 1541 | await extendFormatBar(page); 1542 | await dragBetweenIndices(page, [0, 0], [2, 3]); > 1543 | await expect(page.getByTestId('custom-format-bar-element')).toBeVisible(); | ^ 1544 | }); 1545 | 1546 | test('format quick bar should not break cursor jumping', async ({ page }) => { at /home/runner/work/blocksuite/blocksuite/tests/format-bar.spec.ts:1543:63
paragraph.spec.ts:1459:3 › press ArrowDown when cursor is at the last line of a block › move cursor to the end of line if the block is the last block in the page: tests/paragraph.spec.ts#L1421
1) paragraph.spec.ts:1459:3 › press ArrowDown when cursor is at the last line of a block › move cursor to the end of line if the block is the last block in the page Test timeout of 30000ms exceeded while running "beforeEach" hook. 1419 | 1420 | test.describe('press ArrowDown when cursor is at the last line of a block', () => { > 1421 | test.beforeEach(async ({ page }) => { | ^ 1422 | await enterPlaygroundRoom(page); 1423 | await page.evaluate(() => { 1424 | const { page } = window; at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1421:8
paragraph.spec.ts:1459:3 › press ArrowDown when cursor is at the last line of a block › move cursor to the end of line if the block is the last block in the page: tests/utils/actions/misc.ts#L250
1) paragraph.spec.ts:1459:3 › press ArrowDown when cursor is at the last line of a block › move cursor to the end of line if the block is the last block in the page Error: page.goto: Test timeout of 30000ms exceeded. Call log: - navigating to "http://localhost:5173/starter/?room=playwright-48417907&blobStorage=idb", waiting until "load" at utils/actions/misc.ts:250 248 | url.searchParams.set('room', room); 249 | url.searchParams.set('blobStorage', blobStorage?.join(',') || 'idb'); > 250 | await page.goto(url.toString()); | ^ 251 | // const readyPromise = waitForPageReady(page); 252 | 253 | // See https://github.com/microsoft/playwright/issues/5546 at enterPlaygroundRoom (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:250:14) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1422:11
paragraph.spec.ts:1475:1 › delete empty text paragraph block should keep children blocks when following custom blocks: tests/paragraph.spec.ts#L1
2) paragraph.spec.ts:1475:1 › delete empty text paragraph block should keep children blocks when following custom blocks Test timeout of 30000ms exceeded.
paragraph.spec.ts:1475:1 › delete empty text paragraph block should keep children blocks when following custom blocks: tests/utils/actions/misc.ts#L250
2) paragraph.spec.ts:1475:1 › delete empty text paragraph block should keep children blocks when following custom blocks Error: page.goto: Test timeout of 30000ms exceeded. Call log: - navigating to "http://localhost:5173/starter/?room=playwright-02729137&blobStorage=idb", waiting until "load" at utils/actions/misc.ts:250 248 | url.searchParams.set('room', room); 249 | url.searchParams.set('blobStorage', blobStorage?.join(',') || 'idb'); > 250 | await page.goto(url.toString()); | ^ 251 | // const readyPromise = waitForPageReady(page); 252 | 253 | // See https://github.com/microsoft/playwright/issues/5546 at enterPlaygroundRoom (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:250:14) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1478:9
paragraph.spec.ts:1572:1 › delete first paragraph with children should keep children blocks: tests/paragraph.spec.ts#L1
3) paragraph.spec.ts:1572:1 › delete first paragraph with children should keep children blocks ─── Test timeout of 30000ms exceeded.
paragraph.spec.ts:1572:1 › delete first paragraph with children should keep children blocks: tests/utils/actions/misc.ts#L250
3) paragraph.spec.ts:1572:1 › delete first paragraph with children should keep children blocks ─── Error: page.goto: Test timeout of 30000ms exceeded. Call log: - navigating to "http://localhost:5173/starter/?room=playwright-48515303&blobStorage=idb", waiting until "load" at utils/actions/misc.ts:250 248 | url.searchParams.set('room', room); 249 | url.searchParams.set('blobStorage', blobStorage?.join(',') || 'idb'); > 250 | await page.goto(url.toString()); | ^ 251 | // const readyPromise = waitForPageReady(page); 252 | 253 | // See https://github.com/microsoft/playwright/issues/5546 at enterPlaygroundRoom (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:250:14) at /home/runner/work/blocksuite/blocksuite/tests/paragraph.spec.ts:1575:9
selection/block.spec.ts:137:1 › click the list icon can select and copy: tests/utils/asserts.ts#L206
4) selection/block.spec.ts:137:1 › click the list icon can select and copy ─────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 2 Array [ - "123789123", + "123", "456", + "789123", "789123", ] at utils/asserts.ts:206 204 | }); 205 | }, currentEditorIndex); > 206 | expect(actualTexts).toEqual(texts); | ^ 207 | } 208 | 209 | export async function assertEdgelessCanvasText(page: Page, text: string) { at assertRichTexts (/home/runner/work/blocksuite/blocksuite/tests/utils/asserts.ts:206:23) at /home/runner/work/blocksuite/blocksuite/tests/selection/block.spec.ts:156:3
edgeless/group.spec.ts:467:5 › group › group title › edit group title by dbclick: tests/edgeless/group.spec.ts#L1
1) edgeless/group.spec.ts:467:5 › group › group title › edit group title by dbclick ────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
edgeless/group.spec.ts:479:5 › group › group title › blur unmount group editor: tests/edgeless/group.spec.ts#L1
2) edgeless/group.spec.ts:479:5 › group › group title › blur unmount group editor ──────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
edgeless/group.spec.ts:490:5 › group › group title › enter unmount group editor: tests/edgeless/group.spec.ts#L1
3) edgeless/group.spec.ts:490:5 › group › group title › enter unmount group editor ─────────────── Test finished within timeout of 30000ms, but tearing down "context" ran out of time. Please allow more time for the test, since teardown is attributed towards the test timeout budget.
edgeless/note.spec.ts:730:1 › continuous undo and redo (note block add operation) should work: tests/utils/actions/misc.ts#L260
4) edgeless/note.spec.ts:730:1 › continuous undo and redo (note block add operation) should work ─ Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 7 - Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment. + Unexpected console message: Error: val does not exist + at assertExists (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/framework/global/src/utils/assert.ts:1309:11) + at Clipboard.readFromClipboard (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/framework/block-std/src/clipboard/index.ts:2752:5) + at EdgelessClipboardController._onPaste (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/page-block/edgeless/controllers/clipboard.ts:10789:66) + at host.handleEvent.global (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/blocks/src/page-block/edgeless/controllers/clipboard.ts:10617:14) + at UIEventDispatcher.run (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/framework/block-std/src/event/dispatcher.ts:2834:49) + at ClipboardControl._paste (http://localhost:5173/@fs/home/runner/work/blocksuite/blocksuite/packages/framework/block-std/src/event/control/clipboard.ts:572:24) at utils/actions/misc.ts:260 258 | expect 259 | .soft('Unexpected console message: ' + message.text()) > 260 | .toBe( | ^ 261 | 'Please remove the "console.log" or declare `expectConsoleMessage` before `enterPlaygroundRoom`. It is advised not to output logs in a production environment.' 262 | ); 263 | } at Page.<anonymous> (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/misc.ts:260:10)
edgeless/note.spec.ts:730:1 › continuous undo and redo (note block add operation) should work: tests/edgeless/note.spec.ts#L757
4) edgeless/note.spec.ts:730:1 › continuous undo and redo (note block add operation) should work ─ Error: expect(received).toBe(expected) // Object.is equality Expected: 4 Received: 3 755 | 756 | count = await countBlock(page, 'affine-note'); > 757 | expect(count).toBe(4); | ^ 758 | 759 | await undoByClick(page); 760 | count = await countBlock(page, 'affine-note'); at /home/runner/work/blocksuite/blocksuite/tests/edgeless/note.spec.ts:757:17
edgeless/selection.spec.ts:29:1 › should update rect of selection when resizing viewport: tests/utils/actions/edgeless.ts#L115
5) edgeless/selection.spec.ts:29:1 › should update rect of selection when resizing viewport ────── TimeoutError: page.click: Timeout 5000ms exceeded. Call log: - waiting for locator('sl-menu-item:text("Switch Offset Mode")') - locator resolved to <sl-menu-item tabindex="0" role="menuitem" aria-disabled="fals…>↵ Switch Offset Mode↵ </sl-menu-item> - attempting click action - waiting for element to be visible, enabled and stable - element is not visible - waiting... at utils/actions/edgeless.ts:115 113 | export async function switchEditorEmbedMode(page: Page) { 114 | await page.click('sl-button:text("Test Operations")'); > 115 | await page.click('sl-menu-item:text("Switch Offset Mode")'); | ^ 116 | } 117 | 118 | type EdgelessTool = at Module.switchEditorEmbedMode (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:115:14) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/selection.spec.ts:68:3
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/edgeless/basic.spec.ts#L1
1) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ────────────────── Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element: tests/utils/actions/edgeless.ts#L690
1) edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ────────────────── Error: keyboard.down: Test timeout of 30000ms exceeded. at utils/actions/edgeless.ts:690 688 | start = await toViewCoord(page, start); 689 | end = await toViewCoord(page, end); > 690 | await page.keyboard.down('Alt'); | ^ 691 | await dragBetweenCoords( 692 | page, 693 | { x: start[0], y: start[1] }, at optionMouseDrag (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:690:23) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:128:3
edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element: tests/edgeless/basic.spec.ts#L1
2) edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element: tests/utils/actions/drag.ts#L21
2) edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element Error: mouse.move: Test timeout of 30000ms exceeded. at utils/actions/drag.ts:21 19 | await page.mouse.move(x1, y1); 20 | await page.mouse.down(); > 21 | await page.mouse.move(x2, y2, { steps }); | ^ 22 | await options?.beforeMouseUp?.(); 23 | await page.mouse.up(); 24 | } at dragBetweenCoords (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/drag.ts:21:20) at addBasicRectShapeElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:355:3) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:153:3
edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown: tests/edgeless/basic.spec.ts#L1
3) edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown Test timeout of 30000ms exceeded.
edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown: tests/utils/actions/edgeless.ts#L238
3) edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('edgeless-toolbar edgeless-tool-icon-button.edgeless-default-button') - locator resolved to <edgeless-tool-icon-button class="edgeless-default-button brush">…</edgeless-tool-icon-button> - attempting click action - waiting for element to be visible, enabled and stable at utils/actions/edgeless.ts:238 236 | const classes = (await button.getAttribute('class'))?.split(' '); 237 | if (!classes?.includes('default')) { > 238 | await button.click(); | ^ 239 | await sleep(100); 240 | } 241 | break; at setEdgelessTool (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:238:22) at addBasicBrushElement (/home/runner/work/blocksuite/blocksuite/tests/utils/actions/edgeless.ts:346:12) at /home/runner/work/blocksuite/blocksuite/tests/edgeless/basic.spec.ts:173:3
Integration test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Inline Editor E2E test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Node.js Environment Compatibility
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (8)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (10)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (7)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (6)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (9)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (5)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Playground E2E test (4)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: pnpm/action-setup@v2, actions/setup-node@v3, actions/cache@v3, codecov/codecov-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
🎭 Playwright Run Summary
12 passed (22.6s)
🎭 Playwright Run Summary
1 skipped 64 passed (3.0m)
🎭 Playwright Run Summary
2 skipped 63 passed (3.0m)
🎭 Playwright Run Summary
3 flaky clipboard.spec.ts:921:1 › should copy and paste of database work ─────────────────────────────── clipboard.spec.ts:1020:1 › copy canvas element and text note in edgeless mode ────────────────── clipboard.spec.ts:1040:1 › copy when text note active in edgeless ────────────────────────────── 8 skipped 55 passed (3.2m)
🎭 Playwright Run Summary
2 flaky hotkey.spec.ts:1004:1 › should cut work single line ──────────────────────────────────────────── image.spec.ts:103:1 › can click and copy image ───────────────────────────────────────────────── 4 skipped 59 passed (3.1m)
🎭 Playwright Run Summary
6 flaky attachment.spec.ts:279:1 › should rename attachment works ────────────────────────────────────── bookmark.spec.ts:61:1 › create bookmark by slash menu ────────────────────────────────────────── bookmark.spec.ts:193:1 › copy url to create bookmark in page mode ────────────────────────────── bookmark.spec.ts:245:1 › copy url to create bookmark in edgeless mode ────────────────────────── bookmark.spec.ts:303:1 › support dragging bookmark block directly ────────────────────────────── clipboard.spec.ts:399:1 › copy partially selected text ───────────────────────────────────────── 16 skipped 44 passed (3.3m)
🎭 Playwright Run Summary
1 flaky edgeless/auto-complete.spec.ts:112:5 › auto-complete › drag on auto-complete button › drag on right auto-complete button to add note 65 passed (3.5m)
🎭 Playwright Run Summary
4 flaky edgeless/shape.spec.ts:92:1 › delete shape by component-toolbar ──────────────────────────────── edgeless/shape.spec.ts:131:1 › change shape stroke color ─────────────────────────────────────── format-bar.spec.ts:312:1 › should format quick bar be able to change background color ────────── format-bar.spec.ts:1537:1 › can extend format bar ────────────────────────────────────────────── 1 skipped 60 passed (3.9m)
🎭 Playwright Run Summary
4 flaky paragraph.spec.ts:1459:3 › press ArrowDown when cursor is at the last line of a block › move cursor to the end of line if the block is the last block in the page paragraph.spec.ts:1475:1 › delete empty text paragraph block should keep children blocks when following custom blocks paragraph.spec.ts:1572:1 › delete first paragraph with children should keep children blocks ──── selection/block.spec.ts:137:1 › click the list icon can select and copy ──────────────────────── 1 skipped 60 passed (4.1m)
🎭 Playwright Run Summary
5 flaky edgeless/group.spec.ts:467:5 › group › group title › edit group title by dbclick ─────────────── edgeless/group.spec.ts:479:5 › group › group title › blur unmount group editor ───────────────── edgeless/group.spec.ts:490:5 › group › group title › enter unmount group editor ──────────────── edgeless/note.spec.ts:730:1 › continuous undo and redo (note block add operation) should work ── edgeless/selection.spec.ts:29:1 › should update rect of selection when resizing viewport ─────── 60 passed (4.5m)
🎭 Playwright Run Summary
3 flaky edgeless/basic.spec.ts:118:1 › option/alt mouse drag duplicate a new element ─────────────────── edgeless/basic.spec.ts:139:1 › should cancel select when the selected point is outside the current selected element edgeless/basic.spec.ts:164:1 › the tooltip of more button should be hidden when the action menu is shown 3 skipped 60 passed (4.7m)