All notable changes to this project will be documented in this file.
- Add
requestId
toOCClient.getReconnectableChats()
parameters
- Uptake @microsoft/[email protected]
-
Load ACS Chat adapter as npm dependency, instead of download it from unpkg host.
-
Uptake @microsoft/[email protected]
- Fix
CoreServices
orgUrl conversion forcrm9
orgs
- Updating dev libraries and unit tests
- Added to new versioned path to callingbundle.js
- Adding mechanism to initialize SDK using parallel threads for a faster load, still supporting sequential load
- core service url regex to include crmtest
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
- Add
crm9
as part ofCoreServicesGeoNamesMapping
- Log
error
object on failures on sending message and send typing - Update
retrieveCollectorUri()
to detectGCCDomainPatterns
to returnGCCCollectorUri
- Remove internal overrides of the original message contracts to add
content
property withObject.assign()
causing side effects on ChatAdapter
- Uptake @microsoft/[email protected]
- Enable the ability to use
CoreServices
orgUrl dynamically at runtime
- Uptake @microsoft/[email protected]
- Add
RequestHeaders
telemetry base property toOCSDKContract
- Add ability to send
ocUserAgent
- Uptake @microsoft/[email protected]
- Fix path for util function uuidv4 that was causing conflicts with pipeline
- Adding new externalRuntimeId, allows to pass external runtimeId to ChatSDK and keep in sync sessions for telemetry.
- Add ability to use
CoreServices
orgUrl dynamically at runtime
- Updated
OCClient.getSurveyInviteLink
request payload to support Copilot Survey
- Remove override block for follow-redirect, which was causing conflicts with ACS libs in LCW
- Fix ChatSDK.getPostConversationContext() to reject promise when conversation is not found
- Add ability to use
ChatSDK.emailLiveChatTranscript()
to email live chat transcript fromliveChatContext
- Handling the lifecycle of
sessionId
if it exists
- Throw exception when
ChatSDK.startChat()
fails withChatSDKConfig.getAuthToken()
failures - Uptake @microsoft/[email protected]
- Reduce number of
config
calls on loadingEscalation to Voice & Video
library by retrieving the config from runtime cache
- Add
supportedImagesMimeTypes
to supportMIME
typesimage/heic
&image/webp
as images
- Exported
ChatSDKErrorName
andChatSDKError
for downstream component to use
- Subscribe to
chatMessageEdited
events withinonNewMessage()
for queue position message updates
- Uptake @microsoft/[email protected]
- Added "httpResponseStatusCode" attribute in the error object thrown
- Uptake @microsoft/[email protected]
- Add
RequestPayload
,RequestPath
,RequestMethod
,ResponseStatusCode
telemetry base property toOCSDKContract
- Update Jest configuration and tests to support new libraries
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
- Use
parseLowerCaseString()
on chat config properties to protect text case change
- Add ability to pass custom
ariaCollectorUri
- Add missing
PACS
URL forEUDomainNames
- Fixed an issue where startChat failed due to optionalParam being null
- Fix
AriaTelemetry._configuration
not being passed toAriaTelemetry._logger
- Fix
ChatSDK.emailLiveChatTranscript()
callingOCClient.emailTranscript()
without waiting until its completion - Fix
EU
orgs telemetry to flow to the properEU
location
- Disable
tokenRefresher
temporarily
- Modify
getChatReconnectContext
to return redirection URL when reconnection ID is not longer Valid for Auth Chats.
- Add
Attachment File Scan
toChatSDK.createChatAdapter()
- Supporting getAgentAvailable SDK method for unauthenticated chat widget
- Fix
tokenRefresher
to updatechatToken
properly on expiry through reinitialization of AMSClient
- Upgraded ACSAdapter to version beta.20
- Add
tokenRefresher
mechanism to retrieve chat token on expiry
- Add
ocSDKConfiguration
to reducechatToken
retries to 2 - Uptake @microsoft/[email protected]
- Remove redundant call to create of
participantsMapping
- Set
enableSenderDisplayNameInTypingNotification
to true to include display name on sending typing notification - Add
async
toChatSDK.getLiveChatTranscript()
internal call
- [Perf] Make sessionInit, AcsClientInit/Ic3ClientInit and AmsClientInit calls in parallel
- Fixed null check on startChat failure
- Skipped empty string or null context variables (parity with v1)
- Add ability to use
ChatSDK.getLiveChatTranscript()
to fetch live chat transcript fromliveChatContext
- Add ability to use
ChatSDK.getConversationDetails()
to fetch conversation details fromliveChatContext
- Add
AuthContactIdNotFoundFailure
toExceptionThrower
- Update
ChatSDKErrors
to include standard ChatSDK errors to be more predictable
- Add ability to use
ChatSDK.createChatAdapter()
forDirectLine
protocol - Add
CreateACSAdapter
telemetry event - Improve
ChatSDK.createChatAdapter()
with retries using exponential backoff & additional details on failures - Add
GetAgentAvailability
SDK method for auth chat - Pass
logger
to AMSClient - Add
portalContactId
inStartChatOptionalParams
andGetAgentAvailabilityOptionalParams
- Added exception on initialization failure
- Upgraded ACSAdapter to version beta.17
- Added
botSurveyInviteLink
andbotFormsProLocale
thegetPostChatSurveyContext()
response
- Fix
ChatAdapterOptionalParams.ACSAdapter.options.egressMiddleware
being used asingressMiddleware
- Fix
ChatSDK.onTypingEvent()
being triggered on current user typing - Update
ChatSDK.liveChatVersion
to beV2
by default
- Uptake @microsoft/[email protected]
- Uptake [email protected]
- Uptake @microsoft/[email protected]
- Add
sendDefaultInitContext
optional parameter toChatSDK.startChat()
to automatically populatebrowser
,device
,originurl
&os
as default init context on web - Add
sendCacheHeaders
as optional paramater toChatSDK.initialize()
andChatSDK.getLiveChatConfig()
- Add
validateAuthChatRecord
call onChatSDK.startChat()
withliveChatContext
for all authenticated chat scenarios - Pass
ChatClient
duringACSAdapter
initialization - Pass
multiClient
toAMSClient
on initialization to supportChatSDK
multi-client
- Prevent
AMSFileManager.getFileIds()
&AMSFileManager.getFileMetadata()
to be triggered on all activities with null checks - Add
LiveChatVersion
check onChatSDK.updateChatToken()
- Use
amsreferences
property instead ofamsReferences
by default - Fix attachment download to use MIME types instead of file extensions
- Remove
fileMetadata
property on messages not containing any attachment
- Uptake @microsoft/[email protected]
- Uptake [email protected]
- Uptake [email protected]
- Uptake [email protected]
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
- Add
getPostChatSurveyContext
API method - Add
GetPostChatSurveyContext
telemetry event - Add
widgetId
&clientMessageId
as metadata on sending message - Update
ChatConfig
interface withLiveChatVersion
,allowedFileExtensions
&maxUploadFileSize
properties - Add ability to automatically detect locale from chat config
- Add
runtimeId
attribute inOmnichannelChatSDK
&ChatSDKRuntimeId
field in telemetry - Add ability to automatically pass locale from chat config on calling
ChatSDK.emailLiveChatTranscript()
- Bubble up
WidgetUseOutsideOperatingHour
exception - Add
acs_webchat-chat-adapter
middleware to add defaultchannelData.tags
&channelData.metadata
- Update
ChatConfig
interface withmsdyn_enablemarkdown
property - Throw exception on
ChatSDK.getVoiceVideoCalling()
if feature is disabled or platform is not supported - Add
participantType
&canRenderPostChat
as response of getConversationDetails() API - Add support for separate bot post chat survey feature
- Pass
logger
toacs_webchat-chat-adapter
- Add
acs_webchat-chat-adapter
middlewares to formatchannelData.tags
- Skip
session init
call on existing conversation - Fix
chat reconnect
not ending the conversation on callingChatSDK.endChat()
- Fix on messaging client not sending heartbeat on new conversations subsequent to the first conversation
- Fix
ChatSDK.getConversationDetails()
not passingauthenticatedUserToken
- Fix
IC3Client.dispose()
called whenIC3Client
isundefined
- README: added examples on usages of the post chat APIs.
- Uptake @azure/[email protected]
- Uptake [email protected]
- Update
locale
property inChatTranscriptBody
interface to be optional - Uptake [email protected]
- Add
GetAuthToken
&GetPreChatSurvey
telemetry events - Add
Domain
telemetry base property - Add
GetCurrentLiveChatContext
,GetMessages
,SendMessages
,OnNewMessage
&OnTypingEvent
telemetry events - Live Chat V2 Support
- Add
PlatformDetails
telemetry event
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
onNewMessage
withrehydrate
flag set totrue
crashing whengetMessages
returnsundefined
- Fix
AriaTelemetry
unable to read propertylogEvent
of undefined onReact Native
- Fix
Escalation to Voice & Video
library not being imported properly
- Persistent Chat Support
- Chat Reconnect Support
- Operating Hours Documentation
- Uptake @microsoft/[email protected]
- Add
getCallingToken
- Send
ChannelId-lcw
message tag - Uptake [email protected]
- Uptake [email protected]
- Uptake [email protected]
- Update @types/[email protected]
- Uptake [email protected]
msdyn_enablechatreconnect
not being parsed properly- Fix unable to start multiple conversations with same instance due to chat client being disposed
- Pass logger to adapter
- React Native sample app using Omnichannel Chat SDK with react-native-gifted-chat
- Escalation to Voice & Video support (Web Only)
- React sample app using Omnichannel Chat SDK with BotFramework-WebChat
- Expose
sessiontInit
'sinitContext
onstartChat
's optional paramaters - Add ability to use custom
ic3Config
&chatAdapterConfig
- Add telemetry
- Add
rehydrate
flag foronNewMessage
to rehydrate all messages of existing conversation - Add
getConversationDetails
- Add ability to pass custom
ariaTelemetryKey
- Uptake @microsoft/[email protected]
- Uptake @microsoft/[email protected]
- Uptake [email protected]
- Uptake [email protected]
- Uptake [email protected]
- Uptake [email protected]
- onAgentEndSession triggered on accept voice & video call
- Fix multiple instances of IC3Client initialized
uploadFileAttachment
failing on Web
- Fix eslint errors
- Initial release of Omnichannel Chat SDK v0.1.0