@microsoft/omnichannel-chat-widget 0.1.0-main.07f52ee → 0.1.0-main.0d584e6

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 (219) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +54 -6
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +34 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +114 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +86 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +73 -4
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -6
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +54 -21
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -5
  15. package/lib/cjs/common/utils.js +89 -2
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -4
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -44
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +4 -4
  20. package/lib/cjs/components/footerstateful/FooterStateful.js +9 -18
  21. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  22. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -13
  23. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +44 -0
  24. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  25. package/lib/cjs/{assets/assets.d.js → components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js} +0 -0
  26. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +39 -0
  27. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  28. package/lib/cjs/components/livechatwidget/common/Deferred.js +42 -0
  29. package/lib/cjs/components/livechatwidget/common/authHelper.js +65 -0
  30. package/lib/cjs/components/livechatwidget/common/createAdapter.js +13 -1
  31. package/lib/cjs/components/livechatwidget/common/createFooter.js +7 -16
  32. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +12 -0
  33. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +32 -32
  34. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +45 -26
  35. package/lib/cjs/components/livechatwidget/common/endChat.js +141 -50
  36. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +1 -1
  37. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -9
  38. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +144 -39
  39. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +6 -17
  40. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  41. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  42. package/lib/cjs/components/livechatwidget/common/startChat.js +171 -51
  43. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  44. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +330 -80
  45. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  46. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +5 -10
  47. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -4
  48. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  49. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +96 -2
  50. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  51. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  52. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  53. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  54. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  55. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  56. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  57. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  58. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  59. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  60. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  61. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  62. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  63. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  64. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  65. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  66. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  67. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -8
  68. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +18 -5
  69. package/lib/cjs/contexts/createReducer.js +26 -12
  70. package/lib/cjs/controller/componentController.js +5 -5
  71. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  72. package/lib/esm/assets/Audios.js +1 -0
  73. package/lib/esm/assets/Icons.js +11 -0
  74. package/lib/esm/common/Constants.js +50 -5
  75. package/lib/esm/common/storage/default/defaultCacheManager.js +19 -0
  76. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  77. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +71 -0
  78. package/lib/esm/common/telemetry/TelemetryConstants.js +69 -3
  79. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  80. package/lib/esm/common/telemetry/TelemetryManager.js +15 -6
  81. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  82. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  83. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +55 -17
  84. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -5
  85. package/lib/esm/common/utils.js +64 -1
  86. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  87. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -7
  88. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -40
  89. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +4 -4
  90. package/lib/esm/components/footerstateful/FooterStateful.js +9 -18
  91. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  92. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -14
  93. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +34 -0
  94. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  95. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  96. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +29 -0
  97. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  98. package/lib/esm/components/livechatwidget/common/Deferred.js +33 -0
  99. package/lib/esm/components/livechatwidget/common/authHelper.js +50 -0
  100. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -2
  101. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -15
  102. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +8 -0
  103. package/lib/esm/components/livechatwidget/common/createMarkdown.js +32 -31
  104. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +43 -27
  105. package/lib/esm/components/livechatwidget/common/endChat.js +139 -50
  106. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +1 -1
  107. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +46 -11
  108. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +134 -41
  109. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +5 -14
  110. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  111. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  112. package/lib/esm/components/livechatwidget/common/startChat.js +165 -54
  113. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  114. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +316 -84
  115. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  116. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +7 -11
  117. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +25 -5
  118. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  119. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +86 -2
  120. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  121. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  122. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  123. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  124. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  125. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  126. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  127. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  128. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  129. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  130. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  131. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  132. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  133. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  134. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  135. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  136. package/lib/esm/contexts/common/ConversationState.js +4 -2
  137. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -8
  138. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +16 -5
  139. package/lib/esm/contexts/createReducer.js +26 -11
  140. package/lib/esm/controller/componentController.js +5 -5
  141. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  142. package/lib/types/assets/Audios.d.ts +1 -0
  143. package/lib/types/assets/Icons.d.ts +11 -0
  144. package/lib/types/common/Constants.d.ts +27 -2
  145. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  146. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  147. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  148. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  149. package/lib/types/common/telemetry/TelemetryConstants.d.ts +48 -2
  150. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  151. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  152. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  153. package/lib/types/common/utils.d.ts +8 -1
  154. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  155. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  156. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  157. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  158. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  159. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  160. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  161. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  162. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  163. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  164. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  165. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  166. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  167. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  168. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  169. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  170. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  171. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -1
  172. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  173. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  174. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  175. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  176. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  177. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  178. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  179. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +2 -1
  180. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  181. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  182. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  183. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  184. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  185. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  186. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  187. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  188. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  189. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  190. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  191. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
  192. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  193. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  194. package/package.json +11 -12
  195. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  196. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  197. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  198. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  199. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  200. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  201. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  202. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  203. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  204. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  205. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  206. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  207. package/lib/esm/assets/assets.d.js +0 -0
  208. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  209. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  210. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  211. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  212. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  213. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  214. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  215. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  216. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  217. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  218. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  219. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -5,12 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.initWebChatComposer = void 0;
