@microsoft/omnichannel-chat-widget 0.1.0-main.e67738e → 0.1.0-main.ec08ec5

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 (262) hide show
  1. package/lib/cjs/common/Constants.js +0 -167
  2. package/lib/cjs/common/KeyCodes.js +0 -3
  3. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  4. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  5. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  6. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +21 -22
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  11. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  12. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  13. package/lib/cjs/common/utils.js +18 -105
  14. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  15. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
  16. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -32
  17. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  20. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  21. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  22. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  24. package/lib/cjs/components/headerstateful/HeaderStateful.js +12 -27
  25. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  26. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +2 -9
  27. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -11
  29. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
  30. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -10
  31. package/lib/cjs/components/livechatwidget/common/authHelper.js +13 -15
  32. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  33. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  34. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
  35. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  36. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +55 -36
  37. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  38. package/lib/cjs/components/livechatwidget/common/endChat.js +8 -33
  39. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  40. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  41. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  42. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +16 -54
  43. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +36 -66
  44. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  45. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  46. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/startChat.js +55 -86
  48. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  49. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  50. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +125 -196
  51. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  52. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  53. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  54. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  55. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  56. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  57. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  58. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  59. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +8 -36
  60. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  61. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  62. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
  63. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  65. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  66. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +2 -17
  67. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  68. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  112. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  113. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  114. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  115. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  116. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +1 -2
  117. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +8 -10
  118. package/lib/cjs/contexts/createReducer.js +135 -106
  119. package/lib/cjs/controller/componentController.js +1 -30
  120. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  121. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  122. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  123. package/lib/cjs/index.js +0 -5
  124. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  125. package/lib/esm/common/Constants.js +0 -155
  126. package/lib/esm/common/KeyCodes.js +0 -2
  127. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  128. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  129. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  130. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  131. package/lib/esm/common/telemetry/TelemetryConstants.js +25 -19
  132. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  133. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  134. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  135. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  136. package/lib/esm/common/utils.js +18 -53
  137. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  138. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  139. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  140. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  141. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  142. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  143. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  144. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  145. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -12
  146. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  147. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +2 -6
  148. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
  149. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -8
  150. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
  151. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -8
  152. package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
  153. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  154. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  155. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
  156. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  157. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +57 -23
  158. package/lib/esm/components/livechatwidget/common/endChat.js +10 -18
  159. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  160. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  161. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  162. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
  163. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +37 -51
  164. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  165. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  166. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  167. package/lib/esm/components/livechatwidget/common/startChat.js +57 -59
  168. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  169. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +126 -129
  170. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  171. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  172. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  173. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  174. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  175. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  176. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  177. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  178. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -20
  179. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  180. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  181. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
  182. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  183. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  184. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +2 -13
  185. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  186. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  187. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  188. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  189. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  190. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  191. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  192. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  193. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  194. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  230. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  231. package/lib/esm/contexts/ChatContextStore.js +2 -1
  232. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  233. package/lib/esm/contexts/common/ConversationState.js +0 -1
  234. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +1 -2
  235. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +8 -6
  236. package/lib/esm/contexts/createReducer.js +135 -103
  237. package/lib/esm/controller/componentController.js +2 -1
  238. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  239. package/lib/esm/hooks/useChatContextStore.js +0 -4
  240. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  241. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  242. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  243. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  244. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  245. package/lib/types/common/telemetry/TelemetryConstants.d.ts +9 -2
  246. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  247. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  248. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -5
  249. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -2
  250. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  251. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  252. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  253. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  254. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  255. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  256. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  257. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  258. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  259. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -1
  260. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +1 -1
  261. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  262. package/package.json +3 -3
@@ -4,42 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.registerTelemetryLoggers = void 0;
7
-
8
7
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
-
10
8
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
-
12
9
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
13
-
14
10
  var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
15
-
16
11
  var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultConfigs/defaultTelemetryInternalData");
17
-
18
12
  var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultConfigs/defaultTelemetryConfiguration");
