@microsoft/omnichannel-chat-widget 1.6.6-main.da775c5 → 1.7.0

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseLowerCaseString = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.formatTemplateString = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.createFileAndDownload = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
6
+ exports.setTabIndices = exports.setOcUserAgent = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseLowerCaseString = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.formatTemplateString = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.createFileAndDownload = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
7
7
  var _Constants = require("./Constants");
8
8
  var _TelemetryConstants = require("./telemetry/TelemetryConstants");
9
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
@@ -458,4 +458,18 @@ exports.formatTemplateString = formatTemplateString;
458
458
  const parseLowerCaseString = property => {
459
459
  return String(property).toLowerCase();
460
460
  };
461
- exports.parseLowerCaseString = parseLowerCaseString;
461
+ exports.parseLowerCaseString = parseLowerCaseString;
462
+ const setOcUserAgent = chatSDK => {
463
+ var _chatSDK$OCClient, _chatSDK$OCClient2;
464
+ // eslint-disable-line @typescript-eslint/no-explicit-any
465
+ if ((_chatSDK$OCClient = chatSDK.OCClient) !== null && _chatSDK$OCClient !== void 0 && _chatSDK$OCClient.ocUserAgent && !((_chatSDK$OCClient2 = chatSDK.OCClient) !== null && _chatSDK$OCClient2 !== void 0 && _chatSDK$OCClient2.ocUserAgent.join(" ").includes("omnichannel-chat-widget/"))) {
466
+ try {
467
+ const version = require("../../../package.json").version; // eslint-disable-line @typescript-eslint/no-var-requires
468
+ const userAgent = `omnichannel-chat-widget/${version}`;
469
+ chatSDK.OCClient.ocUserAgent = [userAgent, ...chatSDK.OCClient.ocUserAgent];
470
+ } catch (error) {
471
+ console.warn(error);
472
+ }
473
+ }
474
+ };
475
+ exports.setOcUserAgent = setOcUserAgent;
@@ -730,6 +730,8 @@ const LiveChatWidgetStateful = props => {
730
730
  draggable: ((_props$draggableChatW5 = props.draggableChatWidgetProps) === null || _props$draggableChatW5 === void 0 ? void 0 : _props$draggableChatW5.disabled) !== true // Draggable by default, unless explicitly disabled
731
731
  };
732
732
 
