@microsoft/omnichannel-chat-widget 0.1.0-main.3d1c026 → 0.1.0-main.47ede4d

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 (125) hide show
  1. package/README.md +227 -0
  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 +6 -0
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +25 -4
  8. package/lib/cjs/common/telemetry/TelemetryManager.js +7 -5
  9. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  10. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +24 -35
  11. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  12. package/lib/cjs/components/footerstateful/FooterStateful.js +3 -3
  13. package/lib/cjs/components/headerstateful/HeaderStateful.js +12 -3
  14. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
  15. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +11 -7
  16. package/lib/cjs/components/livechatwidget/common/endChat.js +65 -53
  17. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  18. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +24 -12
  19. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +23 -5
  20. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +26 -24
  21. package/lib/cjs/components/livechatwidget/common/startChat.js +77 -27
  22. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  23. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +37 -20
  24. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  25. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  26. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +28 -11
  27. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +10 -4
  28. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  29. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  30. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  31. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +9 -46
  32. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  33. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  34. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  35. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +2 -0
  36. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  37. package/lib/cjs/contexts/createReducer.js +13 -3
  38. package/lib/cjs/controller/componentController.js +2 -2
  39. package/lib/cjs/plugins/newMessageEventHandler.js +102 -0
  40. package/lib/esm/assets/Audios.js +1 -0
  41. package/lib/esm/assets/Icons.js +11 -0
  42. package/lib/esm/common/Constants.js +6 -0
  43. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  44. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  45. package/lib/esm/common/telemetry/TelemetryConstants.js +21 -3
  46. package/lib/esm/common/telemetry/TelemetryManager.js +6 -5
  47. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  48. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +22 -34
  49. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  50. package/lib/esm/components/footerstateful/FooterStateful.js +3 -3
  51. package/lib/esm/components/headerstateful/HeaderStateful.js +13 -4
  52. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  53. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +11 -9
  54. package/lib/esm/components/livechatwidget/common/endChat.js +64 -49
  55. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  56. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +21 -12
  57. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +20 -4
  58. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +23 -22
  59. package/lib/esm/components/livechatwidget/common/startChat.js +71 -23
  60. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  61. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +33 -17
  62. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  63. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  64. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -10
  65. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -5
  66. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  67. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  68. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  69. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +7 -44
  70. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  71. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  72. package/lib/esm/contexts/common/ConversationState.js +3 -2
  73. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +2 -0
  74. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  75. package/lib/esm/contexts/createReducer.js +13 -2
  76. package/lib/esm/controller/componentController.js +2 -2
  77. package/lib/esm/plugins/newMessageEventHandler.js +84 -0
  78. package/lib/types/assets/Audios.d.ts +1 -0
  79. package/lib/types/assets/Icons.d.ts +11 -0
  80. package/lib/types/common/Constants.d.ts +3 -0
  81. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  82. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  83. package/lib/types/common/telemetry/TelemetryConstants.d.ts +16 -1
  84. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -1
  85. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
  86. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  87. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  88. package/lib/types/components/livechatwidget/common/startChat.d.ts +1 -1
  89. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  90. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
  91. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  92. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  93. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  94. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  95. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  96. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  97. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
  98. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +3 -1
  99. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  100. package/package.json +5 -6
  101. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  102. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  103. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  104. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  105. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  106. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  107. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  108. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  109. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  110. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  111. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  112. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  113. package/lib/esm/assets/assets.d.js +0 -0
  114. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  115. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  116. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  117. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  118. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  119. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  120. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  121. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  122. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  123. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  124. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  125. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -95,8 +95,8 @@ const EmailTranscriptPaneStateful = props => {
95
95
  },
96
96
  onCancel: () => {
97
97
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
98
- Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptButtonClicked,
99
- Description: "Email Transcript button clicked."
98
+ Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptCancelButtonClicked,
99
+ Description: "Email Transcript cancel button clicked."
100
100
  });
101
101
 
102
102
  closeEmailTranscriptPane();
@@ -17,6 +17,8 @@ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components
17
17
 
18
18
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
19
19
 