7
7
 
8
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+
8
10
  var _botframeworkWebchat = require("botframework-webchat");
9
11
 
12
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
+
14
+ var _ConversationState = require("../../../contexts/common/ConversationState");
15
+
10
16
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
17
 
12
18
  var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
13
19
 
20
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
21
+
14
22
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
15
23
 
16
24
  var _attachmentProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware"));
@@ -35,6 +43,8 @@ var _createMarkdown = require("./createMarkdown");
35
43
 
36
44
  var _maxMessageSizeValidator = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator"));
37
45
 
46
+ var _WebChatLogger = require("../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
47
+
38
48
  var _defaultAttachmentProps = require("../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps");
39
49
 
40
50
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
@@ -53,13 +63,17 @@ var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcont
53
63
 
54
64
  var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
55
65
 
56
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
66
+ var _cardActionMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware");
67
+
68
+ var _messageTimestampMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware"));
69
+
70
+ var _Constants = require("../../../common/Constants");
57
71
 
58
72
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
73
 
60
74
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
75
  const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles) => {
62
- var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21;
76
+ var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21, _props$webChatContain22;
63
77
 
64
78
  const localizedTexts = { ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
65
79
  ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.localizedTexts)
@@ -78,6 +92,11 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
78
92
  const conversationEndCallback = async () => {
79
93
  var _props$webChatContain4, _props$webChatContain5;
80
94
 
95
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
96
+ Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
97
+ Description: "Conversation is ended by agent side or by timeout."
98
+ });
99
+
81
100
  if ((props === null || props === void 0 ? void 0 : (_props$webChatContain4 = props.webChatContainerProps) === null || _props$webChatContain4 === void 0 ? void 0 : (_props$webChatContain5 = _props$webChatContain4.renderingMiddlewareProps) === null || _props$webChatContain5 === void 0 ? void 0 : _props$webChatContain5.hideSendboxOnConversationEnd) !== false) {
82
101
  setWebChatStyles(styles => {
83
102
  return { ...styles,
@@ -86,13 +105,30 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
86
105
  });
87
106
  }
88
107
 
89
- if (isPostChatEnabled === "true" && postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
90
- const loadPostChatEvent = {
91
- eventName: "LoadPostChatSurvey"
92
- };
108
+ if (isPostChatEnabled === "true") {
109
+ if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
110
+ _WebChatStoreLoader.WebChatStoreLoader.store = null;
111
+ dispatch({
112
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
113
+ payload: _ConversationState.ConversationState.PostchatLoading
114
+ });
115
+ await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
116
+ const loadPostChatEvent = {
117
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
118
+ };
93
119
 
94
- _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
120
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
121
+ } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
122
+ dispatch({
123
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
124
+ payload: _ConversationState.ConversationState.InActive
125
+ });
126
+ }
95
127
  } else {
128
+ dispatch({
129
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
130
+ payload: _ConversationState.ConversationState.InActive
131
+ });
96
132
  dispatch({
97
133
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
98
134
  payload: true
@@ -103,10 +139,14 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
103
139
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
104
140
  payload: undefined
105
141
  });
142
+ dispatch({
143
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
144
+ payload: undefined
145
+ });
106
146
  };
107
147
 
108
148
  webChatStore = (0, _botframeworkWebchat.createStore)({}, //initial state
109
- _preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, // eslint-disable-next-line @typescript-eslint/no-explicit-any
149
+ _preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _messageTimestampMiddleware.default, _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, // eslint-disable-next-line @typescript-eslint/no-explicit-any
110
150
  ...(((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.storeMiddlewares) ?? []));
111
151
  _WebChatStoreLoader.WebChatStoreLoader.store = webChatStore;
112
152
  } // Initialize the remaining Web Chat props
