From c02219604906b3af3eaea18be2d7074469ebe4ec Mon Sep 17 00:00:00 2001 From: Pranav Joshi Date: Fri, 25 Apr 2025 10:05:47 +0530 Subject: [PATCH 1/3] remove activity listener composer --- packages/api/src/hooks/Composer.tsx | 23 +++++++-------- .../ActivityListenerComposer.tsx | 28 ------------------- .../ActivityListener/private/Context.tsx | 16 ----------- .../ActivityListener/private/useContext.ts | 6 ---- .../ActivityListener/useUpsertedActivities.ts | 6 ---- 5 files changed, 10 insertions(+), 69 deletions(-) delete mode 100644 packages/api/src/providers/ActivityListener/ActivityListenerComposer.tsx delete mode 100644 packages/api/src/providers/ActivityListener/private/Context.tsx delete mode 100644 packages/api/src/providers/ActivityListener/private/useContext.ts delete mode 100644 packages/api/src/providers/ActivityListener/useUpsertedActivities.ts diff --git a/packages/api/src/hooks/Composer.tsx b/packages/api/src/hooks/Composer.tsx index b4671ec3dc..e8531cdf34 100644 --- a/packages/api/src/hooks/Composer.tsx +++ b/packages/api/src/hooks/Composer.tsx @@ -43,7 +43,6 @@ import normalizeStyleOptions from '../normalizeStyleOptions'; import patchStyleOptionsFromDeprecatedProps from '../patchStyleOptionsFromDeprecatedProps'; import ActivityAcknowledgementComposer from '../providers/ActivityAcknowledgement/ActivityAcknowledgementComposer'; import ActivityKeyerComposer from '../providers/ActivityKeyer/ActivityKeyerComposer'; -import ActivityListenerComposer from '../providers/ActivityListener/ActivityListenerComposer'; import ActivitySendStatusComposer from '../providers/ActivitySendStatus/ActivitySendStatusComposer'; import ActivitySendStatusTelemetryComposer from '../providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer'; import ActivityTypingComposer from '../providers/ActivityTyping/ActivityTypingComposer'; @@ -625,18 +624,16 @@ const ComposerCore = ({ return ( - - - - - - {typeof children === 'function' ? children(context) : children} - - - - - - + + + + + {typeof children === 'function' ? children(context) : children} + + + + + {onTelemetry && } ); diff --git a/packages/api/src/providers/ActivityListener/ActivityListenerComposer.tsx b/packages/api/src/providers/ActivityListener/ActivityListenerComposer.tsx deleted file mode 100644 index fc36762b68..0000000000 --- a/packages/api/src/providers/ActivityListener/ActivityListenerComposer.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import type { WebChatActivity } from 'botframework-webchat-core'; -import React, { memo, useMemo, type ReactNode } from 'react'; -import usePrevious from '../../hooks/internal/usePrevious'; -import useActivities from '../../hooks/useActivities'; -import ActivityListenerContext, { type ActivityListenerContextType } from './private/Context'; - -type Props = Readonly<{ children?: ReactNode | undefined }>; - -const ActivityListenerComposer = memo(({ children }: Props) => { - const [activities] = useActivities(); - const prevActivities = usePrevious(activities, []); - - const upsertedActivitiesState = useMemo(() => { - const upserts: WebChatActivity[] = []; - - for (const activity of activities) { - prevActivities.includes(activity) || upserts.push(activity); - } - - return Object.freeze([Object.freeze(upserts)]); - }, [activities, prevActivities]); - - const context = useMemo(() => ({ upsertedActivitiesState }), [upsertedActivitiesState]); - - return {children}; -}); - -export default ActivityListenerComposer; diff --git a/packages/api/src/providers/ActivityListener/private/Context.tsx b/packages/api/src/providers/ActivityListener/private/Context.tsx deleted file mode 100644 index b9062610b2..0000000000 --- a/packages/api/src/providers/ActivityListener/private/Context.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { type WebChatActivity } from 'botframework-webchat-core'; -import { createContext } from 'react'; - -export type ActivityListenerContextType = { - upsertedActivitiesState: readonly [readonly WebChatActivity[]]; -}; - -const ActivityListenerContext = createContext( - new Proxy({} as ActivityListenerContextType, { - get() { - throw new Error('botframework-webchat internal: This hook can only used under .'); - } - }) -); - -export default ActivityListenerContext; diff --git a/packages/api/src/providers/ActivityListener/private/useContext.ts b/packages/api/src/providers/ActivityListener/private/useContext.ts deleted file mode 100644 index 4425511379..0000000000 --- a/packages/api/src/providers/ActivityListener/private/useContext.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useContext } from 'react'; -import ActivityListenerContext from './Context'; - -export default function useActivityListenerContext() { - return useContext(ActivityListenerContext); -} diff --git a/packages/api/src/providers/ActivityListener/useUpsertedActivities.ts b/packages/api/src/providers/ActivityListener/useUpsertedActivities.ts deleted file mode 100644 index 34489ed90f..0000000000 --- a/packages/api/src/providers/ActivityListener/useUpsertedActivities.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { WebChatActivity } from 'botframework-webchat-core'; -import useActivityListenerContext from './private/useContext'; - -export default function useUpsertedActivities(): readonly [readonly WebChatActivity[]] { - return useActivityListenerContext().upsertedActivitiesState; -} From 956ad2b9b242d129561692315dbf91b89b4ff050 Mon Sep 17 00:00:00 2001 From: Pranav Joshi Date: Fri, 25 Apr 2025 10:13:17 +0530 Subject: [PATCH 2/3] changelog updated --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e91d22dd3..be62ea75ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -214,6 +214,7 @@ Notes: web developers are advised to use [`~` (tilde range)](https://github.com/ # Removed - Deprecating `disabled` props and `useDisabled` hook in favor of new `uiState` props and `useUIState` hook, in PR [#5276](https://github.com/microsoft/BotFramework-WebChat/pull/5276), by [@compulim](https://github.com/compulim) +- Deleted `ActivitListenerComposer` composer and `useUpsertedActivities` hook in PR [#5467](https://github.com/microsoft/BotFramework-WebChat/pull/5467) by [@pranavjoshi001](https://github.com/pranavjoshi001) ## [4.18.0] - 2024-07-10 From 380a7d7864844127fb8ac5696e3045b34ee22ce8 Mon Sep 17 00:00:00 2001 From: Pranav joshi <42290881+pranavjoshi001@users.noreply.github.com> Date: Tue, 29 Apr 2025 17:02:25 +0530 Subject: [PATCH 3/3] Update CHANGELOG.md Co-authored-by: Eugene --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2054b3177..210fc79adc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -216,7 +216,7 @@ Notes: web developers are advised to use [`~` (tilde range)](https://github.com/ # Removed - Deprecating `disabled` props and `useDisabled` hook in favor of new `uiState` props and `useUIState` hook, in PR [#5276](https://github.com/microsoft/BotFramework-WebChat/pull/5276), by [@compulim](https://github.com/compulim) -- Deleted `ActivitListenerComposer` composer and `useUpsertedActivities` hook in PR [#5467](https://github.com/microsoft/BotFramework-WebChat/pull/5467) by [@pranavjoshi001](https://github.com/pranavjoshi001) +- Removed `ActivitListenerComposer` composer and `useUpsertedActivities` hook in PR [#5467](https://github.com/microsoft/BotFramework-WebChat/pull/5467) by [@pranavjoshi001](https://github.com/pranavjoshi001) ## [4.18.0] - 2024-07-10