19
-
20
13
  const registerTelemetryLoggers = (props, dispatch) => {
21
14
  var _props$liveChatContex, _props$liveChatContex2;
22
-
23
- const telemetryConfig = { ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
15
+ const telemetryConfig = {
16
+ ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
24
17
  ...props.telemetryConfig
25
18
  };
26
-
27
19
  if ((_props$liveChatContex = props.liveChatContextFromCache) !== null && _props$liveChatContex !== void 0 && (_props$liveChatContex2 = _props$liveChatContex.domainStates) !== null && _props$liveChatContex2 !== void 0 && _props$liveChatContex2.telemetryInternalData) {
28
20
  var _props$liveChatContex3, _props$liveChatContex4;
29
-
30
21
  _TelemetryManager.TelemetryManager.InternalTelemetryData = (_props$liveChatContex3 = props.liveChatContextFromCache) === null || _props$liveChatContex3 === void 0 ? void 0 : (_props$liveChatContex4 = _props$liveChatContex3.domainStates) === null || _props$liveChatContex4 === void 0 ? void 0 : _props$liveChatContex4.telemetryInternalData;
31
22
  } else {
32
23
  var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$chatSDK3, _props$chatSDK3$omnic;
33
-
34
- let telemetryData = { ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
24
+ let telemetryData = {
25
+ ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
35
26
  telemetryConfig: Object.assign({}, _defaultTelemetryConfiguration.defaultTelemetryConfiguration, telemetryConfig),
36
27
  ariaConfig: Object.assign({}, _defaultAriaConfig.defaultAriaConfig, telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.ariaConfigurations)
37
28
  };
38
-
39
29
  if (props.chatConfig) {
40
30
  telemetryData = _TelemetryHelper.TelemetryHelper.addChatConfigDataToTelemetry(props === null || props === void 0 ? void 0 : props.chatConfig, telemetryData);
41
31
  }
42
-
43
32
  telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
44
33
  telemetryData.OCChatSDKVersion = telemetryConfig.OCChatSDKVersion ?? "0.0.0-0";
45
34
  telemetryData.chatComponentVersion = telemetryConfig.chatComponentVersion ?? "0.0.0-0";
@@ -53,8 +42,6 @@ const registerTelemetryLoggers = (props, dispatch) => {
53
42
  payload: telemetryData
54
43
  });
55
44
  }
56
-
57
45
  (0, _TelemetryManager.RegisterLoggers)();
58
46
  };
59
-
60
47
  exports.registerTelemetryLoggers = registerTelemetryLoggers;
@@ -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;
@@ -4,38 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shareObservable = shareObservable;
7
-
8
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
8
  function shareObservable(observable) {
10
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- let observers = []; // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ let observers = [];
12
11
 
13
- let subscription; // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ let subscription;
14
14
 
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
16
  return new window.Observable(observer => {
16
17
  if (!subscription) {
17
18
  subscription = observable.subscribe({
18
19
  complete() {
19
20
  observers.forEach(observer => observer.complete());
20
21
  },
21
-
22
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
23
  error(err) {
24
24
  observers.forEach(observer => observer.error(err));
25
25
  },
26
-
27
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
27
  next(value) {
29
28
  observers.forEach(observer => observer.next(value));
30
29
  }
31
-
32
30
  });
33
31
  }
34
-
35
32
  observers.push(observer);
36
33
  return () => {
37
34
  observers = observers.filter(o => o !== observer);
38
-
39
35
  if (!observers.length) {
40
36
  subscription.unsubscribe();
41
37
  subscription = null;
@@ -4,68 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = void 0;
7
-
8
7
  var _Constants = require("../../../common/Constants");
9
-
10
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
11
-
12
9
  var _ConversationState = require("../../../contexts/common/ConversationState");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
17
-
18
12
  var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
19
-
20
13
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
21
-
22
14
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
23
-
24
15
  var _createAdapter = require("./createAdapter");
25
-
26
16
  var _newMessageEventHandler = require("../../../plugins/newMessageEventHandler");
27
-
28
17
  var _utils = require("../../../common/utils");
29
-
30
18
  var _reconnectChatHelper = require("./reconnectChatHelper");
31
-
32
19
  var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
33
-
34
20
  var _updateSessionDataForTelemetry = require("./updateSessionDataForTelemetry");
35
-
36
21
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
37
-
38
22
  var _ActivityStreamHandler = require("./ActivityStreamHandler");
39
-
40
23
  var _authHelper = require("./authHelper");
41
-
42
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
- let optionalParams = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
-
45
- let widgetInstanceId; // 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;
46
28
 
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
30
  const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) => {
48
31
  var _props$controlProps, _props$reconnectChatP;
49
-
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
- widgetInstanceId = props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId; // Can connect to existing chat session
53
-
35
+ // Can connect to existing chat session
54
36
  if (await canConnectToExistingChat(props, chatSDK, state, dispatch, setAdapter)) {
55
37
  return;
56
- } // Redirecting if unauthenticated reconnect chat expired
57
-
38
+ }
58
39
 
40
+ // Redirecting if unauthenticated reconnect chat expired
59
41
  if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
60
- var _props$reconnectChatP2, _props$reconnectChatP3, _props$reconnectChatP4;
61
-
62
- await (0, _reconnectChatHelper.handleRedirectUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.reconnectId, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.redirectInSameWindow);
42
+ var _props$reconnectChatP2, _props$reconnectChatP3;
43
+ await (0, _reconnectChatHelper.handleRedirectUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, 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);
63
44
  return;
64
- } // Getting reconnectId for authenticated chat
65
-
45
+ }
66
46
 
47
+ // Getting reconnectId for authenticated chat
67
48
  const reconnectId = await (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK);
68
-
69
49
  if (reconnectId) {
70
50
  dispatch({
71
51
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
@@ -76,24 +56,23 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
76
56
  payload: _ConversationState.ConversationState.ReconnectChat
77
57
  });
78
58
  return;
79
- } // Setting Proactive chat settings
80
-
59
+ }
81
60
 
61
+ // Setting Proactive chat settings
82
62
  const isProactiveChat = state.appStates.conversationState === _ConversationState.ConversationState.ProactiveChat;
83
- const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat; //Setting PreChat and intiate chat
63
+ const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat;
84
64
 
65
+ //Setting PreChat and intiate chat
85
66
  setPreChatAndInitiateChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat);
86
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
-
67
+ };
88
68
 
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
70
  exports.prepareStartChat = prepareStartChat;