@@ -123,7 +163,9 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
123
163
  avatarMiddleware: (_props$webChatContain15 = props.webChatContainerProps) !== null && _props$webChatContain15 !== void 0 && (_props$webChatContain16 = _props$webChatContain15.renderingMiddlewareProps) !== null && _props$webChatContain16 !== void 0 && _props$webChatContain16.disableAvatarMiddleware ? undefined : (0, _avatarMiddleware.createAvatarMiddleware)((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.avatarStyleProps, (_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.avatarTextStyleProps),
124
164
  groupActivitiesMiddleware: (_props$webChatContain17 = props.webChatContainerProps) !== null && _props$webChatContain17 !== void 0 && (_props$webChatContain18 = _props$webChatContain17.renderingMiddlewareProps) !== null && _props$webChatContain18 !== void 0 && _props$webChatContain18.disableGroupActivitiesMiddleware ? undefined : (_defaultWebChatContai2 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai2 === void 0 ? void 0 : _defaultWebChatContai2.groupActivitiesMiddleware,
125
165
  typingIndicatorMiddleware: (_props$webChatContain19 = props.webChatContainerProps) !== null && _props$webChatContain19 !== void 0 && (_props$webChatContain20 = _props$webChatContain19.renderingMiddlewareProps) !== null && _props$webChatContain20 !== void 0 && _props$webChatContain20.disableTypingIndicatorMiddleware ? undefined : (_defaultWebChatContai3 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai3 === void 0 ? void 0 : _defaultWebChatContai3.typingIndicatorMiddleware,
126
- ...((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.webChatProps)
166
+ onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
167
+ cardActionMiddleware: (0, _cardActionMiddleware.createCardActionMiddleware)(((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.botMagicCode) || undefined),
168
+ ...((_props$webChatContain22 = props.webChatContainerProps) === null || _props$webChatContain22 === void 0 ? void 0 : _props$webChatContain22.webChatProps)
127
169
  };
128
170
  return webChatProps;
129
171
  };
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.handleUnauthenticatedReconnectChat = exports.getReconnectIdForAuthenticatedChat = void 0;
6
+ exports.startUnauthenticatedReconnectChat = exports.handleUnauthenticatedReconnectChat = exports.handleRedirectUnauthenticatedReconnectChat = exports.getReconnectIdForAuthenticatedChat = exports.getChatReconnectContext = void 0;
7
7
 
8
8
  require("regenerator-runtime/runtime");
9
9
 
10
10
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
11
11
 
12
- var _Constants = require("../../../common/Constants");
12
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
13
 
14
14
  var _ConversationState = require("../../../contexts/common/ConversationState");
15
15
 
@@ -17,38 +17,60 @@ var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidget
17
17
 
18
18
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
19
19
 
20
+ var _authHelper = require("./authHelper");
21
+
20
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- const getChatReconnectContext = async (chatSDK, reconnectId) => {
22
- try {
23
- if (reconnectId) {
24
- const chatReconnectOptionalParams = {
25
- reconnectId: reconnectId
26
- };
27
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
28
- } else {
29
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext());
30
- }
31
- } catch (ex) {
32
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
33
- Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
34
- ExceptionDetails: {
35
- exception: ex
23
+ const getChatReconnectContext = async (chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId) => {
24
+ if (isReconnectEnabled) {
25
+ try {
26
+ if (reconnectId) {
27
+ const chatReconnectOptionalParams = {
28
+ reconnectId: reconnectId
29
+ };
30
+ return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
31
+ } else {
32
+ // set auth token to chat sdk to get reconnectId for auth chat
33
+ await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
34
+ const reconnectChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext()); // remove auth token after reconnectId is fetched
35
+ // this will be reset later at start chat
36
+
37
+ (0, _authHelper.removeAuthTokenProvider)(chatSDK);
38
+ return reconnectChatContext;
36
39
  }
37
- });
40
+ } catch (ex) {
41
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
42
+ Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
43
+ ExceptionDetails: {
44
+ exception: ex
45
+ }
46
+ });
47
+ }
38
48
  }
39
49
 
40
50
  return null;
41
51
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
52
 
43
53
 
54
+ exports.getChatReconnectContext = getChatReconnectContext;
55
+
44
56
  const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
45
- var _props$reconnectChatP, _props$reconnectChatP2;
57
+ var _props$chatConfig, _props$reconnectChatP;
58
+
59
+ let authClientFunction = undefined;
46
60
 
47
- if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.isReconnectEnabled && (_props$reconnectChatP2 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP2 !== void 0 && _props$reconnectChatP2.authClientFunction // TODO: Implement this after storage is in place
61
+ if ((_props$chatConfig = props.chatConfig) !== null && _props$chatConfig !== void 0 && _props$chatConfig.LiveChatConfigAuthSettings) {
62
+ var _props$chatConfig2, _props$chatConfig2$Li;
63
+
64
+ authClientFunction = ((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Li = _props$chatConfig2.LiveChatConfigAuthSettings) === null || _props$chatConfig2$Li === void 0 ? void 0 : _props$chatConfig2$Li.msdyn_javascriptclientfunction) ?? undefined;
65
+ }
66
+
67
+ if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.isReconnectEnabled && authClientFunction // TODO: Implement this after storage is in place
48
68
 
49
69
  /* && !isLoadWithState() */
50
70
  ) {
51
- const previousActiveSessionResponse = await getChatReconnectContext(chatSDK);
71
+ var _props$reconnectChatP2;
72
+
73
+ const previousActiveSessionResponse = await getChatReconnectContext(chatSDK, props.chatConfig, props.getAuthToken, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled);
52
74
 
53
75
  if (previousActiveSessionResponse && previousActiveSessionResponse.reconnectId) {
54
76
  return previousActiveSessionResponse.reconnectId;
@@ -61,33 +83,116 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
61
83
 
62
84
  exports.getReconnectIdForAuthenticatedChat = getReconnectIdForAuthenticatedChat;
63
85
 
64
- const handleUnauthenticatedReconnectChat = async (dispatch, reconnectId, initStartChat) => {
65
- const reconnectAvailabilityResponse = await getChatReconnectContext(reconnectId);
86
+ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat, redirectInSameWindow) => {
87
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
66
88
 
67
- if (reconnectAvailabilityResponse && reconnectAvailabilityResponse.redirectURL) {
68
- redirectPage(reconnectAvailabilityResponse.redirectURL);
89
+ if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
90
+ await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
69
91
  } else {
70
- const optionalParams = {
71
- reconnectId: reconnectId
72
- };
92
+ await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
93
+ }
94
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+
96
+
97
+ exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
98
+
99
+ const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat) => {
100
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
101
+
102
+ if (!shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
103
+ await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
104
+ }
105
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
+
107
+
108
+ exports.startUnauthenticatedReconnectChat = startUnauthenticatedReconnectChat;
109
+
110
+ const setReconnectIdAndStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat) => {
111
+ const startUnauthenticatedReconnectChat = {
112
+ eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
113
+ };
114
+
115
+ _omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat);
116
+
117
+ const optionalParams = {
118
+ reconnectId: reconnectId
119
+ };
120
+ dispatch({
121
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
122
+ payload: reconnectId
123
+ });
124
+ dispatch({
125
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
126
+ payload: _ConversationState.ConversationState.Loading
127
+ });
128
+ await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, optionalParams);
129
+ };
130
+
131
+ const redirectPage = (redirectURL, redirectInSameWindow) => {
132
+ const redirectPageRequest = {
133
+ eventName: _TelemetryConstants.BroadcastEvent.RedirectPageRequest,
134
+ payload: {
135
+ redirectURL: redirectURL
136
+ }
137
+ };
138
+
139
+ _omnichannelChatComponents.BroadcastService.postMessage(redirectPageRequest);
140
+
141
+ if (redirectInSameWindow) {
142
+ window.location.href = redirectURL;
143
+ }
144
+ };
145
+
146
+ const shouldRedirectOrStartNewChat = reconnectAvailabilityResponse => {
147
+ return reconnectAvailabilityResponse && !reconnectAvailabilityResponse.reconnectId;
148
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
149
+
150
+
151
+ const startNewChatEmptyRedirectionUrl = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat) => {
152
+ const startUnauthenticatedReconnectChat = {
153
+ eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
154
+ };
155
+
156
+ _omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat); // Getting PreChat Survey Context
157
+
158
+
159
+ const parseToJson = false;
160
+ const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
161
+
162
+ if (preChatSurveyResponse) {
73
163
  dispatch({
74
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
75
- payload: reconnectId
164
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
165
+ payload: preChatSurveyResponse
76
166
  });
167
+ dispatch({
168
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
169
+ payload: _ConversationState.ConversationState.Prechat
170
+ });
171
+ } else {
77
172
  dispatch({
78
173
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
79
174
  payload: _ConversationState.ConversationState.Loading
80
175
  });
81
- await initStartChat(optionalParams);
176
+ await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter);
82
177
  }
83
- };
178
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
179
 
