feat(core): editor setting service #13869
build-test.yml
on: pull_request
Matrix: build-native
Build Server native
1m 36s
Matrix: Analyze
Matrix: E2E Test
Build @affine/web
3m 47s
Lint
5m 11s
Check yarn binary
8s
E2E Migration Test
3m 46s
Matrix: server-e2e-test
Matrix: desktop-test
3, 2, 1 Launch
0s
Annotations
15 errors, 12 warnings, and 10 notices
basic.spec.ts:28:5 › new page:
tests/affine-desktop-cloud/e2e/basic.spec.ts#L1
1) basic.spec.ts:28:5 › new page ─────────────────────────────────────────────────────────────────
Test timeout of 50000ms exceeded.
|
basic.spec.ts:28:5 › new page:
tests/kit/utils/workspace.ts#L34
1) basic.spec.ts:28:5 › new page ─────────────────────────────────────────────────────────────────
Error: locator.click: Target page, context or browser has been closed
Browser logs:
[pid=4679][out] 'BFZk3c2ERp-sliRvA7MQ_p3NdkdCLt2Ze0DQ9i21dpA='
[pid=4679][out] ] - 1.12 ms
[pid=4679][out] 08:24:47.621 (helper) › [async-api] db.getBlob [
[pid=4679][out] 'M0T8lW7GnOv83gzSZBtql',
[pid=4679][out] 'HWvCItS78DzPGbwcuaGcfkpVDUvL98IvH5SIK8-AcL8='
[pid=4679][out] ] - 1.89 ms
[pid=4679][out] 08:24:47.622 (helper) › [async-api] db.getBlob [
[pid=4679][out] 'M0T8lW7GnOv83gzSZBtql',
[pid=4679][out] 'ZRKpsBoC88qEMmeiXKXqywfA1rLvWoLa5rpEh9x9Oj0='
[pid=4679][out] ] - 2.55 ms
[pid=4679][out] 08:24:48.205 (helper) › [async-api] db.getDocAsUpdates [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 0.44 ms
[pid=4679][out] 08:24:48.561 (helper) › [async-api] db.applyDocUpdate [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 5.03 ms
[pid=4679][out] 08:24:48.590 (helper) › [async-api] db.getDocAsUpdates [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 0.55 ms
[pid=4679][out] 08:24:48.600 (helper) › [async-api] db.getSyncMetadata [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql:seqNum' ] - 0.28 ms
[pid=4679][out] 08:24:48.630 (helper) › [async-api] db.setSyncMetadata [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql:seqNum' ] - 1.13 ms
[pid=4679][out] 08:24:48.738 (helper) › [async-api] db.getDocAsUpdates [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 0.58 ms
[pid=4679][out] 08:24:48.900 (main) › [ipc-api] ui:getChallengeResponse [ 'd4eee60c-bff9-4610-aaeb-0dcaf2ee4085' ] - 1 ms
[pid=4679][out] 08:24:49.873 (main) › [ipc-event] sharedStorage:onGlobalStateChanged []
[pid=4679][out] 08:24:49.881 (main) › [ipc-api] sharedStorage:setGlobalState [ 'affine-cloud-auth' ] - 8 ms
[pid=4679][out] 08:24:50.178 (main) › [ipc-api] sharedStorage:getAllGlobalState [] - 0 ms
[pid=4679][out] 08:24:50.179 (main) › [ipc-api] sharedStorage:getAllGlobalCache [] - 0 ms
[pid=4679][out] 08:24:51.450 (main) › [ipc-api] ui:getChallengeResponse [ 'd4eee60c-bff9-4610-aaeb-0dcaf2ee4085' ] - 2009 ms
[pid=4679][out] 08:24:52.285 (main) › [ipc-api] configStorage:get [] - 0 ms
[pid=4679][out] 08:24:52.286 (main) › [ipc-api] ui:handleNetworkChange [ true ] - 0 ms
[pid=4679][out] 08:24:52.287 (main) › [ipc-api] ui:isMaximized [] - 0 ms
[pid=4679][out] 08:24:52.287 (main) › [ipc-api] ui:isFullScreen [] - 0 ms
[pid=4679][out] 08:24:52.289 (main) › [ipc-api] ui:isActiveTab [] - 1 ms
[pid=4679][out] 08:24:52.296 (main) › main window is ready to show
[pid=4679][out] 08:24:52.298 (main) › [ipc-event] ui:onMaximized [ false ]
[pid=4679][out] 08:24:52.299 (main) › [ipc-event] ui:onFullScreen [ false ]
[pid=4679][out] 08:24:52.321 (main) › [ipc-api] ui:handleThemeChange [ 'system' ] - 0 ms
[pid=4679][out] 08:24:52.321 (main) › [ipc-api] ui:handleThemeChange [ 'system' ] - 0 ms
[pid=4679][out] 08:24:52.394 (main) › [ipc-event] sharedStorage:onGlobalStateChanged []
[pid=4679][out] 08:24:52.395 (main) › [ipc-api] sharedStorage:setGlobalState [ 'affine-cloud-auth' ] - 2 ms
[pid=4679][out] 08:24:52.396 (main) › [ipc-event] sharedStorage:onGlobalStateChanged []
[pid=4679][out] 08:24:52.398 (main) › [ipc-api] sharedStorage:setGlobalState [ 'cloud-workspace:15b2feff-25d7-4606-a33c-bec201be2af4' ] - 2 ms
[pid=4679][out] 08:24:52.430 (helper) › [helper] renderer connected
[pid=4679][out] 08:24:52.510 (helper) › [async-api] db.getDocAsUpdates [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 0.86 ms
[pid=4679][out] 08:24:52.510 (helper) › [async-api] db.getDocAsUpdates [ 'M0T8lW7GnOv83gzSZBtql', 'M0T8lW7GnOv83gzSZBtql' ] - 1.10 ms
[pid=4679][out] 08:24:52.530 (main) › [ipc-api] ui:getTabsStatus [] - 0 ms
[pid=4679][out] 08:24:52.549 (main) › [ipc-api] ui:isFullScreen [] - 0 ms
[pid=4679][out] 08:24:52.550 (main) › [ipc-event] ui:onTabsStatusChange []
[pid=4679][out] 08:24:52.550
|
local-first-workspace-list.spec.ts:31:5 › create one workspace in the workspace list:
tests/affine-local/e2e/local-first-workspace-list.spec.ts#L1
1) local-first-workspace-list.spec.ts:31:5 › create one workspace in the workspace list ──────────
Test timeout of 50000ms exceeded.
|
local-first-workspace-list.spec.ts:31:5 › create one workspace in the workspace list:
tests/affine-local/e2e/local-first-workspace-list.spec.ts#L54
1) local-first-workspace-list.spec.ts:31:5 › create one workspace in the workspace list ──────────
Error: page.reload: Test timeout of 50000ms exceeded.
Call log:
- waiting for navigation until "load"
- navigated to "http://localhost:8080/workspace/7PLG2dQVlA4VMXU_Gtqm7/all"
52 | const result = await getPagesCount(page);
53 | expect(result).toBe(1);
> 54 | await page.reload();
| ^
55 | await page.waitForTimeout(4000);
56 | const result1 = await getPagesCount(page);
57 | expect(result1).toBe(1);
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/local-first-workspace-list.spec.ts:54:14
|
peek-view.spec.ts:62:5 › can open peek view via db+click link card:
tests/kit/utils/page-logic.ts#L50
2) peek-view.spec.ts:62:5 › can open peek view via db+click link card ────────────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('.linked-doc-popover')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('.linked-doc-popover')
at ../../kit/utils/page-logic.ts:50
48 | await page.keyboard.type('@', { delay: 50 });
49 | const linkedPagePopover = page.locator('.linked-doc-popover');
> 50 | await expect(linkedPagePopover).toBeVisible();
| ^
51 | await type(page, pageName || 'Untitled');
52 |
53 | await page.keyboard.press('ArrowUp');
at createLinkedPage (/home/runner/work/AFFiNE/AFFiNE/tests/kit/utils/page-logic.ts:50:35)
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/peek-view.spec.ts:64:3
|
peek-view.spec.ts:112:5 › can open peek view for embedded frames:
tests/affine-local/e2e/peek-view.spec.ts#L123
3) peek-view.spec.ts:112:5 › can open peek view for embedded frames ──────────────────────────────
TimeoutError: locator.click: Timeout 5000ms exceeded.
Call log:
- waiting for locator('affine-edgeless-note:has-text("Test Frame")')
121 | await page
122 | .locator('affine-edgeless-note:has-text("Test Frame")')
> 123 | .click({ force: true });
| ^
124 | // enter F to create a frame
125 | await page.keyboard.press('f');
126 |
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/peek-view.spec.ts:123:6
|
quick-search.spec.ts:168:5 › Create a new page and search this page:
tests/affine-local/e2e/quick-search.spec.ts#L1
1) quick-search.spec.ts:168:5 › Create a new page and search this page ───────────────────────────
Test timeout of 50000ms exceeded.
|
quick-search.spec.ts:168:5 › Create a new page and search this page:
tests/affine-local/e2e/quick-search.spec.ts#L189
1) quick-search.spec.ts:168:5 › Create a new page and search this page ───────────────────────────
Error: page.reload: Test timeout of 50000ms exceeded.
Call log:
- waiting for navigation until "load"
- navigated to "http://localhost:8080/workspace/RZDqwIuXVx3JkcjXIPpRN/bDIS5fQHmx-u241m_4Bi4"
187 | await assertTitle(page, 'test123456');
188 |
> 189 | await page.reload();
| ^
190 | await waitForEditorLoad(page);
191 | await openQuickSearchByShortcut(page);
192 | await insertInputText(page, 'test123456');
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/quick-search.spec.ts:189:14
|
quick-search.spec.ts:434:5 › disable quick search when the link-popup is visitable:
tests/affine-local/e2e/quick-search.spec.ts#L452
2) quick-search.spec.ts:434:5 › disable quick search when the link-popup is visitable ────────────
Error: locator.dblclick: Error: strict mode violation: getByText('1234567890') resolved to 2 elements:
1) <div class="inline-edit_inlineEdit__1ejglp91">"test"1234567890</div> aka getByTestId('title-edit-button').getByText('"test"')
2) <span data-v-text="true">…</span> aka getByTestId('editor-K9_-wPj0hkCUJ2dvjvDq9').getByText('"test"')
Call log:
- waiting for getByText('1234567890')
450 | await page.keyboard.press('Enter', { delay: 10 });
451 | await page.keyboard.insertText('1234567890');
> 452 | await page.getByText('1234567890').dblclick();
| ^
453 |
454 | await withCtrlOrMeta(page, () => page.keyboard.press('k'));
455 | const linkPopup = page.locator('.affine-link-popover');
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/quick-search.spec.ts:452:38
|
quick-search.spec.ts:542:5 › can use slash menu to insert a newly created doc card:
tests/affine-local/e2e/quick-search.spec.ts#L558
3) quick-search.spec.ts:542:5 › can use slash menu to insert a newly created doc card ────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: getByTestId('cmdk-quick-search')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for getByTestId('cmdk-quick-search')
556 | });
557 | await page.keyboard.press('Enter');
> 558 | await expect(page.getByTestId('cmdk-quick-search')).toBeVisible();
| ^
559 |
560 | const testTitle = 'test title';
561 | await page.locator('[cmdk-input]').fill(testTitle);
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/quick-search.spec.ts:558:55
|
local-first-avatar.spec.ts:11:5 › should create a page with a local first avatar and remove it:
tests/affine-local/e2e/local-first-avatar.spec.ts#L1
1) local-first-avatar.spec.ts:11:5 › should create a page with a local first avatar and remove it
Test timeout of 50000ms exceeded.
|
local-first-avatar.spec.ts:11:5 › should create a page with a local first avatar and remove it:
tests/affine-local/e2e/local-first-avatar.spec.ts#L31
1) local-first-avatar.spec.ts:11:5 › should create a page with a local first avatar and remove it
Error: locator.click: Test timeout of 50000ms exceeded.
Call log:
- waiting for getByTestId('workspace-name')
- locator resolved to <div data-testid="workspace-name" class="styles_workspaceName__1jh8pss4">Test Workspace 1</div>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <html lang="en-US" data-theme="light">…</html> intercepts pointer events
- retrying click action, attempt #1
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <html lang="en-US" data-theme="light">…</html> intercepts pointer events
- retrying click action, attempt #2
- waiting 20ms
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <html lang="en-US" data-theme="light">…</html> intercepts pointer events
- retrying click action, attempt #3
- waiting 100ms
29 | .setInputFiles(resolve(rootDir, 'tests', 'fixtures', 'blue.png'));
30 | await page.mouse.click(0, 0);
> 31 | await page.getByTestId('workspace-name').click();
| ^
32 | await page.getByTestId('workspace-card').nth(0).click();
33 | await page.waitForTimeout(1000);
34 | await page.getByTestId('workspace-name').click();
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/local-first-avatar.spec.ts:31:44
|
local-first-collections-items.spec.ts:67:5 › Show collections items in sidebar:
tests/affine-local/e2e/local-first-collections-items.spec.ts#L1
2) local-first-collections-items.spec.ts:67:5 › Show collections items in sidebar ────────────────
Test timeout of 50000ms exceeded.
|
local-first-collections-items.spec.ts:67:5 › Show collections items in sidebar:
tests/affine-local/e2e/local-first-collections-items.spec.ts#L88
2) local-first-collections-items.spec.ts:67:5 › Show collections items in sidebar ────────────────
Error: locator.hover: Test timeout of 50000ms exceeded.
Call log:
- waiting for getByTestId('explorer-collections').locator('[data-testid^="explorer-collection-"]').first()
- locator resolved to <div data-state="open" data-testid="explorer-collection-J2Lyv7KHKSx2A70Lb54TS">…</div>
- attempting hover action
- waiting for element to be visible and stable
- element is visible and stable
- scrolling into view if needed
- done scrolling
- <html lang="en-US" data-theme="light">…</html> intercepts pointer events
- retrying hover action, attempt #1
- waiting for element to be visible and stable
- element is visible and stable
- scrolling into view if needed
- done scrolling
- <html lang="en-US" data-theme="light">…</html> intercepts pointer events
- retrying hover action, attempt #2
- waiting 20ms
- waiting for element to be visible and stable
86 | expect(await first.locator('[data-testid^="explorer-doc-"]').count()).toBe(0);
87 | // position is a workaround for the hover issue when empty collection status's height > 26px (will cause scroll)
> 88 | await first.hover({ position: { x: 10, y: 10 } });
| ^
89 | await first.getByTestId('explorer-tree-node-operation-button').click();
90 | const deleteCollection = page.getByText('Delete');
91 | await deleteCollection.click();
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/local-first-collections-items.spec.ts:88:15
|
local-first-favorites-items.spec.ts:42:5 › Show favorite reference in sidebar:
tests/kit/utils/page-logic.ts#L50
3) local-first-favorites-items.spec.ts:42:5 › Show favorite reference in sidebar ─────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('.linked-doc-popover')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('.linked-doc-popover')
at ../../kit/utils/page-logic.ts:50
48 | await page.keyboard.type('@', { delay: 50 });
49 | const linkedPagePopover = page.locator('.linked-doc-popover');
> 50 | await expect(linkedPagePopover).toBeVisible();
| ^
51 | await type(page, pageName || 'Untitled');
52 |
53 | await page.keyboard.press('ArrowUp');
at createLinkedPage (/home/runner/work/AFFiNE/AFFiNE/tests/kit/utils/page-logic.ts:50:35)
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-local/e2e/local-first-favorites-items.spec.ts:52:3
|
Analyze (typescript)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
Analyze (javascript)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
Slow Test:
tests/affine-migration/basic.spec.ts#L1
tests/affine-migration/basic.spec.ts took 1.3m
|
Slow Test:
tests/affine-local/ai-land.spec.ts#L1
tests/affine-local/ai-land.spec.ts took 42.5s
|
Slow Test:
tests/affine-local/open-affine.spec.ts#L1
tests/affine-local/open-affine.spec.ts took 30.7s
|
Slow Test:
tests/affine-cloud/page-history.spec.ts#L1
tests/affine-cloud/page-history.spec.ts took 1.5m
|
Slow Test:
tests/affine-local/router.spec.ts#L1
tests/affine-local/router.spec.ts took 24.0s
|
Slow Test:
tests/affine-local/local-first-new-page.spec.ts#L1
tests/affine-local/local-first-new-page.spec.ts took 21.0s
|
Slow Test:
tests/affine-cloud/share-page.spec.ts#L1
tests/affine-cloud/share-page.spec.ts took 2.4m
|
Slow Test:
tests/affine-cloud/workspace.spec.ts#L1
tests/affine-cloud/workspace.spec.ts took 1.1m
|
Slow Test:
tests/affine-cloud/collaboration.spec.ts#L1
tests/affine-cloud/collaboration.spec.ts took 3.4m
|
Slow Test:
tests/affine-cloud/login.spec.ts#L1
tests/affine-cloud/login.spec.ts took 2.0m
|
🎭 Playwright Run Summary
4 passed (1.5m)
|
🎭 Playwright Run Summary
31 passed (3.5m)
|
🎭 Playwright Run Summary
1 flaky
basic.spec.ts:28:5 › new page ──────────────────────────────────────────────────────────────────
|
🎭 Playwright Run Summary
31 passed (3.8m)
|
🎭 Playwright Run Summary
3 flaky
local-first-workspace-list.spec.ts:31:5 › create one workspace in the workspace list ───────────
peek-view.spec.ts:62:5 › can open peek view via db+click link card ─────────────────────────────
peek-view.spec.ts:112:5 › can open peek view for embedded frames ───────────────────────────────
2 skipped
25 passed (3.9m)
|
🎭 Playwright Run Summary
1 skipped
2 passed (1.9m)
|
🎭 Playwright Run Summary
3 flaky
quick-search.spec.ts:168:5 › Create a new page and search this page ────────────────────────────
quick-search.spec.ts:434:5 › disable quick search when the link-popup is visitable ─────────────
quick-search.spec.ts:542:5 › can use slash menu to insert a newly created doc card ─────────────
27 passed (4.1m)
|
🎭 Playwright Run Summary
3 flaky
local-first-avatar.spec.ts:11:5 › should create a page with a local first avatar and remove it ─
local-first-collections-items.spec.ts:67:5 › Show collections items in sidebar ─────────────────
local-first-favorites-items.spec.ts:42:5 › Show favorite reference in sidebar ──────────────────
3 skipped
24 passed (4.7m)
|
🎭 Playwright Run Summary
5 passed (4.0m)
|
🎭 Playwright Run Summary
1 skipped
7 passed (5.9m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
affine.darwin-arm64.node
Expired
|
1.45 MB |
|
affine.darwin-x64.node
Expired
|
1.54 MB |
|
affine.linux-x64-gnu.node
Expired
|
1.57 MB |
|
affine.win32-x64-msvc.node
Expired
|
1.64 MB |
|
server-native.node
Expired
|
4.21 MB |
|
web
Expired
|
58.5 MB |
|