Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
669c4d2
Move from propTypes to valibot
compulim May 11, 2025
9e62dac
Fix mark activity as spoken
compulim May 11, 2025
4e33cb6
Fix flaky tests
compulim May 11, 2025
c92322f
Fix hero card
compulim May 11, 2025
9a11953
Fix disabled props
compulim May 11, 2025
27be0ae
Fix optional image
compulim May 11, 2025
a8a11fe
Fix object in props
compulim May 11, 2025
a293290
Fix test
compulim May 11, 2025
01a076f
Relax valibot restriction
compulim May 11, 2025
2a15009
Fix TypeScript default
compulim May 11, 2025
645a86b
Allow date/number/string for Timestamp
compulim May 11, 2025
af98b8c
Allow value of any
compulim May 11, 2025
e001684
Upgrade test
compulim May 12, 2025
c4cee6b
Upgrade tests
compulim May 12, 2025
fa759fe
Add simple offline test sample
compulim May 12, 2025
af88bcb
Print ValiError
compulim May 12, 2025
de2b811
Print ValiError with prefix
compulim May 12, 2025
c3ca1e1
Allow alt to be optional
compulim May 12, 2025
5966de0
Add TODO
compulim May 12, 2025
9b8e692
Fully upgrade bubbleNub test
compulim May 12, 2025
5b298c5
Fix flakiness
compulim May 12, 2025
f467834
Move to validateProps
compulim May 12, 2025
a9c0f03
Remove default value from optional()
compulim May 12, 2025
7d298d4
Remove remaining default value
compulim May 12, 2025
c070f84
Use strict isolation mode for fallback
compulim May 12, 2025
cc23408
Validate props
compulim May 12, 2025
766f2cc
Validate props
compulim May 12, 2025
37503cc
Validate props
compulim May 12, 2025
1f5ccde
Validate props
compulim May 12, 2025
4703e18
Validate props
compulim May 12, 2025
73ba045
Validate props
compulim May 12, 2025
e056298
Validate props
compulim May 12, 2025
ee83c6a
Validate props
compulim May 12, 2025
a13301d
Validate props
compulim May 12, 2025
ebfcf59
Validate props
compulim May 12, 2025
7c5ce7f
Validate props
compulim May 12, 2025
693098e
Fix nullable refObject
compulim May 12, 2025
ebfd0be
Validate props
compulim May 12, 2025
8fdb889
Validate props
compulim May 12, 2025
8424732
Validate props
compulim May 12, 2025
74a1cbf
Validate props
compulim May 12, 2025
7f4e928
Validate props
compulim May 12, 2025
b1f027a
Fix flaky
compulim May 12, 2025
3ef2298
Fix flaky test
compulim May 12, 2025
0cf4ba7
Fix flaky test
compulim May 12, 2025
ec7b848
Update entry
compulim May 12, 2025
6b5cba8
Use exact version
compulim May 12, 2025
b30be1c
Simplify
compulim May 12, 2025
dbea36b
Clean up
compulim May 12, 2025
9ba2f36
Clean up
compulim May 12, 2025
340eb57
Add TODO
compulim May 12, 2025
24b4987
Clean up
compulim May 12, 2025
5f2473c
Memoize
compulim May 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ Notes: web developers are advised to use [`~` (tilde range)](https://github.com/
- Switched math block syntax from `$$` to Tex-style `\[ \]` and `\( \)` delimiters with improved rendering and error handling, in PR [#5353](https://github.com/microsoft/BotFramework-WebChat/pull/5353), by [@OEvgeny](https://github.com/OEvgeny)
- Improved avatar display and grouping behavior by fixing rendering issues and activity sender identification, in PR [#5346](https://github.com/microsoft/BotFramework-WebChat/pull/5346), by [@OEvgeny](https://github.com/OEvgeny)
- Activity "copy" button will use `outerHTML` and `textContent` for clipboard content, in PR [#5378](https://github.com/microsoft/BotFramework-WebChat/pull/5378), by [@compulim](https://github.com/compulim)
- Bumped dependencies to the latest versions, by [@compulim](https://github.com/compulim) in PR [#5385](https://github.com/microsoft/BotFramework-WebChat/pull/5385), [#5400](https://github.com/microsoft/BotFramework-WebChat/pull/5400), and [#5426](https://github.com/microsoft/BotFramework-WebChat/pull/5426)
- Bumped dependencies to the latest versions, by [@compulim](https://github.com/compulim) in PR [#5385](https://github.com/microsoft/BotFramework-WebChat/pull/5385), [#5400](https://github.com/microsoft/BotFramework-WebChat/pull/5400), [#5426](https://github.com/microsoft/BotFramework-WebChat/pull/5426), and [#5476](https://github.com/microsoft/BotFramework-WebChat/pull/5476)
- Production dependencies
- [`web-speech-cognitive-services@8.1.0`](https://npmjs.com/package/web-speech-cognitive-services)
- [`react-dictate-button@4.0.0`](https://npmjs.com/package/react-dictate-button)
Expand All @@ -135,7 +135,7 @@ Notes: web developers are advised to use [`~` (tilde range)](https://github.com/
- [`shiki@2.3.2`](https://npmjs.com/package/shiki/)
- [`use-propagate@0.2.1`](https://npmjs.com/package/use-propagate/)
- [`use-state-with-ref@0.1.0`](https://npmjs.com/package/use-state-with-ref/)
- [`valibot@0.42.1`](https://npmjs.com/package/valibot/)
- [`valibot@1.1.0`](https://npmjs.com/package/valibot/)
- [`web-speech-cognitive-services@8.1.1`](https://npmjs.com/package/web-speech-cognitive-services/)
- Development dependencies
- [`@biomejs/biome@1.9.4`](https://npmjs.com/package/@biomejs/biome/)
Expand Down Expand Up @@ -191,6 +191,7 @@ Notes: web developers are advised to use [`~` (tilde range)](https://github.com/
- [`webpack-cli@6.0.1`](https://npmjs.com/package/webpack-cli/)
- [`webpack@5.98.0`](https://npmjs.com/package/webpack/)
- Fixed [#5446](https://github.com/microsoft/BotFramework-WebChat/issues/5446). Embedded `uuid` so `microsoft-cognitiveservices-speech-sdk` do not need to use dynamic loading, as this could fail in Webpack 4 environment, in PR [#5445](https://github.com/microsoft/BotFramework-WebChat/pull/5445), by [@compulim](https://github.com/compulim)
- Fixed [#5476](https://github.com/microsoft/BotFramework-WebChat/issues/5476). Modernizing components through memoization and use [`valibot`](https://npmjs.com/package/valibot) for props validation, by [@compulim](https://github.com/compulim)

### Fixed

Expand Down
216 changes: 0 additions & 216 deletions __tests__/bubbleNub.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
await pageObjects.runHook(({ useSendFiles }) => useSendFiles()([fileBlob]));

// THEN: It should send the file.
await pageConditions.allOutgoingActivitiesSent();
await pageConditions.numActivitiesShown(3);
await pageConditions.allOutgoingActivitiesSent();
await host.snapshot();

// THEN: Should print deprecation warning.
Expand Down
2 changes: 1 addition & 1 deletion __tests__/html/upload.image.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

await pageConditions.uiConnected();
await pageObjects.uploadFile('seaofthieves.jpg');
await pageConditions.allOutgoingActivitiesSent();
await pageConditions.numActivitiesShown(2);
await pageConditions.allOutgoingActivitiesSent();

await host.snapshot();
});
Expand Down
41 changes: 41 additions & 0 deletions __tests__/html2/bubble/nub/carousel.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!doctype html>
<html lang="en-US">
<head>
<link href="/assets/index.css" rel="stylesheet" type="text/css" />
<script crossorigin="anonymous" src="/test-harness.js"></script>
<script crossorigin="anonymous" src="/test-page-object.js"></script>
<script crossorigin="anonymous" src="/__dist__/webchat-es5.js"></script>
</head>
<body>
<main id="webchat"></main>
<script>
run(async function () {
await host.windowSize(1080, 1920);

document.getElementById('webchat').style.zoom = 3;

WebChat.renderWebChat(
{
directLine: WebChat.createDirectLine({ token: await testHelpers.token.fetchDirectLineToken() }),
store: testHelpers.createStore(),
styleOptions: {
bubbleNubOffset: 0,
bubbleNubSize: 10,
bubbleFromUserNubOffset: 0,
bubbleFromUserNubSize: 10
}
},
document.getElementById('webchat')
);

await pageConditions.uiConnected();

await pageObjects.sendMessageViaSendBox('layout carousel');
await pageConditions.numActivitiesShown(2);
await pageConditions.allImagesLoaded();

await host.snapshot('local');
});
</script>
</body>
</html>
46 changes: 46 additions & 0 deletions __tests__/html2/bubble/nub/offset/flipped.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!doctype html>
<html lang="en-US">
<head>
<link href="/assets/index.css" rel="stylesheet" type="text/css" />
<script crossorigin="anonymous" src="/test-harness.js"></script>
<script crossorigin="anonymous" src="/test-page-object.js"></script>
<script crossorigin="anonymous" src="/__dist__/webchat-es5.js"></script>
</head>
<body>
<main id="webchat"></main>
<script>
run(async function () {
await host.windowSize(1080, 1920);

document.getElementById('webchat').style.zoom = 3;

WebChat.renderWebChat(
{
directLine: WebChat.createDirectLine({ token: await testHelpers.token.fetchDirectLineToken() }),
store: testHelpers.createStore(),
styleOptions: {
bubbleBorderColor: 'red',
bubbleBorderRadius: 10,
bubbleBorderWidth: 2,
bubbleFromUserBorderColor: 'green',
bubbleFromUserBorderRadius: 10,
bubbleFromUserBorderWidth: 2,
bubbleFromUserNubOffset: 'bottom',
bubbleFromUserNubSize: 10,
bubbleNubOffset: 'bottom',
bubbleNubSize: 10
}
},
document.getElementById('webchat')
);

await pageConditions.uiConnected();

await pageObjects.sendMessageViaSendBox('Hello, World!');
await pageConditions.numActivitiesShown(2);

await host.snapshot('local');
});
</script>
</body>
</html>
46 changes: 46 additions & 0 deletions __tests__/html2/bubble/nub/offset/negative10.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!doctype html>
<html lang="en-US">
<head>
<link href="/assets/index.css" rel="stylesheet" type="text/css" />
<script crossorigin="anonymous" src="/test-harness.js"></script>
<script crossorigin="anonymous" src="/test-page-object.js"></script>
<script crossorigin="anonymous" src="/__dist__/webchat-es5.js"></script>
</head>
<body>
<main id="webchat"></main>
<script>
run(async function () {
await host.windowSize(1080, 1920);

document.getElementById('webchat').style.zoom = 3;

WebChat.renderWebChat(
{
directLine: WebChat.createDirectLine({ token: await testHelpers.token.fetchDirectLineToken() }),
store: testHelpers.createStore(),
styleOptions: {
bubbleBorderColor: 'red',
bubbleBorderRadius: 10,
bubbleBorderWidth: 2,
bubbleFromUserBorderColor: 'green',
bubbleFromUserBorderRadius: 10,
bubbleFromUserBorderWidth: 2,
bubbleFromUserNubOffset: -10,
bubbleFromUserNubSize: 10,
bubbleNubOffset: -10,
bubbleNubSize: 10
}
},
document.getElementById('webchat')
);

await pageConditions.uiConnected();

await pageObjects.sendMessageViaSendBox('Hello, World!');
await pageConditions.numActivitiesShown(2);

await host.snapshot('local');
});
</script>
</body>
</html>
Loading
Loading