733
+ // Add 'omnichannel-chat-widget' OC User Agent if not already set
734
+ (0, _utils.setOcUserAgent)(chatSDK);
733
735
  const directLine = ((_livechatProps$webCha = livechatProps.webChatContainerProps) === null || _livechatProps$webCha === void 0 ? void 0 : _livechatProps$webCha.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine;
734
736
  const userID = directLine.getState ? directLine === null || directLine === void 0 ? void 0 : directLine.getState("acs.userId") : "teamsvisitor";
735
737
 
@@ -421,4 +421,17 @@ export const formatTemplateString = (templateMessage, values) => {
421
421
  };
422
422
  export const parseLowerCaseString = property => {
423
423
  return String(property).toLowerCase();
424
+ };
425
+ export const setOcUserAgent = chatSDK => {
426
+ var _chatSDK$OCClient, _chatSDK$OCClient2;
427
+ // eslint-disable-line @typescript-eslint/no-explicit-any
428
+ if ((_chatSDK$OCClient = chatSDK.OCClient) !== null && _chatSDK$OCClient !== void 0 && _chatSDK$OCClient.ocUserAgent && !((_chatSDK$OCClient2 = chatSDK.OCClient) !== null && _chatSDK$OCClient2 !== void 0 && _chatSDK$OCClient2.ocUserAgent.join(" ").includes("omnichannel-chat-widget/"))) {
429
+ try {
430
+ const version = require("../../../package.json").version; // eslint-disable-line @typescript-eslint/no-var-requires
431
+ const userAgent = `omnichannel-chat-widget/${version}`;
432
+ chatSDK.OCClient.ocUserAgent = [userAgent, ...chatSDK.OCClient.ocUserAgent];
433
+ } catch (error) {
434
+ console.warn(error);
435
+ }
436
+ }
424
437
  };
@@ -6,7 +6,7 @@ import { ConfirmationState, Constants, ConversationEndEntity, E2VVOptions, LiveW
6
6
  import { Stack } from "@fluentui/react";
7
7
  import React, { useEffect, useRef, useState } from "react";
8
8
  import { checkIfConversationStillValid, initStartChat, prepareStartChat, setPreChatAndInitiateChat } from "../common/startChat";
9
- import { createTimer, getBroadcastChannelName, getConversationDetailsCall, getLocaleDirection, getStateFromCache, getWidgetCacheIdfromProps, getWidgetEndChatEventName, isNullOrEmptyString, isNullOrUndefined, isUndefinedOrEmpty } from "../../../common/utils";
9
+ import { createTimer, getBroadcastChannelName, getConversationDetailsCall, getLocaleDirection, getStateFromCache, getWidgetCacheIdfromProps, getWidgetEndChatEventName, isNullOrEmptyString, isNullOrUndefined, isUndefinedOrEmpty, setOcUserAgent } from "../../../common/utils";
10
10
  import { defaultClientDataStoreProvider, isCookieAllowed } from "../../../common/storage/default/defaultClientDataStoreProvider";
11
11
  import { chatSDKStateCleanUp, endChat, endChatStateCleanUp, prepareEndChat } from "../common/endChat";
12
12
  import { handleChatReconnect, isPersistentEnabled, isReconnectEnabled } from "../common/reconnectChatHelper";
@@ -722,6 +722,8 @@ export const LiveChatWidgetStateful = props => {
722
722
  draggable: ((_props$draggableChatW5 = props.draggableChatWidgetProps) === null || _props$draggableChatW5 === void 0 ? void 0 : _props$draggableChatW5.disabled) !== true // Draggable by default, unless explicitly disabled
723
723
  };
724
724
 
725
+ // Add 'omnichannel-chat-widget' OC User Agent if not already set
726
+ setOcUserAgent(chatSDK);
725
727
  const directLine = ((_livechatProps$webCha = livechatProps.webChatContainerProps) === null || _livechatProps$webCha === void 0 ? void 0 : _livechatProps$webCha.directLine) ?? adapter ?? defaultWebChatContainerStatefulProps.directLine;
726
728
  const userID = directLine.getState ? directLine === null || directLine === void 0 ? void 0 : directLine.getState("acs.userId") : "teamsvisitor";
727
729
 
@@ -43,3 +43,4 @@ export declare const createFileAndDownload: (fileName: string, blobData: string,
43
43
  */
44
44
  export declare const formatTemplateString: (templateMessage: string, values: any) => string;
45
45
  export declare const parseLowerCaseString: (property: string | boolean | undefined) => string;
46
+ export declare const setOcUserAgent: (chatSDK: any) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "1.6.6-main.da775c5",
3
+ "version": "1.7.0",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -75,7 +75,7 @@
75
75
  },
76
76
  "dependencies": {
77
77
  "@microsoft/omnichannel-chat-components": "1.1.5",
78
- "@microsoft/omnichannel-chat-sdk": "^1.8.2",
78
+ "@microsoft/omnichannel-chat-sdk": "^1.9.0",
79
79
  "abort-controller-es5": "^2.0.1",
80
80
  "dompurify": "^2.3.4",
81
81
  "markdown-it": "^12.3.2",
@@ -85,8 +85,8 @@
85
85
  "md5-typescript": "^1.0.5",
86
86
  "p-defer-es5": "^2.0.1",
87
87
  "sanitize-html": "2.12.1",
88
- "slack-markdown-it": "^1.0.5",
89
- "simple-update-in": "2.2.0"
88
+ "simple-update-in": "2.2.0",
89
+ "slack-markdown-it": "^1.0.5"
90
90
  },
91
91
  "scripts": {
92
92
  "storybook": "start-storybook -p 6006",