20
+ var _Audios = require("../../assets/Audios");
21
+
20
22
  var _NotificationHandler = require("../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
21
23
 
22
24
  var _NotificationScenarios = require("../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
@@ -29,8 +31,6 @@ var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatCo
29
31
 
30
32
  var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
31
33
 
32
- var _newMessageNotification = _interopRequireDefault(require("../../assets/audios/newMessageNotification.mp3"));
33
-
34
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
35
 
36
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -122,7 +122,7 @@ const FooterStateful = props => {
122
122
  controlProps: controlProps,
123
123
  styleProps: footerProps === null || footerProps === void 0 ? void 0 : footerProps.styleProps
124
124
  }), /*#__PURE__*/_react.default.createElement(_AudioNotificationStateful.default, {
125
- audioSrc: (audioNotificationProps === null || audioNotificationProps === void 0 ? void 0 : audioNotificationProps.audioSrc) ?? _newMessageNotification.default,
125
+ audioSrc: (audioNotificationProps === null || audioNotificationProps === void 0 ? void 0 : audioNotificationProps.audioSrc) ?? _Audios.NewMessageNotificationSoundBase64,
126
126
  hideAudioNotificationButton: (footerProps === null || footerProps === void 0 ? void 0 : (_footerProps$controlP4 = footerProps.controlProps) === null || _footerProps$controlP4 === void 0 ? void 0 : _footerProps$controlP4.hideAudioNotificationButton) ?? false,
127
127
  isAudioMuted: state.appStates.isAudioMuted ?? false
128
128
  }));
