Skip to content

Commit b2ff58b

Browse files
Change mechanism back to throttle, increase delay
1 parent d255a9e commit b2ff58b

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

Diff for: src/components/MessageInput/hooks/useUserTrigger.ts

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useCallback } from 'react';
2-
import debounce from 'lodash.debounce';
2+
import throttle from 'lodash.throttle';
33

44
import { SearchLocalUserParams, searchLocalUsers } from './utils';
55

@@ -25,7 +25,7 @@ export type UserTriggerParams<
2525
useMentionsTransliteration?: boolean;
2626
};
2727

28-
const DEBOUNCE_DELAY = 200;
28+
const THROTTLE_DELAY = 500;
2929

3030
export const useUserTrigger = <
3131
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics
@@ -63,8 +63,8 @@ export const useUserTrigger = <
6363
return Object.values(uniqueUsers);
6464
}, [members, watchers]);
6565

66-
const queryMembersDebounced = useCallback(
67-
debounce(
66+
const queryMembersThrottled = useCallback(
67+
throttle(
6868
async (query: string, onReady: (users: UserResponse<StreamChatGenerics>[]) => void) => {
6969
try {
7070
// @ts-expect-error
@@ -85,13 +85,14 @@ export const useUserTrigger = <
8585
console.log({ error });
8686
}
8787
},
88-
DEBOUNCE_DELAY,
88+
THROTTLE_DELAY,
89+
{ leading: true, trailing: true },
8990
),
9091
[channel],
9192
);
9293

93-
const queryUsersDebounced = useCallback(
94-
debounce(
94+
const queryUsersThrottled = useCallback(
95+
throttle(
9596
async (query: string, onReady: (users: UserResponse<StreamChatGenerics>[]) => void) => {
9697
if (!query) return;
9798

@@ -114,7 +115,8 @@ export const useUserTrigger = <
114115
console.log({ error });
115116
}
116117
},
117-
DEBOUNCE_DELAY,
118+
THROTTLE_DELAY,
119+
{ leading: true, trailing: true },
118120
),
119121
[client, mentionQueryParams],
120122
);
@@ -138,7 +140,7 @@ export const useUserTrigger = <
138140
if (disableMentions) return;
139141

140142
if (mentionAllAppUsers) {
141-
return queryUsersDebounced(query, (data: UserResponse<StreamChatGenerics>[]) =>
143+
return queryUsersThrottled(query, (data: UserResponse<StreamChatGenerics>[]) =>
142144
onReady?.(filterMutes(data, text), query),
143145
);
144146
}
@@ -168,7 +170,7 @@ export const useUserTrigger = <
168170
return onReady?.(filterMutes(data, text), query);
169171
}
170172

171-
queryMembersDebounced(query, (data: UserResponse<StreamChatGenerics>[]) =>
173+
queryMembersThrottled(query, (data: UserResponse<StreamChatGenerics>[]) =>
172174
onReady?.(filterMutes(data, text), query),
173175
);
174176
},

0 commit comments

Comments
 (0)