85
- exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
86
180
 
87
- const redirectPage = newUrl => {
88
- const data = {
89
- messageName: _Constants.Constants.redirectPageRequest,
90
- newUrl: newUrl
91
- };
92
- window.parent.postMessage(data, "*");
181
+ const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, isReconnectEnabled, reconnectId, redirectInSameWindow) => {
182
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
183
+
184
+ if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
185
+ await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
186
+ }
187
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
188
+
189
+
190
+ exports.handleRedirectUnauthenticatedReconnectChat = handleRedirectUnauthenticatedReconnectChat;
191
+
192
+ const redirectOrStartNewChat = async (reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow) => {
193
+ if (reconnectAvailabilityResponse.redirectURL) {
194
+ redirectPage(reconnectAvailabilityResponse.redirectURL, redirectInSameWindow);
195
+ } else {
196
+ await startNewChatEmptyRedirectionUrl(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat);
197
+ }
93
198
  };
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.registerTelemetryLoggers = void 0;
7
7
 
8
- var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
9
-
10
8
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
11
9
 
10
+ var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
+
12
12
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
13
13
 
14
14
  var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
@@ -17,21 +17,9 @@ var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultCo
17
17
 
18
18
  var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultConfigs/defaultTelemetryConfiguration");
19
19
 