@@ -43,6 +43,7 @@ const HeaderStateful = props => {
43
43
 
44
44
  const [outOfOperatingHours, setOutOfOperatingHours] = (0, _react.useState)(((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True");
45
45
  const outOfOfficeStyleProps = Object.assign({}, _defaultOutOfOfficeHeaderStyleProps.defaultOutOfOfficeHeaderStyleProps, outOfOfficeHeaderProps === null || outOfOfficeHeaderProps === void 0 ? void 0 : outOfOfficeHeaderProps.styleProps);
46
+ const conversationState = (0, _react.useRef)(state.appStates.conversationState);
46
47
  const controlProps = {
47
48
  id: "oc-lcw-header",
48
49
  dir: state.domainStates.globalDir,
@@ -63,17 +64,21 @@ const HeaderStateful = props => {
63
64
  Description: "Header Close button clicked."
64
65
  });
65
66
 
66
- if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
67
+ if (conversationState.current === _ConversationState.ConversationState.Active) {
67
68
  dispatch({
68
69
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
69
70
  payload: true
70
71
  });
71
- } else if (state.appStates.conversationState === _ConversationState.ConversationState.Postchat) {
72
+ } else if (conversationState.current === _ConversationState.ConversationState.Postchat) {
72
73
  dispatch({
73
74
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT,
74
75
  payload: false
75
76
  });
76
77
  await endChat(adapter);
78
+ } else if (conversationState.current === _ConversationState.ConversationState.InActive) {
79
+ const skipEndChatSDK = true;
80
+ const skipCloseChat = false;
81
+ await endChat(adapter, skipEndChatSDK, skipCloseChat);
77
82
  }
78
83
 
79
84
  dispatch({
@@ -105,7 +110,11 @@ const HeaderStateful = props => {
105
110
  if (state.appStates.outsideOperatingHours) {
106
111
  setOutOfOperatingHours(true);
107
112
  }
108
- }, []);
113
+
114
+ if (state.appStates.conversationState) {
115
+ conversationState.current = state.appStates.conversationState;
116
+ }
117
+ }, [state.appStates]);
109
118
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.Header, {
110
119
  componentOverrides: headerProps === null || headerProps === void 0 ? void 0 : headerProps.componentOverrides,
111
120
  controlProps: outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeControlProps : controlProps,
@@ -7,8 +7,6 @@ exports.createMarkdown = void 0;
7
7
 
8
8
  var _markdownIt = _interopRequireDefault(require("markdown-it"));
9
9
 
10
- var _slackMarkdownIt = _interopRequireDefault(require("slack-markdown-it"));
11
-
12
10
  var _markdownItForInline = _interopRequireDefault(require("markdown-it-for-inline"));
13
11
 
14
12
  var _defaultMarkdownLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts");
@@ -26,8 +24,9 @@ const createMarkdown = (disableMarkdownMessageFormatting, disableNewLineMarkdown
26
24
  html: true,
27
25
  linkify: true,
28
26
  breaks: !disableNewLineMarkdownSupport
29
- });
30
- markdown.use(_slackMarkdownIt.default); // Markdown override for open link in new tab
27
+ }); // ToDo: Commenting below usage of plugin until deferred bug is resolved: https://github.com/mayashavin/markdown-it-slack/issues/1
28
+ // markdown.use(MarkdownSlack);
29
+ // Markdown override for open link in new tab
31
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, quotes
32
31
 
33
32
  markdown.use(_markdownItForInline.default, "url_new_win", "link_open", function (tokens, idx, env) {
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.dummyDefaultProps = void 0;
7
7
 
8
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
+
8
10
  var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
9
11
 
12
+ var _Audios = require("../../../../assets/Audios");
13
+
10
14
  var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
11
15
 
12
16
  var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
@@ -29,7 +33,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
29
33
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
34
  const dummyDefaultProps = {
31
35
  audioNotificationProps: {
32
- audioSrc: "assets/audios/newMessageNotification.mp3"
36
+ audioSrc: _Audios.NewMessageNotificationSoundBase64
33
37
  },
34
38
  callingContainerProps: {
35
39
  controlProps: {
@@ -384,7 +388,7 @@ const dummyDefaultProps = {
384
388
  margin: "-2px -2px -2px -3px",
385
389
  justifyContent: "center",
386
390
  backgroundSize: "65% 65%",
387
- backgroundImage: "assets/imgs/chat.svg",
391
+ backgroundImage: `url(${_omnichannelChatComponents.ModernChatIconBase64})`,
388
392
  display: "flex",
389
393
  backgroundRepeat: "no-repeat",
390
394
  backgroundPosition: "center"
@@ -905,7 +909,7 @@ const dummyDefaultProps = {
905
909
  },
906
910
  headerIconProps: {
907
911
  id: "oc-lcw-header-icon",
908
- src: "assets/imgs/chatIcon.svg",
912
+ src: _omnichannelChatComponents.ModernChatIconBase64,
909
913
  alt: "Chat Icon",
910
914
  className: undefined
911
915
  },
@@ -1030,7 +1034,7 @@ const dummyDefaultProps = {
1030
1034
  alignSelf: "auto"
1031
1035
  },
1032
1036
  iconImageProps: {
1033
- src: "assets/imgs/chat.svg",
1037
+ src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
1034
1038
  imageFit: 0,
1035
1039
  width: "86px",
1036
1040
  height: "86px",
@@ -1238,7 +1242,7 @@ const dummyDefaultProps = {
1238
1242
  },
1239
1243
  headerContainerStyleProps: {
1240
1244
  backgroundColor: "rgb(49, 95, 162)",
1241
- backgroundImage: "assets/imgs/Proactive_banner.png",
1245
+ backgroundImage: `url(${_omnichannelChatComponents.ProactiveChatBannerBase64})`,
1242
1246
  backgroundPosition: "initial",
1243
1247
  backgroundRepeat: "no-repeat",
1244
1248
  borderTopLeftRadius: "inherit",
@@ -1266,7 +1270,7 @@ const dummyDefaultProps = {
1266
1270
  fontWeight: "600"
1267
1271
  },
1268
1272
  closeButtonStyleProps: {
1269
- backgroundImage: "assets/imgs/closeChatButton.svg",
1273
+ backgroundImage: `url(${_omnichannelChatComponents.CloseChatButtonIconBase64})`,
1270
1274
  backgroundPosition: "center",
1271
1275
  backgroundRepeat: "no-repeat",
1272
1276
  color: "#605e5c",
@@ -1389,7 +1393,7 @@ const dummyDefaultProps = {
1389
1393
  lineHeight: "19px"
1390
1394
  },
1391
1395
  iconStyleProps: {
1392
- backgroundImage: "assets/imgs//ChatReconnectPopupIcon.png",
1396
+ backgroundImage: `url(${_omnichannelChatComponents.ChatReconnectIconBase64})`,
1393
1397
  backgroundPosition: "center",
1394
1398
  backgroundRepeat: "no-repeat",
1395
1399
  backgroundSize: "200px",
@@ -7,71 +7,83 @@ exports.endChat = void 0;
7
7
 
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
9
 
10
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
+
10
12
  var _ConversationState = require("../../../contexts/common/ConversationState");
11
13
 
12
14
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
13
15
 
14
- var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
15
-
16
- var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
17
-
18
16
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
19
17
 
20
18
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
21
19
 
22
20
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
23
21
 
24
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
25
-
26
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter) => {
28
- try {
29
- var _props$webChatContain;
30
-
31
- _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.INFO, {
32
- Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
33
- });
34
-
35
- await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
36
- adapter === null || adapter === void 0 ? void 0 : adapter.end();
37
- setAdapter(undefined);
38
- setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
39
- ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
40
- });
41
- _WebChatStoreLoader.WebChatStoreLoader.store = null;
42
- dispatch({
43
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
44
- payload: _ConversationState.ConversationState.Closed
45
- });
46
- dispatch({
47
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
48
- payload: false
49
- });
50
- dispatch({
51
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
52
- payload: undefined
53
- });
54
- dispatch({
55
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
56
- payload: null
57
- });
58
- dispatch({
59
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
60
- payload: undefined
61
- });
62
-
63
- _omnichannelChatComponents.BroadcastService.postMessage({
64
- eventName: "EndChat"
65
- });
66
- } catch (ex) {
67
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
68
- Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
69
- ExceptionDetails: {
70
- exception: ex
71
- }
72
- });
23
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat) => {
24
+ if (!skipEndChatSDK) {
25
+ try {
26
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
27
+ Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
28
+ });
29
+
30
+ await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
31
+ } catch (ex) {
32
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
33
+ Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
34
+ ExceptionDetails: {
35
+ exception: ex
36
+ }
37
+ });
38
+ }
39
+ }
73
40
 
74
- _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "End Chat Call Failed: " + ex);
41
+ if (!skipCloseChat) {
42
+ try {
43
+ var _props$webChatContain;
44
+
45
+ adapter === null || adapter === void 0 ? void 0 : adapter.end();
46
+ setAdapter(undefined);
47
+ setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
48
+ ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
49
+ });
50
+ _WebChatStoreLoader.WebChatStoreLoader.store = null;
51
+ dispatch({
52
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
53
+ payload: _ConversationState.ConversationState.Closed
54
+ });
55
+ dispatch({
56
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
57
+ payload: false
58
+ });
59
+ dispatch({
60
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
61
+ payload: undefined
62
+ });
63
+ dispatch({
64
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
65
+ payload: null
66
+ });
67
+ dispatch({
68
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
69
+ payload: undefined
70
+ });
71
+ dispatch({
72
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
73
+ payload: undefined
74
+ });
75
+
76
+ _omnichannelChatComponents.BroadcastService.postMessage({
77
+ eventName: _TelemetryConstants.BroadcastEvent.EndChat
78
+ });
79
+ } catch (error) {
80
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
81
+ Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
82
+ ExceptionDetails: {
83
+ exception: `Failed to endChat: ${error}`
84
+ }
85
+ });
86
+ }
75
87
  }
