Skip to content

Commit bebeba3

Browse files
committed
Group activities should invalidate callback on style options change
1 parent 64ca8a2 commit bebeba3

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

packages/api/src/providers/GroupActivities/GroupActivitiesComposer.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,15 @@ function GroupActivitiesComposer({ children, groupActivitiesMiddleware }: GroupA
6464
[groupActivitiesBy, runMiddleware]
6565
);
6666

67-
const groupActivitiesByGroupRef = useRefFrom(groupActivitiesByGroup);
6867
const groupActivitiesByRef = useRefFrom(groupActivitiesBy);
6968

69+
// When `groupActivitiesMiddleware` or `styleOptions.groupActivities` changed, the callback should be invalidated.
70+
// The invalidation should cause downstreamers to re-render.
7071
const groupActivitiesByName = useCallback<
7172
(activities: readonly WebChatActivity[], groupingName: string) => readonly (readonly WebChatActivity[])[]
7273
>(
7374
(activities, groupingName) => {
74-
const group = groupActivitiesByGroupRef.current.get(groupingName);
75+
const group = groupActivitiesByGroup.get(groupingName);
7576

7677
if (group) {
7778
const result: ReadonlyMap<string, readonly (readonly WebChatActivity[])[]> = new Map(
@@ -97,7 +98,7 @@ function GroupActivitiesComposer({ children, groupActivitiesMiddleware }: GroupA
9798

9899
return Object.freeze(activities.map(activity => Object.freeze([activity])));
99100
},
100-
[groupActivitiesByGroupRef, groupActivitiesByRef]
101+
[groupActivitiesByGroup, groupActivitiesByRef]
101102
);
102103

103104
const context = useMemo<GroupActivitiesContextType>(

0 commit comments

Comments
 (0)