[WIP] Remove markdown-it
#3454
pull-request-validation.yml
on: pull_request
Build
5m 19s
Build samples
31s
Print commit stats
1m 3s
Matrix: Verify build-browser
Matrix: html-test
Merge test snapshots
5s
Merge test results
1m 23s
Annotations
46 errors, 30 warnings, and 1 notice
|
Static code analysis
Process completed with exit code 2.
|
|
Static code analysis
Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
|
|
HTML test (2/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side (dark): code block navigation (right) › html2/side-by-side/codeblock.navigation.dark.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596001268, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596001269, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/activityGrouping/activityGrouping.groupingActivityStatus.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 4.114583333333333% different from snapshot (18960 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityGrouping/activityGrouping.groupingActivityStatus.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/fluentTheme/telephoneKeypad.tap.html:
packages/test/harness/src/host/common/host/click.js#L3
TypeError: Cannot read properties of null (reading 'click')
at Object.click (../../packages/test/harness/src/host/common/host/click.js:3:20)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:49)
at invokeCallback (../../packages/test/harness/node_modules/src/lib/listener.ts:135:22)
at HostBridge.dispatchEvent (../../packages/test/harness/node_modules/src/lib/event-target.ts:260:17)
at HostBridge.start (../../packages/test/harness/src/host/common/createHostBridge.js:72:16)
|
|
HTML test (12/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side (dark): code block navigation (right) › html2/side-by-side/codeblock.custom-variant.navigation.dark.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778595966320, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778595966320, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (3/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side: code block navigation (right) › html2/side-by-side/codeblock.custom-variant.navigation.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778595976928, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778595976929, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/accessibility/liveRegion/activityStatus.sendFailed.contrast.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.6597222222222222% different from snapshot (1520 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/accessibility/liveRegion/activityStatus.sendFailed.contrast.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (17/17)
Process completed with exit code 1.
|
|
Fluent Theme fallback: uses fluent theme if present › html2/fluentTheme/fallback.html:
https://webchat2/__tests__/html2/fluentTheme/fallback#L135
expect(received).toBe(expected) // Object.is equality
Expected: null
Received: <body class="jest"><header style="color: transparent; height: 1px; overflow: hidden; position: absolute; top: 0px; white-space: nowrap; width: 1px;"><h1>Web Chat test</h1></header>
<main id="webchat"><div class="fui-FluentProvider fui-FluentProviderr0 ___jdtuxv0_17k0bs4 f19n0e5 fxugw4r f1o700av fk6fouc fkhj508 figsok6 f1i3iumi" dir="ltr"><div class="webchat-fluent theme wURQu3W_theme fluent" /></div></main>
<script type="module">
import { FluentProvider } from '@fluentui/react-provider';
import { createDarkTheme, webLightTheme } from '@fluentui/tokens';
import React from 'react';
import { createRoot } from 'react-dom/client';·
run(async function () {
const {
WebChat: { FluentThemeProvider, ReactWebChat }
} = window; // Imports in UMD fashion.·
const { directLine, store } = testHelpers.createDirectLineEmulator();·
const root = createRoot(document.getElementById('webchat'));·
const url = new URL(window.location.href);
const theme = url.searchParams.get('fluent-theme') ?? 'light';·
const customBrandRamp = {
10: '#124C32',
20: '#1A5B3E',
30: '#216A4A',
40: '#297956',
50: '#308861',
60: '#38976D',
70: '#40A779',
80: '#158051',
90: '#4FC590',
100: '#56D49C',
110: '#5EE3A8',
120: '#79E8B7',
130: '#94ECC5',
140: '#AFF1D3',
150: '#C9F6E2',
160: '#E4FAF1'
};·
const App = () => React.createElement(ReactWebChat, { directLine, store, styleOptions: { hideTelephoneKeypadButton: false } });·
const themes = {
'dark': createDarkTheme(customBrandRamp),
'light': webLightTheme,
};·
root.render(
React.createElement(FluentProvider, { theme: themes[theme] },
React.createElement(FluentThemeProvider, null,
React.createElement(App)
)
)
);·
await pageConditions.uiConnected();·
await directLine.emulateIncomingActivity(
'Eiusmod anim adipisicing cupidatat adipisicing officia sint qui consequat veniam id aute.'
);·
await pageConditions.numActivitiesShown(1);·
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTextBox}"]`).focus();·
await (await directLine.actPostActivity(() => host.sendKeys('Hello, World!\n'))).resolveAll();
await host.snapshot('local');·
await directLine.emulateIncomingActivity({
type: 'message',
textFormat: 'plain',
text: 'Please select one of the actions below',
suggestedActions: {
actions: [
{
image: `https://raw.githubusercontent.com/compulim/BotFramework-MockBot/master/public/assets/square-icon-purple.png`,
imageAltText: 'a purple square',
displayText: 'say Hello World!',
title: 'Message back as JSON with display text',
text: 'Some text',
type: 'messageBack',
value: {
hello: 'World!'
}
}
],
to: []
}
});
// THEN: Should send the activity.
await pageConditions.numActivitiesShown(3);
await pageConditions.allOutgoingActivitiesSent();
await host.snapshot('local');·
// WHEN: Telephone keypad button is clicked.
await host.click(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadToolbarButton}"]`)
);·
// THEN: Should show the telephone keypad with button "1" focused.
expect(document.activeElement).toBe(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadButton1}"]`)
);
await pageConditions.scrollToBottomCompleted();
await host.snapshot('local');·
// THEN: Close keypad
await host.click(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadToolbarButton}"]`)
);
|
|
HTML test (13/17)
Process completed with exit code 1.
|
|
› html2/transcript/activityStatus.intermediateSendFailed.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 3.6779513888888884% different from snapshot (8474 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/transcript/activityStatus.intermediateSendFailed.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/activity/viewCodeButton.scroll.html:
https://webchat2/test-page-object.js#L33
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 3
Received array: [{"level": "SEVERE", "message": "https://webchat2/test-page-object.js 3:17275 TypeError: i is not a function
at ../../https:/webchat2/test-page-object.js:33:2367
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/test-page-object.js:33:2764
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/__dist__/webchat-es5.js:91:295430
at Generator.return (<anonymous>)
at p (../../https:/webchat2/__dist__/webchat-es5.js:91:1296)
at Object.m [as cancel] (../../https:/webchat2/__dist__/webchat-es5.js:91:1150)", "timestamp": 1778595769706, "type": ""}, {"level": "SEVERE", "message": "https://unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js 116:149 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:205:23)
at useMemo (../../https:/unpkg.com/react@16.8.6/umd/react.production.min.js:31:253)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Td (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:82:11)
at be (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:91:479)
at og (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:91:309)
at ng (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:90:448)
at hi (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:109:154)
at Qg (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:144:293)", "timestamp": 1778595769708, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778595769708, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (7/17)
Process completed with exit code 1.
|
|
› html2/activity/behavior.copyCode.html:
https://webchat2/test-page-object.js#L32
Timed out while waiting for page condition "dialog to show up" after 1 seconds.
at Object.oe (../../https:/webchat2/test-page-object.js:32:56420)
|
|
HTML test (1/17)
Process completed with exit code 1.
|
|
› html2/activityGrouping/activityGrouping.disableTimestamp.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 15.522135416666666% different from snapshot (35763 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityGrouping/activityGrouping.disableTimestamp.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (5/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side: code block with dark theme navigation (right) › html2/side-by-side/codeblock-dark.navigation.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596037491, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596037491, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/fluentTheme/telephoneKeypad.customInputMessage.html:
undefined#L0
TypeError: Cannot read properties of null (reading 'focus')
|
|
› html2/offlineUI/fatalError.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.7057291666666666% different from snapshot (1626 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/offlineUI/fatalError.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (16/17)
Process completed with exit code 1.
|
|
› html2/timestamp/changeSendTimeout.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 1.0533854166666667% different from snapshot (2427 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/timestamp/changeSendTimeout.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/timestamp/attachmentSendTimeout.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 1.36328125% different from snapshot (3141 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/timestamp/attachmentSendTimeout.html.snap-3-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/activityStatus/activityStatus.sendFailed.noEchoBack.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.9149305555555556% different from snapshot (2108 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityStatus/activityStatus.sendFailed.noEchoBack.html.snap-2-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (9/17)
Process completed with exit code 1.
|
|
Fluent Theme fallback (dark): uses fluent theme if present › html2/fluentTheme/fallback.dark.html:
https://webchat2/__tests__/html2/fluentTheme/fallback?fluent-theme=dark#L135
expect(received).toBe(expected) // Object.is equality
Expected: null
Received: <body class="jest"><header style="color: transparent; height: 1px; overflow: hidden; position: absolute; top: 0px; white-space: nowrap; width: 1px;"><h1>Web Chat test</h1></header>
<main id="webchat"><div class="fui-FluentProvider fui-FluentProviderr0 ___jdtuxv0_17k0bs4 f19n0e5 fxugw4r f1o700av fk6fouc fkhj508 figsok6 f1i3iumi" dir="ltr"><div class="webchat-fluent theme wURQu3W_theme fluent" /></div></main>
<script type="module">
import { FluentProvider } from '@fluentui/react-provider';
import { createDarkTheme, webLightTheme } from '@fluentui/tokens';
import React from 'react';
import { createRoot } from 'react-dom/client';·
run(async function () {
const {
WebChat: { FluentThemeProvider, ReactWebChat }
} = window; // Imports in UMD fashion.·
const { directLine, store } = testHelpers.createDirectLineEmulator();·
const root = createRoot(document.getElementById('webchat'));·
const url = new URL(window.location.href);
const theme = url.searchParams.get('fluent-theme') ?? 'light';·
const customBrandRamp = {
10: '#124C32',
20: '#1A5B3E',
30: '#216A4A',
40: '#297956',
50: '#308861',
60: '#38976D',
70: '#40A779',
80: '#158051',
90: '#4FC590',
100: '#56D49C',
110: '#5EE3A8',
120: '#79E8B7',
130: '#94ECC5',
140: '#AFF1D3',
150: '#C9F6E2',
160: '#E4FAF1'
};·
const App = () => React.createElement(ReactWebChat, { directLine, store, styleOptions: { hideTelephoneKeypadButton: false } });·
const themes = {
'dark': createDarkTheme(customBrandRamp),
'light': webLightTheme,
};·
root.render(
React.createElement(FluentProvider, { theme: themes[theme] },
React.createElement(FluentThemeProvider, null,
React.createElement(App)
)
)
);·
await pageConditions.uiConnected();·
await directLine.emulateIncomingActivity(
'Eiusmod anim adipisicing cupidatat adipisicing officia sint qui consequat veniam id aute.'
);·
await pageConditions.numActivitiesShown(1);·
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTextBox}"]`).focus();·
await (await directLine.actPostActivity(() => host.sendKeys('Hello, World!\n'))).resolveAll();
await host.snapshot('local');·
await directLine.emulateIncomingActivity({
type: 'message',
textFormat: 'plain',
text: 'Please select one of the actions below',
suggestedActions: {
actions: [
{
image: `https://raw.githubusercontent.com/compulim/BotFramework-MockBot/master/public/assets/square-icon-purple.png`,
imageAltText: 'a purple square',
displayText: 'say Hello World!',
title: 'Message back as JSON with display text',
text: 'Some text',
type: 'messageBack',
value: {
hello: 'World!'
}
}
],
to: []
}
});
// THEN: Should send the activity.
await pageConditions.numActivitiesShown(3);
await pageConditions.allOutgoingActivitiesSent();
await host.snapshot('local');·
// WHEN: Telephone keypad button is clicked.
await host.click(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadToolbarButton}"]`)
);·
// THEN: Should show the telephone keypad with button "1" focused.
expect(document.activeElement).toBe(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadButton1}"]`)
);
await pageConditions.scrollToBottomCompleted();
await host.snapshot('local');·
// THEN: Close keypad
await host.click(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadToolbarButton}"]`)
);
|
|
Two Chat panes side-by-side: code block navigation (right) › html2/side-by-side/codeblock.navigation.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596032490, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596032490, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (10/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side (dark): code block with dark theme navigation (right) › html2/side-by-side/codeblock-dark.custom-variant.navigation.dark.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596058042, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596058042, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/activity/viewCodeButton.html:
https://webchat2/test-page-object.js#L33
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 3
Received array: [{"level": "SEVERE", "message": "https://webchat2/test-page-object.js 3:17275 TypeError: i is not a function
at ../../https:/webchat2/test-page-object.js:33:2367
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/test-page-object.js:33:2764
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/__dist__/webchat-es5.js:91:295430
at Generator.return (<anonymous>)
at p (../../https:/webchat2/__dist__/webchat-es5.js:91:1296)
at Object.m [as cancel] (../../https:/webchat2/__dist__/webchat-es5.js:91:1150)", "timestamp": 1778595823641, "type": ""}, {"level": "SEVERE", "message": "https://unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js 116:149 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:205:23)
at useMemo (../../https:/unpkg.com/react@16.8.6/umd/react.production.min.js:31:253)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Td (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:82:11)
at be (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:91:479)
at og (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:91:309)
at ng (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:90:448)
at hi (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:109:154)
at Qg (../../https:/unpkg.com/react-dom@16.8.6/umd/react-dom.production.min.js:144:293)", "timestamp": 1778595823643, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778595823643, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (6/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side (dark): code block with dark theme navigation (right) › html2/side-by-side/codeblock-dark.navigation.dark.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596082734, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596082734, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/fluentTheme/telephoneKeypad.showHide.html:
undefined#L0
expect(received).toBe(expected) // Object.is equality
Expected: null
Received: <body class="jest"><header style="color: transparent; height: 1px; overflow: hidden; position: absolute; top: 0px; white-space: nowrap; width: 1px;"><h1>Web Chat test</h1></header>
<main id="webchat"><div class="webchat-fluent theme wURQu3W_theme fluent" /></main>
<script type="text/babel">
run(async function () {
const {
React,
ReactDOM: { render },
WebChat: { FluentThemeProvider, ReactWebChat }
} = window; // Imports in UMD fashion.·
const { directLine, store } = testHelpers.createDirectLineEmulator();·
const App = () => (
<ReactWebChat directLine={directLine} store={store} styleOptions={{ hideTelephoneKeypadButton: false }} />
);·
render(
<FluentThemeProvider>
<App />
</FluentThemeProvider>,
document.getElementById('webchat')
);·
await pageConditions.uiConnected();·
await directLine.emulateIncomingActivity(
'Eiusmod anim adipisicing cupidatat adipisicing officia sint qui consequat veniam id aute.'
);·
await pageConditions.numActivitiesShown(1);·
// WHEN: Telephone keypad button is clicked.
await host.click(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadToolbarButton}"]`)
);·
// THEN: Should show the telephone keypad with button "1" focused.
expect(document.activeElement).toBe(
document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTelephoneKeypadButton1}"]`)
);
await pageConditions.scrollToBottomCompleted();
await host.snapshot('local');·
// WHEN: ESCAPE key is pressed.
await host.sendKeys('ESCAPE');·
// THEN: Focus should send back to the text box.·
// Commented out because it is not working today.
// expect(document.activeElement).toBe(
// document.querySelector(`[data-testid="${WebChat.testIds.sendBoxTextBox}"]`)
// );·
await host.snapshot('local');
});
</script>····
</body>
|
|
› html2/activityStatus/activityStatus.sendFailed.postActivity.error.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.9149305555555556% different from snapshot (2108 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityStatus/activityStatus.sendFailed.postActivity.error.html.snap-2-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/speechToSpeech/dtmf.input.html:
https://webchat2/test-page-object.js#L32
Timed out while waiting for page condition "Keypad opened" after 1 seconds.
at Object.oe (../../https:/webchat2/test-page-object.js:32:56420)
at ../../async <anonymous>:74:3
|
|
HTML test (8/17)
Process completed with exit code 1.
|
|
› html2/hooks/useCreateActivityStatusRenderer.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.70703125% different from snapshot (1629 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/hooks/useCreateActivityStatusRenderer.html.snap-1-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
› html2/preact/activity/viewCodeButton.html:
https://webchat2/test-page-object.js#L33
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778595926308, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/test-page-object.js 3:17275 TypeError: i is not a function
at ../../https:/webchat2/test-page-object.js:33:2367
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/test-page-object.js:33:2764
at Spe.clean (../../https:/webchat2/test-page-object.js:7:74536)
at Zx.unsubscribe (../../https:/webchat2/test-page-object.js:7:75138)
at ../../https:/webchat2/__dist__/webchat-es5.js:91:295430
at Generator.return (<anonymous>)
at p (../../https:/webchat2/__dist__/webchat-es5.js:91:1296)
at Object.m [as cancel] (../../https:/webchat2/__dist__/webchat-es5.js:91:1150)", "timestamp": 1778595926318, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (15/17)
Process completed with exit code 1.
|
|
› html2/activityStatus/activityStatus.sendFailed.postActivity.noReturnValue.html:
packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.9149305555555556% different from snapshot (2108 differing pixels).
See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityStatus/activityStatus.sendFailed.postActivity.noReturnValue.html.snap-2-diff.png
at Object.done (../../packages/test/harness/src/host/common/host/done.js:42:13)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
HTML test (11/17)
Process completed with exit code 1.
|
|
Two Chat panes side-by-side: code block with dark theme navigation (right) › html2/side-by-side/codeblock-dark.custom-variant.navigation.html:
https://webchat2/__dist__/webchat-es5.js#L97
expect(received).toHaveLength(expected)
Expected length: 0
Received length: 2
Received array: [{"level": "SEVERE", "message": "https://esm.sh/react-dom@18.3.1/es2022/react-dom.mjs 9:160 TypeError: c is not iterable (cannot read property undefined)
at ../../https:/webchat2/__dist__/webchat-es5.js:97:299186
at Object.useMemo (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:23236)
at r.useMemo (../../https:/esm.sh/react@18.3.1/es2022/react.mjs:2:6628)
at XNr (../../https:/webchat2/__dist__/webchat-es5.js:97:298977)
at Hi (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:8:16968)
at ni (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:3150)
at As (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:2362)
at bu (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:1895)
at ua (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:47285)
at ra (../../https:/esm.sh/react-dom@18.3.1/es2022/react-dom.mjs:10:39718)", "timestamp": 1778596419250, "type": ""}, {"level": "SEVERE", "message": "https://webchat2/__dist__/webchat-es5.js 90:1833618 \"botframework-webchat: Uncaught exception\" Object", "timestamp": 1778596419250, "type": ""}]
at Object.done (../../packages/test/harness/src/host/common/host/done.js:35:30)
at HostBridge.<anonymous> (../../packages/test/harness/src/common/rpc.js:33:31)
|
|
Verify build-browser (macos-26)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Verify build-browser (windows-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build samples
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Verify build-browser (ubuntu-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Print commit stats
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Type definitions test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Static code analysis
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (2/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (12/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (3/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (17/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (17/17)
No files were found with the provided path: ./__tests__/__image_snapshots__/*/__diff_output__/*
./__tests__/html2/**/*.snap-*-diff.png. No artifacts will be uploaded.
|
|
HTML test (13/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (7/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (7/17)
No files were found with the provided path: ./__tests__/__image_snapshots__/*/__diff_output__/*
./__tests__/html2/**/*.snap-*-diff.png. No artifacts will be uploaded.
|
|
HTML test (4/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (1/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (5/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (16/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (14/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (9/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (10/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (6/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (8/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (15/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
HTML test (11/17)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Merge test snapshots
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/upload-artifact/merge@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Merge test results
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/upload-artifact/merge@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Verify build-browser (windows-latest)
NOTICE: windows-2025 requests are being redirected to windows-2025-vs2026 by May 12, 2026
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
docker
Expired
|
131 MB |
sha256:37ad87707b948a5741ca49d207b13b795b5d048aff4c6a90cfe6318b0e84a495
|
|
|
tarballs
Expired
|
39 MB |
sha256:67a235f7ed0567bfc0956e6760b0452060e43080b1033b67a6e1f19b167dfe49
|
|
|
test-result
|
1.61 MB |
sha256:a2dafc15f68a0ab1d2d925edb6d46c96317acfb2727bd7b3344211b93d04aa72
|
|
|
test-snapshot-diff
|
29.7 MB |
sha256:10d4a9c980d37b2517e4454a4e62ee37f9394f9106621cd773c9b51705fcfaf3
|
|