Skip to content

Fix sorting activities when they are grouped in either part grouping or livestreaming #2778

Fix sorting activities when they are grouped in either part grouping or livestreaming

Fix sorting activities when they are grouped in either part grouping or livestreaming #2778

Triggered via pull request November 20, 2025 02:42
@compulimcompulim
synchronize #5635
fix-sort
Status Failure
Total duration 15m 23s
Artifacts 3

pull-request-validation.yml

on: pull_request
Matrix: html-test
Merge test results
25s
Merge test results
Merge test snapshots
6s
Merge test snapshots
Fit to window
Zoom out
Zoom in

Annotations

65 errors and 3 warnings
Type definitions test
Process completed with exit code 1.
upserting activities which some with timestamp and some without › given an initial state › when upserting an activity with t=1000ms › when upserting an activity with t=undefined › then should have added to `activityMap`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:198:65 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting activities which some with timestamp and some without › given an initial state › when upserting an activity with t=1000ms › and `sortedActivities` should match: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:198:65 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting activities which some with timestamp and some without › given an initial state › when upserting an activity with t=1000ms › and should have added to `sortedChatHistoryList`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:198:65 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting activities which some with timestamp and some without › given an initial state › when upserting an activity with t=1000ms › then should have added to `activityMap`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:198:65 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › when another activity is upserted › and should match `sortedActivities` snapshot: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › when another activity is upserted › and should have added activity to `sortedChatHistoryList`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › when another activity is upserted › then should have added activity to `activityMap`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › and should match `sortedActivities` snapshot: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › and should have added activity to `sortedChatHistoryList`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
upserting 2 activities with timestamps › given an initial state › when upserted › then should have added activity to `activityMap`: packages/core/src/reducers/activities/sort/private/insertSorted.ts#L15
TypeError: sortedArray.toSpliced is not a function at toSpliced (packages/core/src/reducers/activities/sort/private/insertSorted.ts:15:22) at upsert (packages/core/src/reducers/activities/sort/upsert.ts:191:45) at packages/core/src/reducers/activities/sort/upsert.activity.spec.ts:47:38 at Object.<anonymous> (node_modules/@testduet/given-when-then/src/givenWhenThen.ts:288:25)
Static code analysis
Process completed with exit code 1.
Static code analysis
Cannot find module '../../reducers/sort/types' or its corresponding type declarations.
Static code analysis
Cannot find module '../../../types/GlobalScopePonyfill' or its corresponding type declarations.
Static code analysis
Unused '@ts-expect-error' directive.
Static code analysis
Unused '@ts-expect-error' directive.
HTML test (13/17)
Process completed with exit code 1.
Collapsible activity (fluent) › activity/collapsible.fluent.html: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:7d4edfea-c69d-4a51-a4de-36e3e4552f4e") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
› chatAdapter/sequenceId.directLine.outgoing.html: https://webchat2/__tests__/html2/chatAdapter/sequenceId.directLine.outgoing#L133
expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 1 Array [ - "User activity has timestamp of 1.", "Bot activity has timestamp of 2.", + "User activity has timestamp of 1.", "User activity has timestamp of 0.", ] at https:/webchat2/__tests__/html2/chatAdapter/sequenceId.directLine.outgoing:133:83
› typing/typingIndicator.scroll.html: https://webchat2/__tests__/html2/typing/typingIndicator.scroll#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator.scroll:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
HTML test (10/17)
Process completed with exit code 1.
› typing/typingIndicator.scroll.livestream.fluent.html: https://webchat2/__tests__/html2/typing/typingIndicator.scroll?livestream&theme=fluent#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator.scroll?livestream&theme=fluent:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
Collapsible activity (fluent: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:f4820b90-8c9d-42a0-b52b-3f28270a10b4") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
HTML test (11/17)
Process completed with exit code 1.
concludedLivestream (entity): redirects to ?streamingFormat=entity › livestream/concludedLivestream.entity.html: https://webchat2/__tests__/html2/livestream/concludedLivestream?streamingFormat=entity#L171
expect(received).toEqual(expected) // deep equality - Expected - 0 + Received + 1 Array [ Array [ "ratuo", Array [ "t-00001", + "t-00003", "t-00002", ], ], ] at https:/webchat2/__tests__/html2/livestream/concludedLivestream?streamingFormat=entity:171:43
raceBetweenLivestreamAndTypingIndicator (entity): redirects to ?streamingFormat=entity › livestream/raceBetweenLivestreamAndTypingIndicator.entity.html: https://webchat2/__tests__/html2/livestream/raceBetweenLivestreamAndTypingIndicator?streamingFormat=entity#L121
expect(received).toHaveLength(expected) Expected length: 1 Received length: 0 Received array: [] at https:/webchat2/__tests__/html2/livestream/raceBetweenLivestreamAndTypingIndicator?streamingFormat=entity:121:63 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
HTML test (6/17)
Process completed with exit code 1.
Collapsible activity (copilot-deprecated) › activity/collapsible.copilot-deprecated.html: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:eea7c364-d524-448a-821f-31ee229ca1c9") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
Activity render performance › does not produce unnecessary rerenders: packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.6762152777777778% different from snapshot (1558 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/__image_snapshots__/html/__diff_output__/render-activity-performance-js-activity-render-performance-does-not-produce-unnecessary-rerenders-1-snap-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (2/17)
Process completed with exit code 1.
Collapsible activity › activity/collapsible.html: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:f8abb7d9-f964-4142-9c27-2ab7b85ce7af") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
HTML test (8/17)
Process completed with exit code 1.
› livestream/activityOrder.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.31640625% different from snapshot (729 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/livestream/activityOrder.html.snap-1-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (5/17)
Process completed with exit code 1.
› typing/typingIndicator.scroll.fluent.copilot.html: https://webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent&variant=copilot#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent&variant=copilot:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
› typing/typingIndicator.scroll.fluent.copilot-deprecated.html: https://webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent&variant=copilot-deprecated#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent&variant=copilot-deprecated:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
simultaneous (entity): redirects to ?streamingFormat=entity › livestream/simultaneous.entity.html: https://webchat2/__tests__/html2/livestream/simultaneous?streamingFormat=entity#L242
expect(received).toHaveProperty(path, value) Expected path: "textContent" Expected value: "A quick brown fox jumped over the lazy dogs." Received value: "Falsches Üben von Xylophonmusik" at https:/webchat2/__tests__/html2/livestream/simultaneous?streamingFormat=entity:242:52
HTML test (14/17)
Process completed with exit code 1.
Collapsible activity (copilot: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:859b4fcd-ea51-48b8-8117-811d8e34be25") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
HTML test (16/17)
Process completed with exit code 1.
upload a file in Polish › should render properly: packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.5516493055555556% different from snapshot (1271 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/__image_snapshots__/html/__diff_output__/localization-file-upload-polish-js-upload-a-file-in-polish-should-render-properly-1-snap-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (4/17)
Process completed with exit code 1.
› typing/typingIndicator.fluent.html: https://webchat2/__tests__/html2/typing/typingIndicator?theme=fluent#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator?theme=fluent:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
› typing/typingIndicator.scroll.fluent.html: https://webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator.scroll?theme=fluent:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
› typing/typingIndicator.fluent.copilot-deprecated.html: https://webchat2/__tests__/html2/typing/typingIndicator?theme=fluent&variant=copilot-deprecated#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator?theme=fluent&variant=copilot-deprecated:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
Collapsible activity (copilot) › activity/collapsible.copilot.html: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:f3039ea5-388b-47e2-8fc6-b6807a2c9ad9") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
› accessibility/liveRegion/attachment/file.html: packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 2.8216145833333335% different from snapshot (6501 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/accessibility/liveRegion/attachment/file.html.snap-1-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
Part grouping: position › part-grouping/position.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.121002197265625% different from snapshot (793 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/part-grouping/position.html.snap-2-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (15/17)
Process completed with exit code 1.
› typing/typingIndicator.fluent.copilot.html: https://webchat2/__tests__/html2/typing/typingIndicator?theme=fluent&variant=copilot#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator?theme=fluent&variant=copilot:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
Collapsible activity (copilot: https://webchat2/__dist__/webchat-es5.js#L84
Cannot upsert a node multiple times in a single transaction (@id = "_:31500e4a-040b-43d2-b0c3-4e1816f11930") at Object.upsert (https:/webchat2/__dist__/webchat-es5.js:84:264704) at https:/webchat2/__dist__/webchat-es5.js:84:293027 at eIt.act (https:/webchat2/__dist__/webchat-es5.js:84:264533) at https:/webchat2/__dist__/webchat-es5.js:84:292502 at https:/webchat2/__dist__/webchat-es5.js:88:56211 at Map.forEach (<anonymous>) at d (https:/webchat2/__dist__/webchat-es5.js:88:56199) at https:/webchat2/__dist__/webchat-es5.js:107:3950 at https:/webchat2/test-page-object.js:12:209330 at https:/webchat2/test-page-object.js:12:209466
› 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 4.478298611111111% different from snapshot (10318 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityGrouping/activityGrouping.disableTimestamp.html.snap-3-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (17/17)
Process completed with exit code 1.
› typing/typingIndicator.shouldNotRevive.html: https://webchat2/test-page-object.js#L12
Timed out while waiting for page condition "typing indicator is hidden" after 5 seconds. at X (https:/webchat2/test-page-object.js:12:209087) at async https:/webchat2/__tests__/html2/typing/typingIndicator.shouldNotRevive:67:9
› 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 2.802951388888889% different from snapshot (12916 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/activityGrouping/activityGrouping.groupingActivityStatus.html.snap-1-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
› livestream/raceBetweenLivestreamAndTypingIndicator.html: https://webchat2/__tests__/html2/livestream/raceBetweenLivestreamAndTypingIndicator#L121
expect(received).toHaveLength(expected) Expected length: 1 Received length: 0 Received array: [] at https:/webchat2/__tests__/html2/livestream/raceBetweenLivestreamAndTypingIndicator:121:63 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
HTML test (12/17)
Process completed with exit code 1.
› livestream/concludedLivestream.html: https://webchat2/__tests__/html2/livestream/concludedLivestream#L171
expect(received).toEqual(expected) // deep equality - Expected - 0 + Received + 1 Array [ Array [ "grj07", Array [ "t-00001", + "t-00003", "t-00002", ], ], ] at https:/webchat2/__tests__/html2/livestream/concludedLivestream:171:43
HTML test (1/17)
Process completed with exit code 1.
activityOrder (entity): redirects to ?streamingFormat=entity › livestream/activityOrder.entity.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.31640625% different from snapshot (729 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/livestream/activityOrder.entity.html.snap-1-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
› typing/typingIndicator.html: https://webchat2/__tests__/html2/typing/typingIndicator#L98
expect(received).toBeTruthy() Received: null at https:/webchat2/__tests__/html2/typing/typingIndicator:98:68 at checkCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:113:24) at checkRealTimersCallback (https:/unpkg.com/@testduet/wait-for@0.1.1-main.3a4f261/dist/wait-for.mjs:107:16)
Part grouping: status › part-grouping/status.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.273895263671875% different from snapshot (1795 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/html2/part-grouping/status.html.snap-3-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
HTML test (7/17)
Process completed with exit code 1.
timestamp › send timeout for attachment should be different: packages/test/harness/src/host/common/host/done.js#L42
Expected image to match or be a close match to snapshot but was 0.55859375% different from snapshot (1287 differing pixels). See diff for details: /home/runner/work/BotFramework-WebChat/BotFramework-WebChat/__tests__/__image_snapshots__/html/__diff_output__/timestamp-attachment-send-timeout-js-timestamp-send-timeout-for-attachment-should-be-different-1-snap-diff.png at packages/test/harness/src/host/common/host/done.js:42:13 at node_modules/@babel/runtime/helpers/regeneratorRuntime.js:52:18 at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regenerator.js:52:51) at Generator.next (node_modules/@babel/runtime/helpers/regeneratorDefine.js:11:21) at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17) at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
› livestream/simultaneous.html: https://webchat2/__tests__/html2/livestream/simultaneous#L242
expect(received).toHaveProperty(path, value) Expected path: "textContent" Expected value: "A quick brown fox jumped over the lazy dogs." Received value: "Falsches Üben von Xylophonmusik" at https:/webchat2/__tests__/html2/livestream/simultaneous:242:52
HTML test (11/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 (5/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 (12/17)
No files were found with the provided path: ./__tests__/__image_snapshots__/*/__diff_output__/* ./__tests__/html2/**/*.snap-*-diff.png. No artifacts will be uploaded.

Artifacts

Produced during runtime
Name Size Digest
docker Expired
106 MB
sha256:fb41b34b6436ebffb1d59b6f022cda322ae05e1a3163f142cacf531d6949c25b
test-result Expired
1.85 MB
sha256:307147fd3ea86061cb99411f716517c50821953b6ff9edff3caaa1c3af19b012
test-snapshot-diff Expired
3.74 MB
sha256:eda4120c0c77798274c1b9632707c618c074c7dedbe436221da8b0c378ca0371