20
- var _package = require("@microsoft/omnichannel-chat-components/package.json");
21
-
22
- var _package2 = require("@microsoft/omnichannel-chat-sdk/package.json");
23
-
24
20
  const registerTelemetryLoggers = (props, dispatch) => {
25
21
  var _props$liveChatContex, _props$liveChatContex2;
26
22
 
27
- let widgetPackageInfo;
28
-
29
- try {
30
- widgetPackageInfo = require("@microsoft/omnichannel-chat-widget/package.json");
31
- } catch (error) {
32
- widgetPackageInfo = "0.0.0-0";
33
- }
34
-
35
23
  const telemetryConfig = { ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
36
24
  ...props.telemetryConfig
37
25
  };
@@ -53,12 +41,13 @@ const registerTelemetryLoggers = (props, dispatch) => {
53
41
  }
54
42
 
55
43
  telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
56
- telemetryData.OCChatSDKVersion = _package2.version;
57
- telemetryData.chatComponentVersion = _package.version;
58
- telemetryData.chatWidgetVersion = widgetPackageInfo;
44
+ telemetryData.OCChatSDKVersion = telemetryConfig.OCChatSDKVersion ?? "0.0.0-0";
45
+ telemetryData.chatComponentVersion = telemetryConfig.chatComponentVersion ?? "0.0.0-0";
46
+ telemetryData.chatWidgetVersion = telemetryConfig.chatWidgetVersion ?? "0.0.0-0";
59
47
  telemetryData.orgId = (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId;
60
48
  telemetryData.widgetId = (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId;
61
49
  telemetryData.orgUrl = (_props$chatSDK3 = props.chatSDK) === null || _props$chatSDK3 === void 0 ? void 0 : (_props$chatSDK3$omnic = _props$chatSDK3.omnichannelConfig) === null || _props$chatSDK3$omnic === void 0 ? void 0 : _props$chatSDK3$omnic.orgUrl;
50
+ _TelemetryManager.TelemetryManager.InternalTelemetryData = telemetryData;
62
51
  dispatch({
63
52
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
64
53
  payload: telemetryData
@@ -7,13 +7,13 @@ exports.setPostChatContextAndLoadSurvey = void 0;
7
7
 
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
9
 
10
- var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
-
12
- var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
10
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
11
 
14
12
  var _ConversationState = require("../../../contexts/common/ConversationState");
15
13
 
16
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
14
+ var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
15
+
16
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
17
17
 
18
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
19
  const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, persistedChat) => {
@@ -39,13 +39,10 @@ const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, persistedChat)
39
39
  exception: ex
40
40
  }
41
41
  });
42
- }
42
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
+
43
44
 
44
45
  _omnichannelChatComponents.BroadcastService.getMessageByEventName("LoadPostChatSurvey").subscribe(msg => {
45
- dispatch({
46
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
47
- payload: _ConversationState.ConversationState.Loading
48
- });
49
46
  dispatch({
50
47
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
51
48
  payload: _ConversationState.ConversationState.Postchat
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shareObservable = shareObservable;
7
+
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ function shareObservable(observable) {
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ let observers = []; // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+
13
+ let subscription; // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+
15
+ return new window.Observable(observer => {
16
+ if (!subscription) {
17
+ subscription = observable.subscribe({
18
+ complete() {
19
+ observers.forEach(observer => observer.complete());
20
+ },
21
+
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ error(err) {
24
+ observers.forEach(observer => observer.error(err));
25
+ },
26
+
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ next(value) {
29
+ observers.forEach(observer => observer.next(value));
30
+ }
31
+
32
+ });
33
+ }
34
+
35
+ observers.push(observer);
36
+ return () => {
37
+ observers = observers.filter(o => o !== observer);
38
+
39
+ if (!observers.length) {
40
+ subscription.unsubscribe();
41
+ subscription = null;
42
+ }
43
+ };
44
+ });
45
+ }