@microsoft/omnichannel-chat-widget 0.1.0-main.60c3e17 → 0.1.0-main.6d27b26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/assets/Icons.js +4 -2
- package/lib/cjs/common/Constants.js +22 -171
- package/lib/cjs/common/KeyCodes.js +3 -4
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
- package/lib/cjs/common/storage/default/defaultCacheManager.js +3 -11
- package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +4 -16
- package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +2 -10
- package/lib/cjs/common/telemetry/TelemetryConstants.js +15 -23
- package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
- package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +2 -21
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
- package/lib/cjs/common/utils.js +18 -105
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
- package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +5 -29
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +5 -33
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
- package/lib/cjs/components/footerstateful/FooterStateful.js +6 -29
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +10 -29
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +5 -10
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -6
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -12
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +14 -20
- package/lib/cjs/components/livechatwidget/common/Deferred.js +6 -11
- package/lib/cjs/components/livechatwidget/common/authHelper.js +4 -19
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
- package/lib/cjs/components/livechatwidget/common/createFooter.js +0 -10
- package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
- package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
- package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +70 -30
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +50 -35
- package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
- package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
- package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +16 -54
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +79 -152
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
- package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
- package/lib/cjs/components/livechatwidget/common/startChat.js +156 -118
- package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
- package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
- package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +206 -261
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
- package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +27 -20
- package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
- package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +9 -37
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +16 -37
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
- package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -18
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
- package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
- package/lib/cjs/contexts/ChatContextStore.js +0 -2
- package/lib/cjs/contexts/ChatSDKStore.js +0 -2
- package/lib/cjs/contexts/common/ConversationState.js +0 -1
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +29 -28
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -10
- package/lib/cjs/contexts/createReducer.js +152 -106
- package/lib/cjs/controller/componentController.js +2 -31
- package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
- package/lib/cjs/hooks/useChatContextStore.js +0 -6
- package/lib/cjs/hooks/useChatSDKStore.js +0 -6
- package/lib/cjs/index.js +0 -5
- package/lib/cjs/plugins/newMessageEventHandler.js +19 -36
- package/lib/esm/assets/Icons.js +2 -1
- package/lib/esm/common/Constants.js +19 -158
- package/lib/esm/common/KeyCodes.js +3 -3
- package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
- package/lib/esm/common/storage/default/defaultCacheManager.js +3 -4
- package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +4 -11
- package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +2 -3
- package/lib/esm/common/telemetry/TelemetryConstants.js +19 -20
- package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
- package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +2 -14
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
- package/lib/esm/common/utils.js +18 -53
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
- package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -10
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +5 -12
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
- package/lib/esm/components/footerstateful/FooterStateful.js +8 -10
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +10 -14
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +5 -7
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -4
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -9
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -16
- package/lib/esm/components/livechatwidget/common/Deferred.js +6 -9
- package/lib/esm/components/livechatwidget/common/authHelper.js +4 -12
- package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
- package/lib/esm/components/livechatwidget/common/createFooter.js +0 -1
- package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
- package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
- package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +71 -16
- package/lib/esm/components/livechatwidget/common/endChat.js +52 -20
- package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
- package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
- package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -130
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
- package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
- package/lib/esm/components/livechatwidget/common/startChat.js +155 -89
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +208 -195
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
- package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +27 -7
- package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
- package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -21
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +16 -11
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
- package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
- package/lib/esm/contexts/ChatAdapterStore.js +2 -1
- package/lib/esm/contexts/ChatContextStore.js +2 -1
- package/lib/esm/contexts/ChatSDKStore.js +2 -1
- package/lib/esm/contexts/common/ConversationState.js +0 -1
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +29 -28
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -4
- package/lib/esm/contexts/createReducer.js +152 -103
- package/lib/esm/controller/componentController.js +3 -2
- package/lib/esm/hooks/useChatAdapterStore.js +0 -4
- package/lib/esm/hooks/useChatContextStore.js +0 -4
- package/lib/esm/hooks/useChatSDKStore.js +0 -4
- package/lib/esm/plugins/newMessageEventHandler.js +19 -26
- package/lib/types/assets/Icons.d.ts +1 -0
- package/lib/types/common/Constants.d.ts +12 -0
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +11 -4
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
- package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
- package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
- package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -3
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
- package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
- package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
- package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -1
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +29 -27
- package/package.json +3 -3
|
@@ -3,97 +3,70 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = void 0;
|
|
7
|
-
|
|
8
|
-
var _Constants = require("../../../common/Constants");
|
|
9
|
-
|
|
6
|
+
exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = exports.checkIfConversationStillValid = void 0;
|
|
10
7
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
11
|
-
|
|
8
|
+
var _Constants = require("../../../common/Constants");
|
|
9
|
+
var _utils = require("../../../common/utils");
|
|
10
|
+
var _authHelper = require("./authHelper");
|
|
11
|
+
var _ActivityStreamHandler = require("./ActivityStreamHandler");
|
|
12
|
+
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
12
13
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
13
|
-
|
|
14
14
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
15
|
-
|
|
16
15
|
var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
|
|
17
|
-
|
|
18
16
|
var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
|
|
19
|
-
|
|
20
17
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
21
|
-
|
|
22
18
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
23
|
-
|
|
24
19
|
var _createAdapter = require("./createAdapter");
|
|
25
|
-
|
|
26
20
|
var _newMessageEventHandler = require("../../../plugins/newMessageEventHandler");
|
|
27
|
-
|
|
28
|
-
var _utils = require("../../../common/utils");
|
|
29
|
-
|
|
30
21
|
var _reconnectChatHelper = require("./reconnectChatHelper");
|
|
31
|
-
|
|
32
22
|
var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
|
|
33
|
-
|
|
34
23
|
var _updateSessionDataForTelemetry = require("./updateSessionDataForTelemetry");
|
|
35
|
-
|
|
36
|
-
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
37
|
-
|
|
38
|
-
var _ActivityStreamHandler = require("./ActivityStreamHandler");
|
|
39
|
-
|
|
40
|
-
var _authHelper = require("./authHelper");
|
|
41
|
-
|
|
42
24
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
-
let optionalParams = {};
|
|
44
|
-
|
|
45
|
-
let widgetInstanceId;
|
|
25
|
+
let optionalParams = {};
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
let widgetInstanceId;
|
|
46
28
|
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
47
30
|
const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) => {
|
|
48
|
-
var _props$controlProps
|
|
49
|
-
|
|
31
|
+
var _props$controlProps;
|
|
50
32
|
optionalParams = {}; //Resetting to ensure no stale values
|
|
33
|
+
widgetInstanceId = props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId;
|
|
51
34
|
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
// Can connect to existing chat session
|
|
54
36
|
if (await canConnectToExistingChat(props, chatSDK, state, dispatch, setAdapter)) {
|
|
55
37
|
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
|
|
60
|
-
var _props$reconnectChatP2, _props$reconnectChatP3, _props$reconnectChatP4;
|
|
38
|
+
}
|
|
39
|
+
await (0, _reconnectChatHelper.handleChatReconnect)(chatSDK, props, dispatch, setAdapter, initStartChat, state);
|
|
61
40
|
|
|
62
|
-
|
|
41
|
+
// If chat reconnect has kicked in chat state will become Active or Reconnect. So just exit, else go next
|
|
42
|
+
if (state.appStates.conversationState === _ConversationState.ConversationState.Active || state.appStates.conversationState === _ConversationState.ConversationState.ReconnectChat) {
|
|
63
43
|
return;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const reconnectId = await (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK);
|
|
68
|
-
|
|
69
|
-
if (reconnectId) {
|
|
70
|
-
dispatch({
|
|
71
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
|
|
72
|
-
payload: reconnectId
|
|
73
|
-
});
|
|
74
|
-
dispatch({
|
|
75
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
76
|
-
payload: _ConversationState.ConversationState.ReconnectChat
|
|
77
|
-
});
|
|
78
|
-
return;
|
|
79
|
-
} // Setting Proactive chat settings
|
|
80
|
-
|
|
44
|
+
}
|
|
81
45
|
|
|
46
|
+
// Setting Proactive chat settings
|
|
82
47
|
const isProactiveChat = state.appStates.conversationState === _ConversationState.ConversationState.ProactiveChat;
|
|
83
|
-
const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat;
|
|
84
|
-
|
|
85
|
-
setPreChatAndInitiateChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat);
|
|
86
|
-
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
+
const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat;
|
|
87
49
|
|
|
50
|
+
//Setting PreChat and intiate chat
|
|
51
|
+
setPreChatAndInitiateChat(chatSDK, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat, undefined, props);
|
|
52
|
+
};
|
|
88
53
|
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
89
55
|
exports.prepareStartChat = prepareStartChat;
|
|
56
|
+
const setPreChatAndInitiateChat = async (chatSDK, dispatch, setAdapter, isProactiveChat, proactiveChatEnablePrechatState, state, props) => {
|
|
57
|
+
//Handle reconnect scenario
|
|
58
|
+
if (state) {
|
|
59
|
+
await (0, _reconnectChatHelper.handleChatReconnect)(chatSDK, props, dispatch, setAdapter, initStartChat, state);
|
|
60
|
+
// If chat reconnect has kicked in chat state will become Active or Reconnect. So just exit, else go next
|
|
61
|
+
if (state.appStates.conversationState === _ConversationState.ConversationState.Active || state.appStates.conversationState === _ConversationState.ConversationState.ReconnectChat) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
90
65
|
|
|
91
|
-
const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isProactiveChat, proactiveChatEnablePrechatState) => {
|
|
92
66
|
// Getting prechat Survey Context
|
|
93
67
|
const parseToJson = false;
|
|
94
68
|
const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
|
|
95
69
|
const showPrechat = isProactiveChat ? preChatSurveyResponse && proactiveChatEnablePrechatState : preChatSurveyResponse;
|
|
96
|
-
|
|
97
70
|
if (showPrechat) {
|
|
98
71
|
dispatch({
|
|
99
72
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
|
|
@@ -104,39 +77,43 @@ const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, disp
|
|
|
104
77
|
payload: _ConversationState.ConversationState.Prechat
|
|
105
78
|
});
|
|
106
79
|
return;
|
|
107
|
-
}
|
|
108
|
-
|
|
80
|
+
}
|
|
109
81
|
|
|
82
|
+
//Initiate start chat
|
|
110
83
|
dispatch({
|
|
111
84
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
112
85
|
payload: _ConversationState.ConversationState.Loading
|
|
113
86
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
87
|
+
const optionalParams = {
|
|
88
|
+
isProactiveChat
|
|
89
|
+
};
|
|
90
|
+
await initStartChat(chatSDK, props === null || props === void 0 ? void 0 : props.chatConfig, props === null || props === void 0 ? void 0 : props.getAuthToken, dispatch, setAdapter, optionalParams);
|
|
91
|
+
};
|
|
117
92
|
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
94
|
exports.setPreChatAndInitiateChat = setPreChatAndInitiateChat;
|
|
119
|
-
|
|
120
95
|
const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
|
|
121
96
|
try {
|
|
122
97
|
var _newAdapter$activity$, _TelemetryTimers$Widg;
|
|
123
|
-
|
|
98
|
+
//Start widget load timer
|
|
99
|
+
_TelemetryManager.TelemetryTimers.WidgetLoadTimer = (0, _utils.createTimer)();
|
|
100
|
+
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
101
|
+
Event: _TelemetryConstants.TelemetryEvent.WidgetLoadStarted,
|
|
102
|
+
Description: "Widget loading started"
|
|
103
|
+
});
|
|
124
104
|
const authClientFunction = (0, _authHelper.getAuthClientFunction)(chatConfig);
|
|
125
|
-
|
|
126
105
|
if (getAuthToken && authClientFunction) {
|
|
127
106
|
// set auth token to chat sdk before start chat
|
|
128
107
|
const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
|
|
129
|
-
|
|
130
108
|
if (!authSuccess) {
|
|
131
109
|
return;
|
|
132
110
|
}
|
|
133
111
|
}
|
|
112
|
+
let isStartChatSuccessful = false;
|
|
134
113
|
|
|
135
|
-
|
|
136
|
-
|
|
114
|
+
//Check if chat retrieved from cache
|
|
137
115
|
if (persistedState || params !== null && params !== void 0 && params.liveChatContext) {
|
|
138
116
|
var _persistedState$domai, _persistedState$domai2, _persistedState$domai3, _persistedState$domai4, _persistedState$domai5;
|
|
139
|
-
|
|
140
117
|
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
141
118
|
eventName: _TelemetryConstants.BroadcastEvent.ChatRetrievedFromCache,
|
|
142
119
|
payload: {
|
|
@@ -145,19 +122,17 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
|
|
|
145
122
|
}
|
|
146
123
|
});
|
|
147
124
|
}
|
|
148
|
-
|
|
149
125
|
try {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
154
|
-
Event: _TelemetryConstants.TelemetryEvent.StartChatSDKCall
|
|
155
|
-
}); // Set custom context params
|
|
156
|
-
|
|
157
|
-
|
|
126
|
+
var _window$Microsoft, _window$Microsoft$Dyn, _window$Microsoft$Dyn2, _window$Microsoft$Dyn3;
|
|
127
|
+
// Set custom context params
|
|
158
128
|
setCustomContextParams(chatSDK);
|
|
159
|
-
|
|
160
|
-
|
|
129
|
+
const defaultOptionalParams = {
|
|
130
|
+
sendDefaultInitContext: true,
|
|
131
|
+
isProactiveChat: !!(params !== null && params !== void 0 && params.isProactiveChat),
|
|
132
|
+
portalContactId: (_window$Microsoft = window.Microsoft) === null || _window$Microsoft === void 0 ? void 0 : (_window$Microsoft$Dyn = _window$Microsoft.Dynamic365) === null || _window$Microsoft$Dyn === void 0 ? void 0 : (_window$Microsoft$Dyn2 = _window$Microsoft$Dyn.Portal) === null || _window$Microsoft$Dyn2 === void 0 ? void 0 : (_window$Microsoft$Dyn3 = _window$Microsoft$Dyn2.User) === null || _window$Microsoft$Dyn3 === void 0 ? void 0 : _window$Microsoft$Dyn3.contactId
|
|
133
|
+
};
|
|
134
|
+
const startChatOptionalParams = Object.assign({}, params, optionalParams, defaultOptionalParams);
|
|
135
|
+
await chatSDK.startChat(startChatOptionalParams);
|
|
161
136
|
isStartChatSuccessful = true;
|
|
162
137
|
} catch (error) {
|
|
163
138
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
@@ -166,18 +141,17 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
|
|
|
166
141
|
exception: `Failed to setup startChat: ${error}`
|
|
167
142
|
}
|
|
168
143
|
});
|
|
169
|
-
|
|
170
|
-
|
|
144
|
+
isStartChatSuccessful = false;
|
|
145
|
+
// Resetting the widget state to Closed, for recent introduction of OC rate limiting(429 Error)
|
|
171
146
|
// TODO : How to diplay a proper UI message to customer to try after sometime at this point - cool down scenario
|
|
172
|
-
|
|
173
147
|
dispatch({
|
|
174
148
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
175
149
|
payload: _ConversationState.ConversationState.Closed
|
|
176
150
|
});
|
|
177
151
|
return;
|
|
178
|
-
}
|
|
179
|
-
|
|
152
|
+
}
|
|
180
153
|
|
|
154
|
+
// New adapter creation
|
|
181
155
|
const newAdapter = await (0, _createAdapter.createAdapter)(chatSDK);
|
|
182
156
|
setAdapter(newAdapter);
|
|
183
157
|
const chatToken = await chatSDK.getChatToken();
|
|
@@ -186,36 +160,41 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
|
|
|
186
160
|
payload: chatToken
|
|
187
161
|
});
|
|
188
162
|
newAdapter === null || newAdapter === void 0 ? void 0 : (_newAdapter$activity$ = newAdapter.activity$) === null || _newAdapter$activity$ === void 0 ? void 0 : _newAdapter$activity$.subscribe((0, _newMessageEventHandler.createOnNewAdapterActivityHandler)(chatToken === null || chatToken === void 0 ? void 0 : chatToken.chatId, chatToken === null || chatToken === void 0 ? void 0 : chatToken.visitorId));
|
|
189
|
-
|
|
190
163
|
if (persistedState) {
|
|
191
164
|
dispatch({
|
|
192
165
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_STATE,
|
|
193
166
|
payload: persistedState
|
|
194
167
|
});
|
|
195
|
-
|
|
168
|
+
(0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
|
|
196
169
|
return;
|
|
197
|
-
}
|
|
198
|
-
|
|
170
|
+
}
|
|
199
171
|
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
200
173
|
const liveChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getCurrentLiveChatContext());
|
|
201
174
|
dispatch({
|
|
202
175
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
203
176
|
payload: liveChatContext
|
|
204
|
-
});
|
|
177
|
+
});
|
|
205
178
|
|
|
206
|
-
|
|
179
|
+
// Set post chat context in state, no survey load
|
|
180
|
+
(0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch);
|
|
207
181
|
|
|
208
|
-
|
|
182
|
+
// Updating chat session detail for telemetry
|
|
183
|
+
await (0, _updateSessionDataForTelemetry.updateSessionDataForTelemetry)(chatSDK, dispatch);
|
|
209
184
|
|
|
185
|
+
// Set app state to Active
|
|
210
186
|
if (isStartChatSuccessful) {
|
|
211
187
|
_ActivityStreamHandler.ActivityStreamHandler.uncork();
|
|
212
|
-
|
|
188
|
+
// Update start chat failure app state if chat loads successfully
|
|
189
|
+
dispatch({
|
|
190
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_FAILING,
|
|
191
|
+
payload: false
|
|
192
|
+
});
|
|
213
193
|
dispatch({
|
|
214
194
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
215
195
|
payload: _ConversationState.ConversationState.Active
|
|
216
196
|
});
|
|
217
197
|
}
|
|
218
|
-
|
|
219
198
|
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
220
199
|
Event: _TelemetryConstants.TelemetryEvent.WidgetLoadComplete,
|
|
221
200
|
Description: "Widget load complete",
|
|
@@ -228,10 +207,8 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
|
|
|
228
207
|
Exception: `Widget load Failed: ${ex}`
|
|
229
208
|
}
|
|
230
209
|
});
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
210
|
+
_NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "Start Chat Failed: " + ex);
|
|
211
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
235
212
|
if (ex.message === _Constants.ChatSDKError.WidgetUseOutsideOperatingHour) {
|
|
236
213
|
dispatch({
|
|
237
214
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_OUTSIDE_OPERATING_HOURS,
|
|
@@ -241,29 +218,37 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
|
|
|
241
218
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
242
219
|
payload: _ConversationState.ConversationState.OutOfOffice
|
|
243
220
|
});
|
|
221
|
+
return;
|
|
244
222
|
}
|
|
223
|
+
// Set app state to failing start chat
|
|
224
|
+
dispatch({
|
|
225
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_FAILING,
|
|
226
|
+
payload: true
|
|
227
|
+
});
|
|
228
|
+
// Show the loading pane in other cases for failure, this will help for both hideStartChatButton case
|
|
229
|
+
dispatch({
|
|
230
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
231
|
+
payload: _ConversationState.ConversationState.Loading
|
|
232
|
+
});
|
|
245
233
|
} finally {
|
|
246
234
|
optionalParams = {};
|
|
247
235
|
widgetInstanceId = "";
|
|
248
236
|
}
|
|
249
|
-
};
|
|
250
|
-
|
|
237
|
+
};
|
|
251
238
|
|
|
239
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
252
240
|
exports.initStartChat = initStartChat;
|
|
253
|
-
|
|
254
241
|
const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdapter) => {
|
|
255
242
|
var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps2, _persistedState$domai6, _persistedState$appSt;
|
|
256
|
-
|
|
257
243
|
// By pass this function in case of popout chat
|
|
258
|
-
if (state.appStates.
|
|
244
|
+
if (state.appStates.hideStartChatButton === true) {
|
|
259
245
|
return false;
|
|
260
246
|
}
|
|
247
|
+
const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.widgetInstanceId) ?? "");
|
|
261
248
|
|
|
262
|
-
|
|
263
|
-
|
|
249
|
+
//Connect to only active chat session
|
|
264
250
|
if (persistedState && !(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai6 = persistedState.domainStates) === null || _persistedState$domai6 === void 0 ? void 0 : _persistedState$domai6.liveChatContext) && (persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$appSt = persistedState.appStates) === null || _persistedState$appSt === void 0 ? void 0 : _persistedState$appSt.conversationState) === _ConversationState.ConversationState.Active) {
|
|
265
251
|
var _persistedState$domai7;
|
|
266
|
-
|
|
267
252
|
dispatch({
|
|
268
253
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
269
254
|
payload: _ConversationState.ConversationState.Loading
|
|
@@ -276,33 +261,86 @@ const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdap
|
|
|
276
261
|
} else {
|
|
277
262
|
return false;
|
|
278
263
|
}
|
|
279
|
-
};
|
|
280
|
-
|
|
264
|
+
};
|
|
281
265
|
|
|
266
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
282
267
|
const setCustomContextParams = chatSDK => {
|
|
283
268
|
var _chatSDK$omnichannelC3, _chatSDK$omnichannelC4, _persistedState$domai8;
|
|
284
|
-
|
|
285
269
|
// Add custom context only for unauthenticated chat
|
|
286
270
|
const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.widgetId, widgetInstanceId ?? "");
|
|
287
|
-
|
|
288
271
|
if (!(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai8 = persistedState.domainStates) === null || _persistedState$domai8 === void 0 ? void 0 : _persistedState$domai8.customContext)) {
|
|
289
272
|
var _persistedState$domai9, _persistedState$domai10;
|
|
290
|
-
|
|
291
273
|
if (persistedState !== null && persistedState !== void 0 && (_persistedState$domai9 = persistedState.domainStates.liveChatConfig) !== null && _persistedState$domai9 !== void 0 && _persistedState$domai9.LiveChatConfigAuthSettings) {
|
|
292
274
|
const errorMessage = "Use of custom context with authenticated chat is deprecated. The chat would not go through.";
|
|
293
|
-
|
|
294
275
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.WARN, {
|
|
295
276
|
Event: _TelemetryConstants.TelemetryEvent.StartChatMethodException,
|
|
296
277
|
ExceptionDetails: {
|
|
297
278
|
exception: errorMessage
|
|
298
279
|
}
|
|
299
280
|
});
|
|
300
|
-
|
|
301
281
|
throw new Error(errorMessage);
|
|
302
282
|
}
|
|
303
|
-
|
|
304
283
|
optionalParams = Object.assign({}, optionalParams, {
|
|
305
284
|
customContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai10 = persistedState.domainStates) === null || _persistedState$domai10 === void 0 ? void 0 : _persistedState$domai10.customContext
|
|
306
285
|
});
|
|
307
286
|
}
|
|
308
|
-
};
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
290
|
+
const handleAuthenticationIfEnabled = async (chatSDK, props) => {
|
|
291
|
+
//For auth chat
|
|
292
|
+
if (props.getAuthToken) {
|
|
293
|
+
const authClientFunction = (0, _authHelper.getAuthClientFunction)(props.chatConfig);
|
|
294
|
+
if (authClientFunction) {
|
|
295
|
+
// set auth token to chat sdk before start chat
|
|
296
|
+
const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, props.chatConfig, props.getAuthToken);
|
|
297
|
+
if (!authSuccess) {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return true;
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
307
|
+
const checkIfConversationStillValid = async (chatSDK, props, requestId, dispatch) => {
|
|
308
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
309
|
+
let conversationDetails = undefined;
|
|
310
|
+
|
|
311
|
+
// Show Loading screen during auth check and start chat calls
|
|
312
|
+
dispatch({
|
|
313
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
314
|
+
payload: _ConversationState.ConversationState.Loading
|
|
315
|
+
});
|
|
316
|
+
const authSucceed = await handleAuthenticationIfEnabled(chatSDK, props);
|
|
317
|
+
if (!authSucceed) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
//Preserve old requestId
|
|
322
|
+
const oldRequestId = chatSDK.requestId;
|
|
323
|
+
try {
|
|
324
|
+
chatSDK.requestId = requestId;
|
|
325
|
+
conversationDetails = await chatSDK.getConversationDetails();
|
|
326
|
+
if (Object.keys(conversationDetails).length === 0) {
|
|
327
|
+
chatSDK.requestId = oldRequestId;
|
|
328
|
+
return false;
|
|
329
|
+
}
|
|
330
|
+
if (conversationDetails.state === _Constants.LiveWorkItemState.Closed || conversationDetails.state === _Constants.LiveWorkItemState.WrapUp) {
|
|
331
|
+
chatSDK.requestId = oldRequestId;
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
return true;
|
|
335
|
+
} catch (erorr) {
|
|
336
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
337
|
+
Event: _TelemetryConstants.TelemetryEvent.GetConversationDetailsException,
|
|
338
|
+
ExceptionDetails: {
|
|
339
|
+
exception: `Conversation is not valid: ${erorr}`
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
chatSDK.requestId = oldRequestId;
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
exports.checkIfConversationStillValid = checkIfConversationStillValid;
|
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.startProactiveChat = void 0;
|
|
7
|
-
|
|
8
7
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
9
|
-
|
|
10
8
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
11
|
-
|
|
12
9
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
13
|
-
|
|
14
10
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
15
|
-
|
|
16
11
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
17
|
-
|
|
18
12
|
// Defines startProactiveChat callback
|
|
19
13
|
const startProactiveChat = (dispatch, notificationConfig, enablePreChat, inNewWindow) => {
|
|
20
14
|
dispatch({
|
|
@@ -29,12 +23,10 @@ const startProactiveChat = (dispatch, notificationConfig, enablePreChat, inNewWi
|
|
|
29
23
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
30
24
|
payload: _ConversationState.ConversationState.ProactiveChat
|
|
31
25
|
});
|
|
32
|
-
|
|
33
26
|
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
34
27
|
Event: _TelemetryConstants.TelemetryEvent.IncomingProactiveChatScreenLoaded,
|
|
35
28
|
ElapsedTimeInMilliseconds: _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed,
|
|
36
29
|
Description: "Incoming proactive chat loaded."
|
|
37
30
|
});
|
|
38
31
|
};
|
|
39
|
-
|
|
40
32
|
exports.startProactiveChat = startProactiveChat;
|
|
@@ -4,39 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.updateSessionDataForTelemetry = void 0;
|
|
7
|
-
|
|
8
7
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
9
|
-
|
|
10
8
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
11
|
-
|
|
12
9
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
13
|
-
|
|
14
10
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
11
|
const updateSessionDataForTelemetry = async (chatSDK, dispatch) => {
|
|
16
12
|
if (chatSDK) {
|
|
17
13
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
14
|
const chatSession = await chatSDK.getCurrentLiveChatContext();
|
|
19
|
-
|
|
20
15
|
const telemetryData = _TelemetryHelper.TelemetryHelper.addSessionDataToTelemetry(chatSession, _TelemetryManager.TelemetryManager.InternalTelemetryData);
|
|
21
|
-
|
|
22
16
|
dispatch({
|
|
23
17
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
24
18
|
payload: telemetryData
|
|
25
19
|
});
|
|
26
20
|
await updateConversationDataForTelemetry(chatSDK, dispatch);
|
|
27
21
|
}
|
|
28
|
-
};
|
|
29
|
-
|
|
22
|
+
};
|
|
30
23
|
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
25
|
exports.updateSessionDataForTelemetry = updateSessionDataForTelemetry;
|
|
32
|
-
|
|
33
26
|
const updateConversationDataForTelemetry = async (chatSDK, dispatch) => {
|
|
34
27
|
if (chatSDK) {
|
|
35
28
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
29
|
const liveWorkItem = await chatSDK.getConversationDetails();
|
|
37
|
-
|
|
38
30
|
const telemetryData = _TelemetryHelper.TelemetryHelper.addConversationDataToTelemetry(liveWorkItem, _TelemetryManager.TelemetryManager.InternalTelemetryData);
|
|
39
|
-
|
|
40
31
|
dispatch({
|
|
41
32
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
42
33
|
payload: telemetryData
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|