@microsoft/omnichannel-chat-widget 0.1.0-main.24bd1e6 → 0.1.0-main.2b2f787

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