Skip to content

Commit 16e6dbc

Browse files
committed
Add achievements
1 parent 11f25a2 commit 16e6dbc

File tree

2 files changed

+143
-17
lines changed

2 files changed

+143
-17
lines changed

ACHIEVEMENTS.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# 🎉 BotFramework Web Chat — Achievements
2+
3+
A curated list of major achievements by the Web Chat team. This document celebrates impactful changes, forward-looking designs, and key architectural wins.
4+
5+
<!-- Template for future additions. Add new to the top of a corresponding section.
6+
7+
## 🏆 \[Achievement Title]
8+
9+
**Goal:** Briefly describe the purpose of the change.
10+
**By:** [@username](https://github.com/username) in [PR #XXXX](https://github.com/microsoft/BotFramework-WebChat/pull/XXXX)
11+
12+
* Summary of what was done and why it mattered.
13+
14+
-->
15+
16+
---
17+
18+
## 🧱 Architecture & Core Systems
19+
20+
### 🛠️ Migration to `micromark`
21+
22+
**Goal:** Replace `markdown-it` with a modern and extensible markdown parser.
23+
**By:** [@compulim](https://github.com/compulim) in [PR #5330](https://github.com/microsoft/BotFramework-WebChat/pull/5330)
24+
25+
- Switched to `micromark`, enabling MathML support and consistent parsing.
26+
- Foundation for better Markdown extensibility and performance.
27+
28+
### 🧼 HTML Content Transformer Middleware
29+
30+
**Goal:** Move HTML sanitization into a dedicated middleware layer.
31+
**By:** [@compulim](https://github.com/compulim) in [PR #5338](https://github.com/microsoft/BotFramework-WebChat/pull/5338)
32+
33+
- Clean separation of concerns for Markdown rendering and sanitation.
34+
- Easier customization and more secure rendering.
35+
36+
### 🧩 Migration to npm Workspaces
37+
38+
**Goal:** Modernize monorepo tooling for better dependency and package management.
39+
**By:** [@compulim](https://github.com/compulim) in [PR #5301](https://github.com/microsoft/BotFramework-WebChat/pull/5301)
40+
41+
- Dropped Lerna in favor of native npm workspaces.
42+
- Improves build performance and developer experience.
43+
44+
---
45+
46+
## 🎨 UI & Theming
47+
48+
### ✨ Fluent Theme Overhaul
49+
50+
**Goal:** Expand and refine Fluent UI styling across all components.
51+
**By:** [@OEvgeny](https://github.com/OEvgeny) in [PR #5258](https://github.com/microsoft/BotFramework-WebChat/pull/5258) and others
52+
53+
- Introduced "Copilot" variant and transcript-wide theming.
54+
- Improved accessibility, visual consistency, and component modularity.
55+
56+
### 🧱 Decorator System for Activity Styling
57+
58+
**Goal:** Enable pluggable, dynamic visual enhancements per activity.
59+
**By:** [@OEvgeny](https://github.com/OEvgeny) in [PR #5205](https://github.com/microsoft/BotFramework-WebChat/pull/5205), [#5312](https://github.com/microsoft/BotFramework-WebChat/pull/5312)
60+
61+
- Introduced `WebChatDecorator` and `ActivityDecorator`.
62+
- Supports animated borders and style options with minimal code changes.
63+
64+
---
65+
66+
## 🗣️ Voice & Accessibility
67+
68+
### 🎙️ Speech Recognition Enhancements
69+
70+
**Goal:** Improve real-world usability of voice input.
71+
**By:** [@compulim](https://github.com/compulim), [@RushikeshGavali](https://github.com/RushikeshGavali) in [PR #5400](https://github.com/microsoft/BotFramework-WebChat/pull/5400), [#5426](https://github.com/microsoft/BotFramework-WebChat/pull/5426)
72+
73+
- Support for initial silence timeout and continuous barge-in mode.
74+
- Makes Azure Speech more responsive and accessible.
75+
76+
### 🔊 Centralized Live Region Announcements
77+
78+
**Goal:** Improve screen reader support via centralized ARIA updates.
79+
**By:** [@OEvgeny](https://github.com/OEvgeny) in [PR #5251](https://github.com/microsoft/BotFramework-WebChat/pull/5251)
80+
81+
- Added `usePushToLiveRegion` hook.
82+
- Enables consistent and predictable accessibility behavior.
83+
84+
---
85+
86+
## 🧪 Advanced & Experimental
87+
88+
### 🧩 Shadow DOM Support
89+
90+
**Goal:** Enable safe embedding of Web Chat in custom element trees.
91+
**By:** [@OEvgeny](https://github.com/OEvgeny) in [PR #5196](https://github.com/microsoft/BotFramework-WebChat/pull/5196)
92+
93+
- Added `stylesRoot`, `ThemeProvider.styles`, and nonce support.
94+
- Ensures style encapsulation and isolation in Web Component environments.
95+
96+
### 🧮 TeX/MathML Markdown Support
97+
98+
**Goal:** Support use cases requiring math rendering.
99+
**By:** [@compulim](https://github.com/compulim), [@OEvgeny](https://github.com/OEvgeny) in [PR #5332](https://github.com/microsoft/BotFramework-WebChat/pull/5332), [#5381](https://github.com/microsoft/BotFramework-WebChat/pull/5381)
100+
101+
- Integrated `katex` via `micromark-extension-math`.
102+
- Supports `\[ \]`, `\( \)`, and `$$ $$` syntax.
103+
104+
---
105+
106+
## 🚀 Performance & Developer Experience
107+
108+
### 🧠 Memoization & Hook Optimizations
109+
110+
**Goal:** Reduce rerenders and memory footprint.
111+
**By:** [@OEvgeny](https://github.com/OEvgeny), [@compulim](https://github.com/compulim) across [#5163](https://github.com/microsoft/BotFramework-WebChat/pull/5163), [#5183](https://github.com/microsoft/BotFramework-WebChat/pull/5183), [#5190](https://github.com/microsoft/BotFramework-WebChat/pull/5190)
112+
113+
- Rewrote key hooks (`useActivityWithRenderer`, `useMemoized`) for efficiency.
114+
- Prevents excessive renders in large conversations.
115+
116+
### 🧪 `valibot` Props Validation
117+
118+
**Goal:** Modernize runtime prop validation for performance and clarity.
119+
**By:** [@compulim](https://github.com/compulim) in [PR #5476](https://github.com/microsoft/BotFramework-WebChat/pull/5476)
120+
121+
- Introduced `valibot` to improve schema-based prop safety.
122+
- Reduces runtime errors and simplifies validation logic.
123+
124+
---

README.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ Web Chat supports [Content Security Policy (CSP)](https://developer.mozilla.org/
1919

2020
> This section points out important version notes. For further information, please see the related links and check the [`CHANGELOG.md`](https://github.com/microsoft/BotFramework-WebChat/blob/main/CHANGELOG.md)
2121
22+
[Our achievements](https://github.com/microsoft/BotFramework-WebChat/blob/main/ACHIEVEMENTS.md)
23+
2224
Notes: web developers are advised to use [`~` (tilde range)](https://github.com/npm/node-semver?tab=readme-ov-file#tilde-ranges-123-12-1) to select minor versions, which contains new features and/or fixes. Use [`^` (caret range)](https://github.com/npm/node-semver?tab=readme-ov-file#caret-ranges-123-025-004) to select major versions, which may contains breaking changes.
2325

2426
## 4.19.0 notable changes
2527

26-
- Supports informative message in [livestreaming](./docs/LIVESTREAMING.md)
28+
- Supports informative message in [livestreaming](./docs/LIVESTREAMING.md)
2729

2830
## 4.18.0 notable changes
2931

@@ -101,8 +103,8 @@ window.WebChat.renderWebChat(
101103
);
102104
```
103105

104-
- Web Chat will apply the maximum schema available according to the Adaptive Cards version (as of this patch, schema 1.3) by default.
105-
- An invalid version will revert to Web Chat's default.
106+
- Web Chat will apply the maximum schema available according to the Adaptive Cards version (as of this patch, schema 1.3) by default.
107+
- An invalid version will revert to Web Chat's default.
106108

107109
## Visual focus changes to transcript in Web Chat 4.12.0
108110

@@ -163,9 +165,9 @@ We strongly recommend using the token API instead of providing the app with your
163165

164166
For further reading, please see the following links:
165167

166-
- Using Web Chat with [Azure Bot Services authentication](https://blog.botframework.com/2018/09/01/using-webchat-with-azure-bot-services-authentication/)
168+
- Using Web Chat with [Azure Bot Services authentication](https://blog.botframework.com/2018/09/01/using-webchat-with-azure-bot-services-authentication/)
167169

168-
- [Enhanced Direct Line authentication features](https://blog.botframework.com/2018/09/25/enhanced-direct-line-authentication-features/)
170+
- [Enhanced Direct Line authentication features](https://blog.botframework.com/2018/09/25/enhanced-direct-line-authentication-features/)
169171

170172
## Integrate with JavaScript
171173

@@ -279,11 +281,11 @@ To use Redux DevTools, use the `createStoreWithDevTools` function for creating a
279281

280282
There are some limitations when using the Redux DevTools:
281283

282-
- The Redux store uses side-effects via [`redux-saga`](https://github.com/redux-saga/redux-saga). Time-traveling may break the UI.
283-
- Many UI states are stored in React context and state. They are not exposed in the Redux store.
284-
- Some time-sensitive UIs are based on real-time clock and not affected by time-traveling.
285-
- Dispatching actions are not officially supported. Please use [hooks API](https://github.com/microsoft/BotFramework-WebChat/tree/main/docs/HOOKS.md) instead.
286-
- Actions and reducers may move in and out of Redux store across versions. [Hooks API](https://github.com/microsoft/BotFramework-WebChat/tree/main/docs/HOOKS.md) is the official API for accessing the UI.
284+
- The Redux store uses side-effects via [`redux-saga`](https://github.com/redux-saga/redux-saga). Time-traveling may break the UI.
285+
- Many UI states are stored in React context and state. They are not exposed in the Redux store.
286+
- Some time-sensitive UIs are based on real-time clock and not affected by time-traveling.
287+
- Dispatching actions are not officially supported. Please use [hooks API](https://github.com/microsoft/BotFramework-WebChat/tree/main/docs/HOOKS.md) instead.
288+
- Actions and reducers may move in and out of Redux store across versions. [Hooks API](https://github.com/microsoft/BotFramework-WebChat/tree/main/docs/HOOKS.md) is the official API for accessing the UI.
287289

288290
# Customizing the Web Chat UI
289291

@@ -324,10 +326,10 @@ If you need Web Chat in Internet Explorer 11, please see the [ES5 bundle demo](h
324326

325327
Please note, however:
326328

327-
- Web Chat does not support Internet Explorer older than version 11
328-
- Customization as shown in non-ES5 samples are not supported for Internet Explorer. Because IE11 is a non-modern browser, it does not support ES6, and many samples that use arrow functions and modern promises would need to be manually converted to ES5. If you are in need of heavy customization for your app, we strongly recommend developing your app for a modern browser like Google Chrome or Microsoft Edge.
329-
- Web Chat has no plan to support samples for IE11 (ES5).
330-
- For customers who wish to manually rewrite our other samples to work in IE11, we recommend looking into converting code from ES6+ to ES5 using polyfills and transpilers like [`babel`](https://babeljs.io/docs/en/next/babel-standalone.html).
329+
- Web Chat does not support Internet Explorer older than version 11
330+
- Customization as shown in non-ES5 samples are not supported for Internet Explorer. Because IE11 is a non-modern browser, it does not support ES6, and many samples that use arrow functions and modern promises would need to be manually converted to ES5. If you are in need of heavy customization for your app, we strongly recommend developing your app for a modern browser like Google Chrome or Microsoft Edge.
331+
- Web Chat has no plan to support samples for IE11 (ES5).
332+
- For customers who wish to manually rewrite our other samples to work in IE11, we recommend looking into converting code from ES6+ to ES5 using polyfills and transpilers like [`babel`](https://babeljs.io/docs/en/next/babel-standalone.html).
331333

332334
## Accessibility
333335

@@ -353,9 +355,9 @@ View the [Technical Support Guide](https://github.com/microsoft/BotFramework-Web
353355

354356
Web Chat supports a wide-range of speech engines for a natural chat experience with a bot. This section outlines the different engines that are supported:
355357

356-
- [Direct Line Speech](#integrate-with-direct-line-speech)
357-
- [Cognitive Services Speech Services](#integrate-with-cognitive-services-speech-services)
358-
- [Browser-provided engine or other engines](#browser-provided-engine-or-other-engines)
358+
- [Direct Line Speech](#integrate-with-direct-line-speech)
359+
- [Cognitive Services Speech Services](#integrate-with-cognitive-services-speech-services)
360+
- [Browser-provided engine or other engines](#browser-provided-engine-or-other-engines)
359361

360362
### Integrate with Direct Line Speech
361363

0 commit comments

Comments
 (0)