All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added missing Norwegian (nb-NO) translations, by @taarskog
- We will no longer include
react
andreact-dom
in our NPM package, instead, we will requires peer dependencies ofreact@^16.8.6
andreact-dom@^16.8.6
*
: Bumps all dev dependencies to latest version, by @compulim, in PR #2182 and PR #2308*
: Bumps@babel/[email protected]
, by @compulim, in PR #2182*
: Bumps Docker container for headless Chrome toselenium/standalone-chrome:3.141.59-radium
, by @compulim, in PR #2182*
: Moves frombabel-plugin-version-transform
tobabel-plugin-transform-inline-environment-variables
, by @compulim, in PR #2182*
: Bumps ESLint and related dependencies to latest version, by @compulim, in PR #2185*
: Bumps React, Redux and their related dependencies to latest version, by @compulim, in PR #2184*
: Bumpslodash-*
(https://www.npmjs.com/package/lodash), by @compulim, in PR #2199- Bumps
[email protected]
, by @compulim in PR #2246, PR #2274, and PR #2338 - Fix for React hooks constraints: both app and component must share the same reference of
react
andreact-dom
, in PR #2274/
: Installreact
andreact-dom
todevDependencies
bundle
: Movereact
andreact-dom
fromdependencies
topeerDependencies
component
: Removereact
andreact-dom
fromdevDependencies
playground
: Removereact
andreact-dom
fromdependencies
samples/*
: Move to production version of Web Chat, and bump to[email protected]
and[email protected]
- Moved the typing indicator to the send box and removed the typing indicator logic from the sagas, by @tdurnford, in PR #2321
component
: MoveComposer
to React hooks and functional components, by @compulim, in PR #2308component
: Fix #1818 Move to functional components by @corinagum, in PR #2322- Fix #2292. Added function to select voice to props,
selectVoice()
, by @compulim, in PR #2338
- Fix #2328. Updating submitSendBoxSaga.js to send sendBoxValue.trim(), by @jimmyjames177414 in PR #2331
- Fix #2160. Clear suggested actions after clicking on a suggested actions of type
openUrl
, by @tdurnford in PR #2190 - Fix #1954. Estimate clock skew and adjust timestamp for outgoing activity, by @compulim in PR #2208
- Fix #2240. Fix microphone button should be re-enabled after error, by @compulim in PR #2241
- Fix #2250. Fix React warnings related prop types, by @compulim in PR #2253
- Fix #2248. Remove download links from user-uploaded attachment without thumbnails, by @compulim in PR #2262
- Fix #2245. Fix speech synthesis not working on Safari by priming the engine on the first microphone button click, by @compulim in PR #2246
- Fix #1514. Added reference grammar ID when using Cognitive Services Speech Services, by @compulim in PR #2246
- Fix #1515. Added dynamic phrases when using Cognitive Services Speech Services, by @compulim in PR #2246
- Fix #2273. Add
ScreenReaderText
component, by @corinagum in PR #2278 - Fix #2231. Fallback to English (US) if date time formatting failed, by @compulim in PR #2286
- Fix #2298. Speech synthesize errors to be ignored, by @compulim in PR #2300
- Fix #2243. Fixed sagas to correctly mark activities with speaking attachments, by @tdurnford in PR #2320
- Fix #2307. Added options to hide ScrollToEnd button, by @nt-7 in PR #2332
- Added bubble nub and style options, by @compulim, in PR #2137
- Fix #1808. Added documentation on activity types, by @corinagum in PR #2228
- Make thumbnails when uploading GIF/JPEG/PNG and store it in
channelData.attachmentThumbnails
, by @compulim, in PR #2206, requires modern browsers with following features: - Added
timestampFormat
option to the default style options and createdAbsoluteTime
component, by @tdurnford, in PR #2295 embed
: Added ES5 polyfills and dev server, by @compulim, in PR #2315
- Single sign-on for Microsoft Teams apps, by @compulim in #2196
- Customize Web Chat with Reaction Buttons. Updated reaction handlers to send
messageReaction
activities, by @tdurnford in #2239 - Select voice for speech synthesis, by @compulim, in PR #2338
- Fix #2273. Add
ScreenReaderText
component, by @corinagum in PR #2278
- Fix #2187. Bump core-js and update core-js modules on index-es5.js, by @corinagum in PR #2195
- Fix #2193. Fix Adaptive Card/attachments do not get read by Narrator, by @corinagum in PR #2226
- Fix #2150. Fix timestamps read by Narrator, by @corinagum in PR #2226
- Fix #2250. Fix React warnings related prop types, by @compulim in PR #2253
*
: Addedeslint
to static code analysis, by @compulim, in PR #1970- Added pt-PT language, by @bodyzatva in PR #2005 and PR #2020
- Added documentation for using Web Chat dev build, by @corinagum, in PR #2074
- Added the Web Chat version to DirectLine's botAgent option, by @tdurnford, in PR #2101
- Added
richCardWrapTitle
todefaultStyleOptions
, by @tdurnford, in PR #2115 - Added test harness for speech recognition and synthesis for #2122, by @compulim, in PR #2153
*
: Bumps to[email protected]
, by @corinagum, in PR #1989*
: Bumps to:[email protected]
,[email protected]
,[email protected]
, by @corinagum, in PR #1965
bundle
: Bumps to[email protected]
, by @corinagum, in PR #2064
- Fix #1974. Update
/docs/
folder to/media/
and delete unused images, by @corinagum in PR #1975 - Fix #1980. Changed
sendBoxTextArea
styles to break words longer than thetextarea
, by @tdurnford in PR #1986 - Fix #1969. Move
styleSet
s related to Adaptive Cards to full bundle, by @corinagum in PR #1987 - Fix #1429. Changed Markdown-It options to render newline characters correctly, by @tdurnford in PR #1988
- Fix #1736. Fixed only first activity in a batch is spoken, by @compulim in PR #2016
- Fix #2008. Fixed playground due to recent eslint changes, by @compulim in PR #2009
- Fix #1876. Accessibility fixes on Web Chat transcript, by @corinagum in PR #2018
- Fix #1829. Fixed long text not being synthesized by Cognitive Services by bumping to
[email protected]
, by @compulim in PR #2035 - Fix #1982. Move to prettier! by @corinagum in PR #2038
- Fix #1429. Added Markdown string preprocessing so the renderer will respect CRLF carriage returns (\r\n), by @tdurnford in PR #2055
- Fix #2057. Added
sip:
protocol to sanitize HTML options, by @tdurnford in PR #2061 - Fix #2062. Fixed Markdown rendering issue in cards, by @tdurnford in PR #2063
- Fix #1896. Added data schema to render base64 images, by @denscollo in PR#2067
- Fix #2068. Fixed Adaptive Cards validate and rich card speak issues, by @tdurnford in PR #2075
- Fix #1966. Update Localization files for es-ES, ja-JP, zh-HANS, zh-HANT, zh-YUE, by @corinagum in PR #2077
- Fix #2078. Update Localization files for tr-TR by @vefacaglar
- Fix #2069. Fixed Markdown renderer issue in playground, by @tdurnford in PR#2073
- Fix #1971. Fix mobile UX of Sendbox, SendButton, and SuggestedAction focus, by @corinagum in PR #2087
- Fix #1627. Fixed timestamps randomly stopped from updating, by @compulim in PR #2090
- Fix #2001. Strip Markdown from ARIA labels, so screen readers do not speak Markdown in text, by @corinagum in PR #2096
- Fix #1926. Fixed scroll stickiness issue when submitting an Adaptive Card form with suggested actions opened, by @compulim in PR #2107
- Fix #2110. Fixed sendBox input/textarea background color issue, by @tdurnford in PR #2111
- Fix #2104. Remove deprecated
/master/webchat**.js
links from samples, by @corinagum in PR #2105 - Fix #1863. Remove title, subtitle, and text of cards from being spoken by @corinagum in PR #2118
- Fix #2134. Added
azure-pipelines.yml
for embed package, by @compulim in PR #2135 - Fix #2106. Fix
AdaptiveCardHostConfig
warning associated with theCommonCard
component, by @tdurnford in PR #2108 - Fix #1872. Fixed
observeOnce
to unsubscribe properly, by @compulim in PR #2140 - Fix #2022. Fixed
"expectingInput"
ininputHint
is not respected, by @compulim and @corinagum in PR #2149 and PR #2166
*
: Single sign-on for enterprise apps, by @compulim in #2002*
: Upload to Azure Storage, by @compulim in #2127*
: Speech UI demo. Reconfigured to use Cognitive Services properly, by @compulim in PR #2132*
: Single sign-on for Intranet apps, by @compulim in #2144
- Added handling of reconnection, by @compulim, in PR #1880
- Added embed page, by @compulim, in PR #1910, PR #1928 and PR #1938
- Deployment: Bumps to
[email protected]
, by @compulim, in PR #1897 - Deployment: Adds
charset
to content type of JavaScript files on CDN, by @compulim, in PR #1897 component
: Bumps to[email protected]
, by @corinagum and @compulim, in PR #1900 and PR #1924- Build: Bumps to
@babel/*
, by @corinagum, in PR #1918 component
: Carousel flippers on carousel layout and suggested actions will use initial cursor style, by @compulim, in PR #1924
- Fix #1423. Added sample for hosting WebChat in Angular, by @omarsourour in PR #1813
- Fix #1767. Remove
cursor: pointer
from buttons, by @corinagum in PR #1819 - Fix #1774. Add
styleSetOption
to allow word break. Default tobreak-word
, by @corinagum in PR #1832 - Fix #1847. Bump react-say, which adds babel-runtime dependency, by @corinagum in PR #1849
- Add #1524 Add Offline UI: connecting for the first time, by @corinagum, in PR #1866
- Fix #1768. Add style options to be able to modify all Send Box borders, by @corinagum in PR #1871
- Fix #1827. Remove renderer for unknown activities, by @corinagum in PR #1873
- Fix #1586. Fix theming of suggested actions buttons, by @corinagum in PR #1883
- Fix #1837, #1643. Fix style conflicts with bootstrap and bump
memoize-one
, by @corinagum in PR #1884 - Fix #1877. Add viewport meta tag and fix a few sample links, by @corinagum in PR #1919
- Fix #1789. Focus send box after message is being sent, by @corinagum in PR #1915
- Fix #1920. Added disabled property to send button, by @tdurnford in PR #1922
- Fix #1525. Add JavaScript error Offline UI, by @corinagum in PR #1927
- Fix #1934. Fix spacing of empty ConnectivityStatus component, by @corinagum in PR #1939
- Fix #1943. Fix extra vertical padding in IE11 and Firefox, by @compulim in PR #1949
- Fix #1945. QA fixes for 4.4, by @corinagum in PR #1950
- Fix #1947. Fix scrollbar in suggested action should be hidden in Firefox, remove gaps, and use style set for customizing
react-film
, by @compulim in PR #1953 - Fix #1948. Fixed sample 17.chat-send-history to work with Firefox and Edge, by @tdurnford in PR #1956
- Fix #1304. Move Adaptive Cards from component to bundle, by @compulim and @corinagum in PR #1936
- Fix #1990. Bump Adaptive Cards & fix textarea font-family from monospace to Web Chat's
primaryFont
, by @corinagum in PR #2064
- Fix #1383. Added options to hide upload button, by @compulim in PR #1491
- Added support of avatar image, thru
styleOptions.botAvatarImage
andstyleOptions.userAvatarImage
, in PR #1486 - Added ability to style sendbox background and text color, thru
styleOptions.sendBoxBackground
andstyleOptions.sendBoxTextColor
, in PR #1575 core
: AddedsendEvent
, in PR #1286core
: AddedCONNECT_FULFILLING
action to workaroundredux-saga
design decision, in PR #1286component
: Added missing Spanish (es-ES) by @schgressive in PR #1615- Added missing Spanish (es-ES) by @schgressive in PR #1615
- Fix #1602. Fix suggested actions regression of buttons, by @corinagum in PR #1616
component
: Allow font family and adaptive cards text color to be set via styleOptions, by @a-b-r-o-w-n, in PR #1670component
: Add fallback logic to browser which do not supportwindow.Intl
, by @compulim, in PR #1696*
: Addedusername
back to activity, fixed #1321, by @compulim, in PR #1682component
: Allow root component height and width customization viastyleOptions.rootHeight
andstyleOptions.rootWidth
, by @tonyanziano, in PR #1702component
: AddedcardActionMiddleware
to customize the behavior of card action, by @compulim, in PR #1704bundle
: Addwatermark
andstreamUrl
parameters to createDirectLine, by @corinagum, in PR #1817component
: Addedtextarea
option toSendBox
per issues #17 and #124, by @tdurnford, in PR #1889component
: AddedsuggestedAction
images per issue #1739, by @tdurnford, in PR #1909
- Bumped
botframework-directlinejs
to 0.11.4 in PR #1783 - Moved
botAvatarImage
anduserAvatarImage
tostyleOptions.botAvatarImage
andstyleOptions.userAvatarImage
respectively, in PR #1486 - Fix string interpolation error in Russian localization and fallback for browsers without Intl support by @odysseus1973 in PR #1509
playground
: Bumps to[email protected]
, in PR #1511playground
: Bumps to[email protected]
, in PR #1535*
: Bump to[email protected]
, in #1558core
: Fix #1344. Use random user ID if not specified, by @compulim in PR #1612component
: Bump to[email protected]
and[email protected]
, by @compulim, in PR #1621 and PR #1725- Expand german by @matmuenzel in PR #1740
- Update Russian and Japanese by @corinagum in PR #1747
- Update Spanish by @ckgrafico in PR #1757
- Update Danish by @simon_lfr in PR #1810
- Update Swedish by @pekspro in PR #1797
- Update Dutch by @imicknl in PR #1812
- Fix #1360. Added
roles
to components of Web Chat, by @corinagum in PR #1462 - Fix #1409. Added microphone status as screen reader only text, by @corinagum in PR #1490
- Fix #1605, #1316, #1341, #1411. Fix color contrast ratios & downloadIcon narrator accessibility by @corinagum in PR #1494
- Fix #1264, #1308, #1318, #1334,#1425. Update icons with accessibilty, Sent message accessibility, and fix sample README.md, @corinagum in PR #1506 and #1542
- Fix #1512. Fix #1512: fix sanitization of anchors (allow title attributes), by @corinagum in PR #1530
- Fix #1499.
- Fix screen reader handling of name, activity, and timestamp,
connectCarouselFilmStrip
: FixedbotAvatarInitials
anduserAvatarInitials
functionality from recent name change,BasicTranscript
: Fixed user activity should not be recreated after receive ACK from Direct Line,- by @corinagum in PR #1528
component
: Fix #1560, #1625 and #1635. Fixed carousel layout not showing date and alignment issues, by @compulim in PR #1561 and #1641playground
: Fix #1562. Fixed timestamp grouping "Don't group" and added "Don't show timestamp", by @compulim in PR #1563component
: Fix #1576. Rich card withouttap
should be rendered properly, by @compulim in PR #1577core
: Some sagas missed handling successive actions, in PR #1286core
:incomingActivitySaga
may throw null-ref exception if the first activity is from user, in PR #1286component
: Fix #1328. Should not start microphone if input hint is set toignoringInput
, in PR #1286component
: Fix outgoing typing indicators are not sent and acknowledged properly, in PR #1286- Fix #1402. Add
messageBack
support, by @corinagum in PR #1581 - Fix #1539. Fix outgoing typing indicators are not sent and acknowledged properly, in PR #1541
component
: Fix #1547. Fixed unhandled activity type should be forwarded to custom middleware, by @compulim in PR #1569playground
: Fix #1610. Fixed bot and user avatar initials not working, by @compulim in PR #1611bundle
: Fix #1613. Pass conversationId to DirectLineJS constructor, by @neetu-das in PR #1614component
: Fix #1626. FixedNumber.isNaN
is not available in IE11, by @compulim in PR #1628bundle
: Fix #1652. PasspollingInterval
to DirectLineJS constructor, by @neetu-das in PR #1655core
: Reworked logic on connect/disconnect for reliability on handling corner cases, by @compulim in PR #1649core
: Fix #1521. Add connectivity status component and update localization, by @corinagum in PR #1679core
: Fix #1057. Fixed suggested actions destined for other recipients should not show up, by @compulim in PR #1706component
: Fixed pt-br locale not being selected, addedX minutes ago
and missing translations, by @pedropacheco92 in PR #1745component
: Fix #1741 wherescrollToEndButton
does not havetype="button"
by @corinagum in PR #1743component
: Fix #1625 to updateREADME.md
by @corinagum in PR #1752
botAvatarImage
anduserAvatarImage
props, as they are moved insidestyleOptions
, in PR #1486sendTyping
props is now renamed tosendTypingIndicator
, by @compulim, in PR #1584
core
: Programmatic access to post activity, in #1568component
: Hide upload button, in #1491component
: Avatar image, in #1486core
: Incoming activity to JavaScript event, in #1567core
: Send welcome event, in PR #1286core
: Send typing indicator, in #1541component
: Password input activity, in #1569*
: Updated minimizable Web Chat sample to useWEB_CHAT/SEND_EVENT
action, in #1631component
: Hybrid speech engine, in #1617component
: Use Speech Services token for speech UI sample, in #1634component
: Selectable Activity, in #1624component
: Chat Send History, in #1678*
: UpdateREADME.md
's for samples 05-10 #1444 and improve accessibility of anchors #1681, by @corinagum in PR #1710component
: Customizing open URL behavior, in PR #1704
- Build: Development build now include instrumentation code, updated build scripts
npm run build
will build for development with instrumentation codenpm run prepublishOnly
will build for productionnpm run watch
will also run Webpack in watch loop
- Build: Automated testing using visual regression testing technique in #1323
- Docker-based automated testing using headless Chrome and Web Driver
- Screenshot comparison using
jest-image-snapshot
andpixelmatch
- Code is instrumented using
istanbul
- Test report is hosted on Coveralls
- Added French localization, by @tao1 in PR #1327
- Fix #1344, by updating
README.md
and adding validation logic foruserID
props, in #1447- If
userID
props present and also embedded in Direct Line token, will use the one from Direct Line token - If
userID
props present, they must be string and not prefixed withdl_
, to avoid confusion betweenuserID
props and Direct Line embedded user ID (which is forgery-proof) - If
userID
props does not pass the validation test or not specified, Web Chat will usedefault-user
instead
- If
- Added support for Cognitive Services Speech to Text and Text to Speech in PR #1442
- Core: Saga will run after custom middleware, in #1331
- Custom middleware run before saga to allow user to modify default behavior
- Build: Bump dependencies, in #1303
@babel
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
@babel/[email protected]
[email protected]
jest
[email protected]
webpack
- Fix Russian localization by @odysseus1973 in PR #1377
- Fix #1397. Patched activities without
from
field, in PR #1405 - Fix #1237. Added new sample called
migration
, by @corinagum in PR #1398 - Fix #1332. Updated sample names and add table to README, by @corinagum in PR #1435
- Fix #1125. Added error handling for Adaptive Card JSON render, by @corinagum in PR #1395
- Build: Webpack watch mode now emits non-minified code for shorter dev RTT, in #1331
- Backchannel: Inject custom data into every
POST_ACTIVITY
, in #1331 - UI: Minimizable Web Chat, in #1290
- Others: Using Web Chat v3, in #1287
- Speech: Cognitive Services Speech to Text and Text to Speech (both subscription key and authorization token flow)
- Speech: Cognitive Services Speech to Text using lexical result (text normalization)
- Initial release of Web Chat v4