Skip to content

Allow Users to delete messages if sender is a bot, add optional bot bool to user models #163

Allow Users to delete messages if sender is a bot, add optional bot bool to user models

Allow Users to delete messages if sender is a bot, add optional bot bool to user models #163

Triggered via pull request April 21, 2025 20:08
Status Success
Total duration 9m 41s
Artifacts 2

ui-tests.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

8 errors and 2 notices
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: ui-tests/tests/chat-file.spec.ts#L1
1) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Test timeout of 60000ms exceeded.
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: ui-tests/tests/chat-file.spec.ts#L32
1) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Error: proxy.evaluate: Target page, context or browser has been closed 30 | filename: string 31 | ): Promise<Contents.IModel> => { > 32 | return await page.evaluate(async filepath => { | ^ 33 | return await window.jupyterapp.serviceManager.contents.get(filepath); 34 | }, filename); 35 | }; at readFileContent (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/chat-file.spec.ts:32:21) at hasId (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/chat-file.spec.ts:173:27) at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: ui-tests/tests/chat-file.spec.ts#L174
1) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── SyntaxError: Unexpected end of JSON input 172 | const hasId = async () => { 173 | const model = await readFileContent(page, FILENAME); > 174 | const content = JSON.parse(model.content) as ReadonlyJSONObject; | ^ 175 | return ( 176 | content.metadata !== undefined && 177 | (content.metadata as ReadonlyJSONObject).id !== undefined at hasId (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/chat-file.spec.ts:174:28) at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:11)
tests/side-panel.spec.ts:191:9 › #sidepanel › #openingClosing › should list existing chat in default directory: ui-tests/tests/side-panel.spec.ts#L243
2) tests/side-panel.spec.ts:191:9 › #sidepanel › #openingClosing › should list existing chat in default directory Error: Timed out 5000ms waiting for expect(locator).toHaveCount(expected) Locator: locator('.jp-SidePanel.jp-lab-chat-sidepanel').first().locator('.jp-SidePanel-toolbar .jp-Toolbar-item.jp-lab-chat-open select').locator('option') Expected: 2 Received: 1 Call log: - expect.toHaveCount with timeout 5000ms - waiting for locator('.jp-SidePanel.jp-lab-chat-sidepanel').first().locator('.jp-SidePanel-toolbar .jp-Toolbar-item.jp-lab-chat-open select').locator('option') - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" 241 | ); 242 | > 243 | await expect(select.locator('option')).toHaveCount(2); | ^ 244 | await expect(select.locator('option').last()).toHaveText(name); 245 | }); 246 | }); at /home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/side-panel.spec.ts:243:46
tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user: ui-tests/tests/ui-config.spec.ts#L1
3) tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user ────────────── Test timeout of 60000ms exceeded.
tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user: ui-tests/tests/test-utils.ts#L51
3) tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user ────────────── Error: locator.isChecked: Target page, context or browser has been closed at tests/test-utils.ts:51 49 | const tabName = splitPath[splitPath.length - 1]; 50 | await page.waitForCondition( > 51 | async () => await page.activity.isTabActive(tabName) | ^ 52 | ); 53 | panel = await page.activity.getPanelLocator(tabName); 54 | at Object.isInSimpleMode (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:311:17) at ActivityHelper.isTabActive (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/helpers/activity.ts:46:21) at /home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/test-utils.ts:51:37 at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user: ui-tests/tests/ui-config.spec.ts#L1
3) tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user: ui-tests/tests/test-utils.ts#L51
3) tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.isChecked: Test timeout of 60000ms exceeded. Call log: - waiting for getByRole('switch', { name: 'Simple' }) at tests/test-utils.ts:51 49 | const tabName = splitPath[splitPath.length - 1]; 50 | await page.waitForCondition( > 51 | async () => await page.activity.isTabActive(tabName) | ^ 52 | ); 53 | panel = await page.activity.getPanelLocator(tabName); 54 | at Object.isInSimpleMode (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:311:17) at ActivityHelper.isTabActive (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/helpers/activity.ts:46:21) at /home/runner/work/jupyter-chat/jupyter-chat/ui-tests/tests/test-utils.ts:51:37 at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
🎭 Playwright Run Summary
2 passed (12.3s)
🎭 Playwright Run Summary
3 flaky tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ───────────────── tests/side-panel.spec.ts:191:9 › #sidepanel › #openingClosing › should list existing chat in default directory tests/ui-config.spec.ts:198:7 › #typingNotification › should display typing user ─────────────── 1 skipped 84 passed (6.2m)

Artifacts

Produced during runtime
Name Size Digest
integration-jupyterlab Expired
10.9 MB
sha256:2537752551269cc1798d53c5fe02d6bd8fc33c54596b7e01aa8480ce59422293
integration-notebook Expired
189 KB
sha256:2220849b65875287324735bb7c600ef0e4a3d55cca4f2985d50543088bde1716