90
-
91
71
  const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isProactiveChat, proactiveChatEnablePrechatState) => {
92
72
  // Getting prechat Survey Context
93
73
  const parseToJson = false;
94
74
  const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
95
75
  const showPrechat = isProactiveChat ? preChatSurveyResponse && proactiveChatEnablePrechatState : preChatSurveyResponse;
96
-
97
76
  if (showPrechat) {
98
77
  dispatch({
99
78
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
@@ -104,28 +83,34 @@ const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, disp
104
83
  payload: _ConversationState.ConversationState.Prechat
105
84
  });
106
85
  return;
107
- } //Initiate start chat
108
-
86
+ }
109
87
 
88
+ //Initiate start chat
110
89
  dispatch({
111
90
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
112
91
  payload: _ConversationState.ConversationState.Loading
113
92
  });
114
93
  await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter);
115
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
-
94
+ };
117
95
 
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
97
  exports.setPreChatAndInitiateChat = setPreChatAndInitiateChat;
119
-
120
98
  const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
121
99
  try {
122
100
  var _newAdapter$activity$, _TelemetryTimers$Widg;
101
+ const authClientFunction = (0, _authHelper.getAuthClientFunction)(chatConfig);
102
+ if (getAuthToken && authClientFunction) {
103
+ // set auth token to chat sdk before start chat
104
+ const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
105
+ if (!authSuccess) {
106
+ return;
107
+ }
108
+ }
109
+ let isStartChatSuccessful = false;
123
110
 
124
- let isStartChatSuccessful = false; //Check if chat retrieved from cache
125
-
111
+ //Check if chat retrieved from cache
126
112
  if (persistedState || params !== null && params !== void 0 && params.liveChatContext) {
127
113
  var _persistedState$domai, _persistedState$domai2, _persistedState$domai3, _persistedState$domai4, _persistedState$domai5;
128
-
129
114
  _omnichannelChatComponents.BroadcastService.postMessage({
130
115
  eventName: _TelemetryConstants.BroadcastEvent.ChatRetrievedFromCache,
131
116
  payload: {
@@ -134,20 +119,16 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
134
119
  }
135
120
  });
136
121
  }
137
-
138
122
  try {
139
123
  //Start widget load timer
140
124
  _TelemetryManager.TelemetryTimers.WidgetLoadTimer = (0, _utils.createTimer)();
141
-
142
125
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
143
126
  Event: _TelemetryConstants.TelemetryEvent.StartChatSDKCall
144
- }); // Set custom context params
145
-
127
+ });
146
128
 
129
+ // Set custom context params
147
130
  setCustomContextParams(chatSDK);
148
- optionalParams = Object.assign({}, params, optionalParams); // set auth token to chat sdk before start chat
149
-
150
- await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
131
+ optionalParams = Object.assign({}, params, optionalParams);
151
132
  await chatSDK.startChat(optionalParams);
152
133
  isStartChatSuccessful = true;
153
134
  } catch (error) {
@@ -157,18 +138,17 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
157
138
  exception: `Failed to setup startChat: ${error}`
158
139
  }
159
140
  });
160
-
161
- isStartChatSuccessful = false; // Resetting the widget state to Closed, for recent introduction of OC rate limiting(429 Error)
141
+ isStartChatSuccessful = false;
142
+ // Resetting the widget state to Closed, for recent introduction of OC rate limiting(429 Error)
162
143
  // TODO : How to diplay a proper UI message to customer to try after sometime at this point - cool down scenario
163
-
164
144
  dispatch({
165
145
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
166
146
  payload: _ConversationState.ConversationState.Closed
167
147
  });
168
148
  return;
