All notable changes to this project will be documented in this file.
- Updated getLivechatTranscript livechatcontect check for persistent chat
- Add check for getConversation details before call onAgentEndSession call back since participant removed is not reliable
- Add
disablePolling
flag foronNewMessage
to stop polling
- Update
ACSAdapterVersion
to reflect the correct version
- Enabling LongPolling to continue after websocket is set, to prevent messages lost. Polling will stop when conversation ends.
- Added stopPolling method to stop the long polling when ending the chat.
- Reduce polling interval with exponential backoff
- migrate acs_webchat-chat-adapter@0.0.35-beta.30.1 to @microsoft/botframework-webchat-adapter-azure-communication-chat@0.0.1-beta.1
- Fix
ChatSDK.onNewMessages()
callingcreateOmnichannelMessages()
twice during polling
- Added push notification properties to session init optional params
- Fix for ACS client preventing new messages from being populated in the new message callback.
- Updated chat adapter dependecy ,also created new logic for PI data scrubbing
- Update of missing telemetry events for exposed API's
- Adding exception details for telemetry for Email Transcript
- Adding exception details for telemetry for GetMessages / SendMessages
- Adding validation to exposed API's to require validations before to be executed.
- Uptake @microsoft/ocsdk@0.5.10
- types not included in external exports.
- Missing type definitions for public API's responses, removing any as response type
- Defining explicit response types for void functions.
- Defining a type for MaskingRules
- Restructure for ChatConfig initialization and build of entities around it.
- Adding optional params for end chat to allow decide internally when to call close session backend.
- Added console log when the given widget id is no longer found in the system
- uptake azure/communication-chat@1.5.0
- uptake azure/communication-common@2.3.1
- uptake acs_webchat-chat-adapter@0.0.35-beta.30
- Uptake @microsoft/ocsdk@0.5.9
- Add
requestId
toOCClient.getReconnectableChats()
parameters - Load ACS Chat adapter as npm dependency, instead of download it from unpkg host.
- Uptake @microsoft/ocsdk@0.5.8
- Uptake @microsoft/ocsdk@0.5.7
- 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/ocsdk@0.5.6
- Uptake @microsoft/ocsdk@0.5.5
- Uptake @microsoft/omnichannel-ic3core@0.1.4
- 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/ocsdk@0.5.3
- Enable the ability to use
CoreServices
orgUrl dynamically at runtime
- Uptake @microsoft/ocsdk@0.5.2
- Add
RequestHeaders
telemetry base property toOCSDKContract
- Add ability to send
ocUserAgent
- Uptake @microsoft/ocsdk@0.5.1
- 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/ocsdk@0.4.3
- 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/ocsdk@0.4.2
- Added "httpResponseStatusCode" attribute in the error object thrown
- Add
RequestPayload
,RequestPath
,RequestMethod
,ResponseStatusCode
telemetry base property toOCSDKContract
- Update Jest configuration and tests to support new libraries
- Uptake @microsoft/omnichannel-ic3core@0.1.3
- Uptake @microsoft/ocsdk@0.4.1
- 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/ocsdk@0.4.0
- 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/omnichannel-amsclient@0.1.4
- Uptake acs_webchat-chat-adapter@0.0.35-beta.17
- Uptake @microsoft/ocsdk@0.3.4
- 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/ocsdk@0.3.1
- Uptake acs_webchat-chat-adapter@0.0.35-beta.8
- Uptake acs_webchat-chat-adapter@0.0.35-beta.9
- Uptake acs_webchat-chat-adapter@0.0.35-beta.12
- Uptake @microsoft/omnichannel-amsclient@0.1.2
- Uptake @microsoft/ocsdk@0.3.2
- 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/communication-chat@1.1.1
- Uptake acs_webchat-chat-adapter@0.0.35-beta.2
- Update
locale
property inChatTranscriptBody
interface to be optional - Uptake acs_webchat-chat-adapter@0.0.35-beta.4
- 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/ocsdk@0.3.0
- Uptake @microsoft/omnichannel-ic3core@0.1.2
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/ocsdk@0.2.0
- Add
getCallingToken
- Send
ChannelId-lcw
message tag - Uptake IC3Client@2021.08.14.1
- Uptake botframework-webchat-adapter-ic3@0.1.0-master.2dba07b
- Uptake jest@27.1.0
- Update @types/jest@27.0.1
- Uptake ts-jest@27.0.5
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/ocsdk@0.1.1
- Uptake @microsoft/omnichannel-ic3core@0.1.1
- Uptake jest@26.6.3
- Uptake ts-jest@26.5.1
- Uptake IC3Client@2021.03.02.1
- Uptake botframework-webchat-adapter-ic3@0.1.0-master.f4dfd7d
- 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