diff --git a/CHANGELOG.md b/CHANGELOG.md
index 421ddd541e..210fc79adc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -216,6 +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)
+- 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
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;
-}