169
- } // New adapter creation
170
-
149
+ }
171
150
 
151
+ // New adapter creation
172
152
  const newAdapter = await (0, _createAdapter.createAdapter)(chatSDK);
173
153
  setAdapter(newAdapter);
174
154
  const chatToken = await chatSDK.getChatToken();
@@ -177,7 +157,6 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
177
157
  payload: chatToken
178
158
  });
179
159
  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));
180
-
181
160
  if (persistedState) {
182
161
  dispatch({
183
162
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_STATE,
@@ -185,28 +164,29 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
185
164
  });
186
165
  await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
187
166
  return;
188
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
189
-
167
+ }
190
168
 
169
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
191
170
  const liveChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getCurrentLiveChatContext());
192
171
  dispatch({
193
172
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
194
173
  payload: liveChatContext
195
- }); // Set post chat context in state, no survey load
174
+ });
196
175
 
197
- await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch); // Updating chat session detail for telemetry
176
+ // Set post chat context in state, no survey load
177
+ (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch);
198
178
 
199
- await (0, _updateSessionDataForTelemetry.updateSessionDataForTelemetry)(chatSDK, dispatch); // Set app state to Active
179
+ // Updating chat session detail for telemetry
180
+ await (0, _updateSessionDataForTelemetry.updateSessionDataForTelemetry)(chatSDK, dispatch);
200
181
 
182
+ // Set app state to Active
201
183
  if (isStartChatSuccessful) {
202
184
  _ActivityStreamHandler.ActivityStreamHandler.uncork();
203
-
204
185
  dispatch({
205
186
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
206
187
  payload: _ConversationState.ConversationState.Active
207
188
  });
208
189
  }
209
-
210
190
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
211
191
  Event: _TelemetryConstants.TelemetryEvent.WidgetLoadComplete,
212
192
  Description: "Widget load complete",
@@ -219,10 +199,8 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
219
199
  Exception: `Widget load Failed: ${ex}`
220
200
  }
221
201
  });
222
-
223
- _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "Start Chat Failed: " + ex); // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
-
225
-
202
+ _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "Start Chat Failed: " + ex);
203
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
226
204
  if (ex.message === _Constants.ChatSDKError.WidgetUseOutsideOperatingHour) {
227
205
  dispatch({
228
206
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_OUTSIDE_OPERATING_HOURS,
@@ -237,24 +215,21 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
237
215
  optionalParams = {};
238
216
  widgetInstanceId = "";
239
217
  }
240
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
-
218
+ };
242
219
 
220
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
243
221
  exports.initStartChat = initStartChat;
244
-
245
222
  const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdapter) => {
246
223
  var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps2, _persistedState$domai6, _persistedState$appSt;
247
-
248
224
  // By pass this function in case of popout chat
249
225
  if (state.appStates.skipChatButtonRendering === true) {
250
226
  return false;
251
227
  }
228
+ 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) ?? "");
252
229
 
253
- 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) ?? ""); //Connect to only active chat session
254
-
230
+ //Connect to only active chat session
255
231
  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) {
256
232
  var _persistedState$domai7;
257
-
258
233
  dispatch({
259
234
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
260
235
  payload: _ConversationState.ConversationState.Loading
@@ -267,31 +242,25 @@ const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdap
267
242
  } else {
268
243
  return false;
269
244
  }
270
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
-
245
+ };
272
246
 
247
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
273
248
  const setCustomContextParams = chatSDK => {
274
249
  var _chatSDK$omnichannelC3, _chatSDK$omnichannelC4, _persistedState$domai8;
275
-
276
250
  // Add custom context only for unauthenticated chat
277
251
  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 ?? "");
278
-
279
252
  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)) {
280
253
  var _persistedState$domai9, _persistedState$domai10;
281
-
282
254
  if (persistedState !== null && persistedState !== void 0 && (_persistedState$domai9 = persistedState.domainStates.liveChatConfig) !== null && _persistedState$domai9 !== void 0 && _persistedState$domai9.LiveChatConfigAuthSettings) {
283
255
  const errorMessage = "Use of custom context with authenticated chat is deprecated. The chat would not go through.";
284
-
285
256
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.WARN, {
286
257
  Event: _TelemetryConstants.TelemetryEvent.StartChatMethodException,
287
258
  ExceptionDetails: {
288
259
  exception: errorMessage
289
260
  }
290
261
  });
291
-
292
262
  throw new Error(errorMessage);
293
263
  }
294
-
295
264
  optionalParams = Object.assign({}, optionalParams, {
296
265
  customContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai10 = persistedState.domainStates) === null || _persistedState$domai10 === void 0 ? void 0 : _persistedState$domai10.customContext
297
266
  });
@@ -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