From 91f1deede6f57147d42d0ef032f454a040f61415 Mon Sep 17 00:00:00 2001 From: Varnit Goyal Date: Sat, 18 Jan 2025 02:24:00 +0530 Subject: [PATCH] NTP-26126 | adapter sanity (#34) * NTP-26126 | adapter sanity * NTP-26126 | package bump * Publish - @universal-call-sdk/adapter-ameyo@1.1.23 - @universal-call-sdk/common@1.1.16 - @universal-call-sdk/core@1.1.14 * NTP-26126 | added more events * NTP-26126 | adapter sanity * NTP-26126v | metric processor * NTP-26126 | package bump * Publish - @universal-call-sdk/adapter-ameyo@1.1.33 - @universal-call-sdk/common@1.1.18 - @universal-call-sdk/core@1.1.15 --------- Co-authored-by: varnit goyal --- packages/adapter-ameyo/CHANGELOG.md | 16 +++++++ packages/adapter-ameyo/lib/api.ts | 3 ++ .../adapter-ameyo/lib/callStateManager.ts | 16 +++++++ packages/adapter-ameyo/lib/main.ts | 1 + packages/adapter-ameyo/package.json | 4 +- packages/common/CHANGELOG.md | 16 +++++++ packages/common/package.json | 2 +- packages/core/CHANGELOG.md | 16 +++++++ packages/core/lib/useCallSdk.ts | 42 ++++++++++--------- packages/core/package.json | 2 +- 10 files changed, 94 insertions(+), 24 deletions(-) diff --git a/packages/adapter-ameyo/CHANGELOG.md b/packages/adapter-ameyo/CHANGELOG.md index e379c5e..719c50e 100644 --- a/packages/adapter-ameyo/CHANGELOG.md +++ b/packages/adapter-ameyo/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 1.1.33 (2025-01-17) + +**Note:** Version bump only for package @universal-call-sdk/adapter-ameyo + + + + + +## 1.1.23 (2025-01-16) + +**Note:** Version bump only for package @universal-call-sdk/adapter-ameyo + + + + + ## 1.1.15 (2025-01-16) **Note:** Version bump only for package @universal-call-sdk/adapter-ameyo diff --git a/packages/adapter-ameyo/lib/api.ts b/packages/adapter-ameyo/lib/api.ts index c25a7c1..16f3933 100644 --- a/packages/adapter-ameyo/lib/api.ts +++ b/packages/adapter-ameyo/lib/api.ts @@ -6,6 +6,9 @@ import {v4 as uuid} from 'uuid'; export const loginInAmeyo = (userId: string, password: string) => { console.log('loginInAmeyo', userId, password); + if(!userId || !password) { + return + } return getResponseWithoutCors({ url: `${window.BASE_AMEYO_URL}/ameyorestapi/userLogin/login`, method: 'POST', diff --git a/packages/adapter-ameyo/lib/callStateManager.ts b/packages/adapter-ameyo/lib/callStateManager.ts index be94035..94b0b85 100644 --- a/packages/adapter-ameyo/lib/callStateManager.ts +++ b/packages/adapter-ameyo/lib/callStateManager.ts @@ -2,6 +2,8 @@ import {MessagingType} from "./assets/js/ajaxClient.ts"; import {CallStatus, PushType, CallState} from "./types.ts"; import {parseQuerystring} from "@universal-call-sdk/common/lib/utils/parsingUtils.ts"; import messagingType from "../types/MessagingType.ts"; +import metricsProcessor from "@universal-call-sdk/common/lib/utils/metricsProcessor.ts"; +import MetricsProcessor from "@universal-call-sdk/common/lib/utils/metricsProcessor.ts"; class CallStateManager { private state: CallState = { @@ -15,6 +17,7 @@ class CallStateManager { private readonly MAX_CONNECTION_ATTEMPTS = 3; private connectionTimeout: ReturnType | null = null; + private metricProcessor : metricsProcessor = {} as metricsProcessor public sendConnectedMessage() { const customerInfo = this.state.customerInfo; @@ -35,6 +38,7 @@ class CallStateManager { } } + private setConnectionTimeout() { this.clearConnectionTimeout(); this.connectionTimeout = setTimeout(() => { @@ -94,6 +98,10 @@ class CallStateManager { type: MessagingType.ON_AMEYO_CALL_INCOMING, data: this.state.customerInfo }); + this?.metricProcessor?.pushCounterMetric({ + metricName: 'ringing_event_counter', + flow: "ringing_event_counter" + }); break; case 'hungup': this.handleCallDisconnect(); @@ -126,6 +134,10 @@ class CallStateManager { const parsedQuery = parseQuerystring(crmURL); const userCRTObjectId = parsedQuery?.userCrtObjectId?.replaceAll('%40', '@'); + this?.metricProcessor?.pushCounterMetric({ + metricName: 'notify_push_event_counter', + flow: "notify_push_event_counter" + }); this.state.customerInfo = { ...this.state.customerInfo, @@ -184,6 +196,10 @@ class CallStateManager { }; this.clearConnectionTimeout(); } + + public setMetricProcessor(metricProcessor: MetricsProcessor) { + this.metricProcessor = metricProcessor + } } export const callStateManager = new CallStateManager(); diff --git a/packages/adapter-ameyo/lib/main.ts b/packages/adapter-ameyo/lib/main.ts index 4ccf852..1dc9464 100644 --- a/packages/adapter-ameyo/lib/main.ts +++ b/packages/adapter-ameyo/lib/main.ts @@ -120,6 +120,7 @@ class AmeyoAdapter implements IAdapter { this.initializeAmeyo(); this.metricProcessor = metricProcessor; this.clickStreamProcessor = clickStreamProcessor; + callStateManager.setMetricProcessor(metricProcessor) this.metricProcessor?.pushCounterMetric({ metricName: 'initSdk', flow: "sdk_init_count" diff --git a/packages/adapter-ameyo/package.json b/packages/adapter-ameyo/package.json index c90412a..0282e62 100644 --- a/packages/adapter-ameyo/package.json +++ b/packages/adapter-ameyo/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/adapter-ameyo", - "version": "1.1.15", + "version": "1.1.33", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@universal-call-sdk/common": "^1.1.13", + "@universal-call-sdk/common": "^1.1.18", "uuid": "^11.0.3" }, "devDependencies": { diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index 08b44d0..7780371 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 1.1.18 (2025-01-17) + +**Note:** Version bump only for package @universal-call-sdk/common + + + + + +## 1.1.16 (2025-01-16) + +**Note:** Version bump only for package @universal-call-sdk/common + + + + + ## 1.1.13 (2025-01-16) **Note:** Version bump only for package @universal-call-sdk/common diff --git a/packages/common/package.json b/packages/common/package.json index 9630821..c92cdec 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/common", - "version": "1.1.13", + "version": "1.1.18", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 5c7b92d..0aee68e 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 1.1.15 (2025-01-17) + +**Note:** Version bump only for package @universal-call-sdk/core + + + + + +## 1.1.14 (2025-01-16) + +**Note:** Version bump only for package @universal-call-sdk/core + + + + + ## 1.1.12 (2025-01-16) **Note:** Version bump only for package @universal-call-sdk/core diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 02feeb4..b60a0b1 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -74,7 +74,7 @@ const initialState: StateType = { callStartTime: Date.now(), } -let adapter: IAdapter; +let adapter: IAdapter function UseCallSdk({AdapterClass, adapterOptions, metricsConfig, clickStreamConfig}: { AdapterClass: new (adapterOptions: IAdapter) => IAdapter, @@ -90,71 +90,73 @@ function UseCallSdk({AdapterClass, adapterOptions, metricsConfig, clickStreamCon } }) { useEffect(() => { - adapter = new AdapterClass(adapterOptions); + if(adapterOptions) { + adapter = new AdapterClass(adapterOptions); + } }, [adapterOptions]); // @ts-expect-error sdfsf const [callState] = useReducer(reducer, initialState,()=> initialState); function registerOnCallIncoming(callback : (callState: GenericObject)=>void) { //dispatch({type: actionTypes.CALL_INCOMING, payload: {}}) - adapter.registerOnCallIncoming(callback); + adapter?.registerOnCallIncoming(callback); } function registerOnCallConnected(callback : (callState: GenericObject)=>void) { - adapter.registerOnCallConnected(callback); + adapter?.registerOnCallConnected(callback); } function registerOnCallDisconnected(callback : (callState: GenericObject)=>void) { - adapter.registerOnCallDisconnected(callback); + adapter?.registerOnCallDisconnected(callback); } function registerOnAdapterReady(callback : ()=> void) { - adapter.registerOnAdapterReady(callback); + adapter?.registerOnAdapterReady(callback); } function registerOnAgentAvailabilityChange(callback : (isAgentAvailable: boolean, reason: string) => void) { - adapter.registerOnAgentAvailabilityChange(callback); + adapter?.registerOnAgentAvailabilityChange(callback); } function registerOnForcedLogoutListener(callback:()=>void) { - adapter.registerOnForcedLogoutListener(callback); + adapter?.registerOnForcedLogoutListener(callback); } function registerOnAgentsForCallTransfer(callback: (data: GenericObject) => void) { - adapter.registerOnAgentsForCallTransfer(callback); + adapter?.registerOnAgentsForCallTransfer(callback); } function registerOnCallTransferStatus(callback: (data: GenericObject) => void) { - adapter.registerOnCallTransferStatus(callback); + adapter?.registerOnCallTransferStatus(callback); } function registerOnLoginFailedListener(callback:()=>void) { - adapter.registerOnLoginFailedListener(callback); + adapter?.registerOnLoginFailedListener(callback); } function acceptCall() { - adapter.acceptCall(); + adapter?.acceptCall(); } function rejectCall() { - adapter.rejectCall(); + adapter?.rejectCall(); } function disposeCall() { - adapter.disposeCall(); + adapter?.disposeCall(); } function muteCall() { - adapter.muteCall(); + adapter?.muteCall(); } function unmuteCall() { - adapter.unmuteCall(); + adapter?.unmuteCall(); } function logOut() { - adapter.logOut(); + adapter?.logOut(); } function initialize() { @@ -167,15 +169,15 @@ function UseCallSdk({AdapterClass, adapterOptions, metricsConfig, clickStreamCon if(clickStreamConfig?.clickStreamTransporter) { clickStreamProcessor = new ClickStreamProcessor(clickStreamConfig?.clickStreamTransporter || noop); } - adapter.init(metricProcessor, clickStreamProcessor); + adapter?.init(metricProcessor, clickStreamProcessor); } function setOnBreak() { - adapter.setOnBreak(); + adapter?.setOnBreak(); } function setAvailable() { - adapter.setAvailable(); + adapter?.setAvailable(); } function getAgentAvailability(): boolean { diff --git a/packages/core/package.json b/packages/core/package.json index 03226ef..33ceac9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@universal-call-sdk/core", - "version": "1.1.12", + "version": "1.1.15", "type": "module", "scripts": { "dev": "vite",