From a1c65064bb407f3e1c46ed0b147efe32aaf379f2 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 01:02:52 +0530 Subject: [PATCH 01/20] Retry Xeus 4.3.4 --- lite/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lite/requirements.txt b/lite/requirements.txt index 8a4fda79..d481df07 100644 --- a/lite/requirements.txt +++ b/lite/requirements.txt @@ -1,3 +1,3 @@ jupyterlite==0.7.0 jupyterlite-pyodide-kernel==0.7 -jupyterlite-xeus==4.2.0 +jupyterlite-xeus==4.3.4 From f9902e7fc8154b33e084e84a96c2b148e8efcffb Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 02:01:05 +0530 Subject: [PATCH 02/20] Try removing insert-cell-below call to address crash --- ui-tests/tests/jupytereverywhere.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 195ea69f..92d549c9 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1049,7 +1049,6 @@ test('Should switch to R kernel and run R code', async ({ page }) => { await runCommand(page, 'jupytereverywhere:switch-kernel', { kernel: 'xr' }); await page.waitForTimeout(10000); - await runCommand(page, 'notebook:insert-cell-below'); const code = 'lm(mpg ~ wt + hp + disp + cyl, data=mtcars)'; const cell = page.locator('.jp-Cell').last(); From 4dd338150d24ce4a7b1f7c0c75b505ecf3fcc8c7 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 02:06:22 +0530 Subject: [PATCH 03/20] Select first cell instead of last --- ui-tests/tests/jupytereverywhere.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 92d549c9..92b11f0e 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1051,7 +1051,7 @@ test('Should switch to R kernel and run R code', async ({ page }) => { await page.waitForTimeout(10000); const code = 'lm(mpg ~ wt + hp + disp + cyl, data=mtcars)'; - const cell = page.locator('.jp-Cell').last(); + const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); await runCommand(page, 'notebook:run-cell'); @@ -1077,7 +1077,7 @@ test.describe('Kernel networking', () => { await page.waitForSelector('.jp-NotebookPanel'); const code = `read.csv("${remoteUrl}")`; - const cell = page.locator('.jp-Cell').last(); + const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); await runCommand(page, 'notebook:run-cell'); From 19253876125c5130aa09df4c9231f6227cde6130 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 02:22:23 +0530 Subject: [PATCH 04/20] Run code with cell button instead of command --- ui-tests/tests/jupytereverywhere.spec.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 92b11f0e..02310bba 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1054,7 +1054,8 @@ test('Should switch to R kernel and run R code', async ({ page }) => { const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); - await runCommand(page, 'notebook:run-cell'); + const runBtn = cell.locator('.je-cell-run-button'); + await runBtn.click(); const output = cell.locator('.jp-Cell-outputArea'); await expect(output).toBeVisible({ @@ -1080,7 +1081,8 @@ test.describe('Kernel networking', () => { const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); - await runCommand(page, 'notebook:run-cell'); + const runBtn = cell.locator('.je-cell-run-button'); + await runBtn.click(); const output = cell.locator('.jp-Cell-outputArea'); await expect(output).toBeVisible({ From 668d2f72ee6edcc5a78a3d4a795789d0411eb4e5 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 02:41:55 +0530 Subject: [PATCH 05/20] What if we skip the test that crashes? --- ui-tests/tests/jupytereverywhere.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 02310bba..db7fb4cd 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1043,7 +1043,7 @@ test.describe('Kernel Switching', () => { }); }); -test('Should switch to R kernel and run R code', async ({ page }) => { +test.skip('Should switch to R kernel and run R code', async ({ page }) => { await page.goto('lab/index.html'); await page.waitForSelector('.jp-NotebookPanel'); From d547c1ff246a025cb32db3148d71340f9f0480e2 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:25:14 +0530 Subject: [PATCH 06/20] Try to run tests outside Python's `http.server` --- ui-tests/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 467d7f38..f5dc5399 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,12 +4,13 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "cd ../dist && python -m http.server -b 127.0.0.1 3000", + "start": "npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ../dist", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, "devDependencies": { "@jupyterlab/application": "^4.5.0-beta.1", - "@playwright/test": "^1.57.0" + "@playwright/test": "^1.57.0", + "static-handler": "^0.4.1" } } From 2ad6306189c34c9a3a76c34cb6cd9ad29ed8dbc5 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:26:14 +0530 Subject: [PATCH 07/20] Revert "What if we skip the test that crashes?" This reverts commit 668d2f72ee6edcc5a78a3d4a795789d0411eb4e5. --- ui-tests/tests/jupytereverywhere.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index db7fb4cd..02310bba 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1043,7 +1043,7 @@ test.describe('Kernel Switching', () => { }); }); -test.skip('Should switch to R kernel and run R code', async ({ page }) => { +test('Should switch to R kernel and run R code', async ({ page }) => { await page.goto('lab/index.html'); await page.waitForSelector('.jp-NotebookPanel'); From 731794020b0a5c20db2067bc9c07ff85fef2856a Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:26:17 +0530 Subject: [PATCH 08/20] Revert "Run code with cell button instead of command" This reverts commit 19253876125c5130aa09df4c9231f6227cde6130. --- ui-tests/tests/jupytereverywhere.spec.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 02310bba..92b11f0e 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1054,8 +1054,7 @@ test('Should switch to R kernel and run R code', async ({ page }) => { const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); - const runBtn = cell.locator('.je-cell-run-button'); - await runBtn.click(); + await runCommand(page, 'notebook:run-cell'); const output = cell.locator('.jp-Cell-outputArea'); await expect(output).toBeVisible({ @@ -1081,8 +1080,7 @@ test.describe('Kernel networking', () => { const cell = page.locator('.jp-Cell').first(); await cell.getByRole('textbox').fill(code); - const runBtn = cell.locator('.je-cell-run-button'); - await runBtn.click(); + await runCommand(page, 'notebook:run-cell'); const output = cell.locator('.jp-Cell-outputArea'); await expect(output).toBeVisible({ From eeceb95c78db6a9380f126ca3ff3cda40f1c151a Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:26:21 +0530 Subject: [PATCH 09/20] Revert "Select first cell instead of last" This reverts commit 4dd338150d24ce4a7b1f7c0c75b505ecf3fcc8c7. --- ui-tests/tests/jupytereverywhere.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 92b11f0e..92d549c9 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1051,7 +1051,7 @@ test('Should switch to R kernel and run R code', async ({ page }) => { await page.waitForTimeout(10000); const code = 'lm(mpg ~ wt + hp + disp + cyl, data=mtcars)'; - const cell = page.locator('.jp-Cell').first(); + const cell = page.locator('.jp-Cell').last(); await cell.getByRole('textbox').fill(code); await runCommand(page, 'notebook:run-cell'); @@ -1077,7 +1077,7 @@ test.describe('Kernel networking', () => { await page.waitForSelector('.jp-NotebookPanel'); const code = `read.csv("${remoteUrl}")`; - const cell = page.locator('.jp-Cell').first(); + const cell = page.locator('.jp-Cell').last(); await cell.getByRole('textbox').fill(code); await runCommand(page, 'notebook:run-cell'); From f6a0b8b6b6f936ab7657bfbfe8d6b60ddb662511 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:37:46 +0530 Subject: [PATCH 10/20] Try again with new path --- ui-tests/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index f5dc5399..92cc13e9 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,7 +4,7 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ../dist", + "start": "cd ../dist && npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ./", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, From b353ea5fb3d1295152c80f534b77962476460e5d Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 03:42:42 +0530 Subject: [PATCH 11/20] Try again --- ui-tests/package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 92cc13e9..6ef5459d 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,13 +4,12 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "cd ../dist && npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ./", + "start": "cd ../dist && npx static-handler --coi -p 3000 ./", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, "devDependencies": { "@jupyterlab/application": "^4.5.0-beta.1", - "@playwright/test": "^1.57.0", - "static-handler": "^0.4.1" + "@playwright/test": "^1.57.0" } } From ca8a86cadc68a34d861f3b2f35a2a5224687bd9c Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:02:09 +0530 Subject: [PATCH 12/20] Revert "Try again" This reverts commit b353ea5fb3d1295152c80f534b77962476460e5d. --- ui-tests/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 6ef5459d..92cc13e9 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,12 +4,13 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "cd ../dist && npx static-handler --coi -p 3000 ./", + "start": "cd ../dist && npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ./", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, "devDependencies": { "@jupyterlab/application": "^4.5.0-beta.1", - "@playwright/test": "^1.57.0" + "@playwright/test": "^1.57.0", + "static-handler": "^0.4.1" } } From 23c49c5b7025985a51dd08ba579d03cfba2f64e0 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:02:12 +0530 Subject: [PATCH 13/20] Revert "Try again with new path" This reverts commit f6a0b8b6b6f936ab7657bfbfe8d6b60ddb662511. --- ui-tests/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 92cc13e9..f5dc5399 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,7 +4,7 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "cd ../dist && npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ./", + "start": "npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ../dist", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, From 72da918ab865ed2c617ea22d3c20a1f0c5515542 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:02:18 +0530 Subject: [PATCH 14/20] Revert "Try to run tests outside Python's `http.server`" This reverts commit d547c1ff246a025cb32db3148d71340f9f0480e2. --- ui-tests/package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index f5dc5399..467d7f38 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -4,13 +4,12 @@ "description": "Jupyter Everywhere Integration Tests", "private": true, "scripts": { - "start": "npx static-handler --cors --coop --coep --corp --port 3000 --host 127.0.0.1 ../dist", + "start": "cd ../dist && python -m http.server -b 127.0.0.1 3000", "test": "jlpm playwright test", "test:update": "jlpm playwright test --update-snapshots" }, "devDependencies": { "@jupyterlab/application": "^4.5.0-beta.1", - "@playwright/test": "^1.57.0", - "static-handler": "^0.4.1" + "@playwright/test": "^1.57.0" } } From c4e221f7a3ad0122ba938ddef9378153362c3091 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:01:48 +0530 Subject: [PATCH 15/20] More logging... --- ui-tests/playwright.config.js | 7 ++++- ui-tests/tests/jupytereverywhere.spec.ts | 38 ++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/ui-tests/playwright.config.js b/ui-tests/playwright.config.js index be93efbd..e537a61c 100644 --- a/ui-tests/playwright.config.js +++ b/ui-tests/playwright.config.js @@ -15,7 +15,12 @@ module.exports = { autoGoto: false, baseURL: 'http://localhost:3000', trace: 'retain-on-failure', - video: 'retain-on-failure' + video: 'retain-on-failure', + screenshot: 'only-on-failure', + // Capture browser console logs + launchOptions: { + args: process.env.CI ? ['--disable-dev-shm-usage'] : [] + } }, webServer: { command: 'jlpm start', diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index 92d549c9..d8c75e21 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1044,6 +1044,25 @@ test.describe('Kernel Switching', () => { }); test('Should switch to R kernel and run R code', async ({ page }) => { + const consoleMessages: string[] = []; + const pageErrors: string[] = []; + + page.on('console', msg => { + const text = `[${msg.type()}] ${msg.text()}`; + consoleMessages.push(text); + console.log(text); + }); + + page.on('pageerror', error => { + const errorText = `Page error: ${error.message}\n${error.stack}`; + pageErrors.push(errorText); + console.error(errorText); + }); + + page.on('crash', () => { + console.error('PAGE CRASHED!'); + }); + await page.goto('lab/index.html'); await page.waitForSelector('.jp-NotebookPanel'); @@ -1073,6 +1092,25 @@ test.describe('Kernel networking', () => { const expectedContent = 'col1'; test('R kernel should be able to fetch from a remote URL', async ({ page }) => { + const consoleMessages: string[] = []; + const pageErrors: string[] = []; + + page.on('console', msg => { + const text = `[${msg.type()}] ${msg.text()}`; + consoleMessages.push(text); + console.log(text); + }); + + page.on('pageerror', error => { + const errorText = `Page error: ${error.message}\n${error.stack}`; + pageErrors.push(errorText); + console.error(errorText); + }); + + page.on('crash', () => { + console.error('PAGE CRASHED!'); + }); + await page.goto('lab/index.html?kernel=r'); await page.waitForSelector('.jp-NotebookPanel'); From 732434d8d378d6ce68e068cbbef3ffad09b5e936 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:27:34 +0530 Subject: [PATCH 16/20] Try one more time --- ui-tests/tests/jupytereverywhere.spec.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui-tests/tests/jupytereverywhere.spec.ts b/ui-tests/tests/jupytereverywhere.spec.ts index d8c75e21..b253fbed 100644 --- a/ui-tests/tests/jupytereverywhere.spec.ts +++ b/ui-tests/tests/jupytereverywhere.spec.ts @@ -1066,8 +1066,11 @@ test('Should switch to R kernel and run R code', async ({ page }) => { await page.goto('lab/index.html'); await page.waitForSelector('.jp-NotebookPanel'); + // Wait for Python kernel to fully initialise + await page.waitForTimeout(30000); + await runCommand(page, 'jupytereverywhere:switch-kernel', { kernel: 'xr' }); - await page.waitForTimeout(10000); + await page.waitForTimeout(30000); const code = 'lm(mpg ~ wt + hp + disp + cyl, data=mtcars)'; const cell = page.locator('.jp-Cell').last(); From 879e31e57dc8d3a8af7946d65e67a66242a5faed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Krassowski?= <5832902+krassowski@users.noreply.github.com> Date: Mon, 15 Dec 2025 14:44:44 +0000 Subject: [PATCH 17/20] Try latest --- lite/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lite/requirements.txt b/lite/requirements.txt index d481df07..d8e91574 100644 --- a/lite/requirements.txt +++ b/lite/requirements.txt @@ -1,3 +1,3 @@ jupyterlite==0.7.0 jupyterlite-pyodide-kernel==0.7 -jupyterlite-xeus==4.3.4 +jupyterlite-xeus==4.3.6 From 9bf08822d26704b348a9524585dcd62b0b518960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Krassowski?= <5832902+krassowski@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:10:00 +0000 Subject: [PATCH 18/20] Try 4.2.2 --- lite/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lite/requirements.txt b/lite/requirements.txt index d8e91574..291ef1d1 100644 --- a/lite/requirements.txt +++ b/lite/requirements.txt @@ -1,3 +1,3 @@ jupyterlite==0.7.0 jupyterlite-pyodide-kernel==0.7 -jupyterlite-xeus==4.3.6 +jupyterlite-xeus==4.2.2 From 708f4dbc9ad4b1797fac8dbf05d63ce5fb8a40b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Krassowski?= <5832902+krassowski@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:36:44 +0000 Subject: [PATCH 19/20] 4.2.1 --- lite/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lite/requirements.txt b/lite/requirements.txt index 291ef1d1..ec7f264f 100644 --- a/lite/requirements.txt +++ b/lite/requirements.txt @@ -1,3 +1,3 @@ jupyterlite==0.7.0 jupyterlite-pyodide-kernel==0.7 -jupyterlite-xeus==4.2.2 +jupyterlite-xeus==4.2.1 From a14858e87b55d1a118d5323a31f163f016bdf40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Krassowski?= <5832902+krassowski@users.noreply.github.com> Date: Mon, 15 Dec 2025 16:02:30 +0000 Subject: [PATCH 20/20] 4.2.0 --- lite/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lite/requirements.txt b/lite/requirements.txt index ec7f264f..8a4fda79 100644 --- a/lite/requirements.txt +++ b/lite/requirements.txt @@ -1,3 +1,3 @@ jupyterlite==0.7.0 jupyterlite-pyodide-kernel==0.7 -jupyterlite-xeus==4.2.1 +jupyterlite-xeus==4.2.0