76
88
  };
77
89
 
@@ -17,6 +17,11 @@ const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
17
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
18
  const callingSDK = await chatSDK.getVoiceVideoCalling();
19
19
  setVoiceVideoCallingSDK(callingSDK);
20
+
21
+ _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
22
+ Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadSuccess
23
+ });
24
+
20
25
  return true;
21
26
  }
22
27
 
@@ -5,14 +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
+
10
14
  var _ConversationState = require("../../../contexts/common/ConversationState");
11
15
 
12
16
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
13
17
 
14
18
  var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
15
19
 
20
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
21
+
16
22
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
17
23
 
18
24
  var _attachmentProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware"));
@@ -55,8 +61,6 @@ var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcont
55
61
 
56
62
  var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
57
63
 
58
- var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
59
-
60
64
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
65
 
62
66
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -80,6 +84,11 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
80
84
  const conversationEndCallback = async () => {
81
85
  var _props$webChatContain4, _props$webChatContain5;
82
86
 
87
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
88
+ Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
89
+ Description: "Conversation is ended by agent side or by timeout."
90
+ });
91
+
83
92
  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) {
84
93
  setWebChatStyles(styles => {
85
94
  return { ...styles,
@@ -88,16 +97,19 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
88
97
  });
89
98
  }
90
99
 
91
- if (isPostChatEnabled === "true" && postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
92
- dispatch({
93
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT,
94
- payload: true
95
- });
96
- dispatch({
97
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
98
- payload: _ConversationState.ConversationState.Loading
99
- });
100
- await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
100
+ if (isPostChatEnabled === "true") {
101
+ if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
102
+ const loadPostChatEvent = {
103
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
104
+ };
105
+
106
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
107
+ } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
108
+ dispatch({
109
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
110
+ payload: _ConversationState.ConversationState.InActive
111
+ });
112
+ }
101
113
  } else {
102
114
  dispatch({
103
115
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
@@ -5,12 +5,16 @@ 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
+ var _package = require("@microsoft/omnichannel-chat-components/package.json");
15
+
16
+ var _package2 = require("@microsoft/omnichannel-chat-sdk/package.json");
17
+
14
18
  var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
15
19
 
16
20
  var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultConfigs/defaultTelemetryInternalData");
@@ -20,6 +24,14 @@ var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultC
20
24
  const registerTelemetryLoggers = (props, dispatch) => {
21
25
  var _props$liveChatContex, _props$liveChatContex2;
22
26
 
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
+
23
35
  const telemetryConfig = { ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
24
36
  ...props.telemetryConfig
25
37
  };
@@ -29,6 +41,8 @@ const registerTelemetryLoggers = (props, dispatch) => {
29
41
 
30
42
  _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
43
  } else {
44
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$chatSDK3, _props$chatSDK3$omnic;
45
+
32
46
  let telemetryData = { ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
33
47
  telemetryConfig: Object.assign({}, _defaultTelemetryConfiguration.defaultTelemetryConfiguration, telemetryConfig),
34
48
  ariaConfig: Object.assign({}, _defaultAriaConfig.defaultAriaConfig, telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.ariaConfigurations)
@@ -39,9 +53,13 @@ const registerTelemetryLoggers = (props, dispatch) => {
39
53
  }
40
54
 
41
55
  telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
42
- telemetryData.OCChatSDKVersion = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.OCChatSDKVersion;
43
- telemetryData.chatComponentVersion = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.chatComponentVersion;
44
- telemetryData.chatWidgetVersion = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.chatWidgetVersion;
56
+ telemetryData.OCChatSDKVersion = _package2.version;
57
+ telemetryData.chatComponentVersion = _package.version;
58
+ telemetryData.chatWidgetVersion = widgetPackageInfo;
59
+ 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
+ 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
+ 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;
62
+ _TelemetryManager.TelemetryManager.InternalTelemetryData = telemetryData;
45
63
  dispatch({
46
64
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
47
65
  payload: telemetryData
@@ -7,27 +7,31 @@ exports.setPostChatContextAndLoadSurvey = void 0;
7
7
 
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
9
 
10
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
+
12
+ var _ConversationState = require("../../../contexts/common/ConversationState");
13
+
10
14
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
15
 
12
16
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
13
17
 
14
- var _ConversationState = require("../../../contexts/common/ConversationState");
15
-
16
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, loadSurvey) => {
19
+ const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, persistedChat) => {
18
20
  try {
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- const context = await chatSDK.getPostChatSurveyContext();
21
-
22
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
23
- Event: _TelemetryConstants.TelemetryEvent.PostChatContextCallSucceed,
24
- Description: "Postchat context call succeed."
25
- });
26
-
27
- dispatch({
28
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT,
29
- payload: context
30
- });
21
+ if (!persistedChat) {
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ const context = await chatSDK.getPostChatSurveyContext();
24
+
25
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
26
+ Event: _TelemetryConstants.TelemetryEvent.PostChatContextCallSucceed,
27
+ Description: "Postchat context call succeed."
28
+ });
29
+
30
+ dispatch({
31
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT,
32
+ payload: context
33
+ });
34
+ }
31
35
  } catch (ex) {
32
36
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
33
37
  Event: _TelemetryConstants.TelemetryEvent.PostChatContextCallFailed,
@@ -35,21 +39,19 @@ const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, loadSurvey) =>
35
39
  exception: ex
36
40
  }
37
41
  });
38
- }
39
- /* -true: setPostChatContextAndLoadSurvey is called after passing all checks from ConfirmationPane and endChatMiddleware in usual scenario.
40
- -false: Below if condition is needed for multi-tab scenarios. So when agent ends a chat and customer has opened chat in multiple tabs,
41
- all tabs should show post chat survey as per existing functionality. But when an agent end a conversation, Omnichannel SDK
42
- getPostChatSurveyContext returns as invalid conversation. To avoid that, caching the survey url is needed after chat starts and
43
- in this case loadSurvey is false
44
- */
42
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
43
 
46
44
 
47
- if (loadSurvey) {
45
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName("LoadPostChatSurvey").subscribe(msg => {
46
+ dispatch({
47
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
48
+ payload: _ConversationState.ConversationState.Loading
49
+ });
48
50
  dispatch({
49
51
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
50
52
  payload: _ConversationState.ConversationState.Postchat
51
53
  });
52
- }
54
+ });
53
55
  };
54
56
 
55
57
  exports.setPostChatContextAndLoadSurvey = setPostChatContextAndLoadSurvey;