Skip to content

Commit 3497bcb

Browse files
authored
fix: remove nin and ne operator usage in the SDK and the sample app (#2672)
* fix: remove and operator usage in the SDK and the sample app * fix: remove console log * fix: change console log to warn * fix: add improvemnts * fix: import of debouncefunc * fix: import of debouncefunc * fix: restructure queryMembers, queryUsers and ACItriggersettings * fix: error bubbling for suggestions in auto complete input
1 parent 9179398 commit 3497bcb

File tree

10 files changed

+525
-485
lines changed

10 files changed

+525
-485
lines changed

examples/SampleApp/src/hooks/usePaginatedUsers.ts

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,6 @@ export const usePaginatedUsers = (): PaginatedUsers => {
121121
try {
122122
queryInProgress.current = true;
123123
const filter: UserFilters = {
124-
id: {
125-
$nin: [chatClient?.userID],
126-
},
127124
role: 'user',
128125
};
129126

@@ -143,7 +140,7 @@ export const usePaginatedUsers = (): PaginatedUsers => {
143140
return;
144141
}
145142

146-
const res = await chatClient?.queryUsers(
143+
const { users } = await chatClient?.queryUsers(
147144
filter,
148145
{ name: 1 },
149146
{
@@ -153,33 +150,25 @@ export const usePaginatedUsers = (): PaginatedUsers => {
153150
},
154151
);
155152

156-
if (!res?.users) {
157-
queryInProgress.current = false;
158-
return;
159-
}
160-
161-
// Dumb check to avoid duplicates
162-
if (query === searchText && results.findIndex((r) => res?.users[0].id === r.id) > -1) {
163-
queryInProgress.current = false;
164-
return;
165-
}
153+
const usersWithoutClientUserId = users.filter((user) => user.id !== chatClient.userID);
166154

167155
setResults((r) => {
168156
if (query !== searchText) {
169-
return res?.users;
157+
return usersWithoutClientUserId;
170158
}
171-
return r.concat(res?.users || []);
159+
return r.concat(usersWithoutClientUserId);
172160
});
173161

174-
if (res?.users.length < 10 && (offset.current === 0 || query === searchText)) {
162+
if (usersWithoutClientUserId.length < 10 && (offset.current === 0 || query === searchText)) {
175163
hasMoreResults.current = false;
176164
}
177165

178166
if (!query && offset.current === 0) {
179-
setInitialResults(res?.users || []);
167+
setInitialResults(usersWithoutClientUserId);
180168
}
181169
} catch (e) {
182170
// do nothing;
171+
console.log('Error fetching users', e);
183172
}
184173
queryInProgress.current = false;
185174
setLoading(false);

package/src/components/AutoCompleteInput/AutoCompleteInput.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,12 @@ import {
2828
} from '../../contexts/translationContext/TranslationContext';
2929
import type { Emoji } from '../../emoji-data';
3030
import type { DefaultStreamChatGenerics } from '../../types/types';
31-
import { isCommandTrigger, isEmojiTrigger, isMentionTrigger } from '../../utils/utils';
32-
33-
import type { Trigger } from '../../utils/utils';
31+
import {
32+
isCommandTrigger,
33+
isEmojiTrigger,
34+
isMentionTrigger,
35+
Trigger,
36+
} from '../../utils/ACITriggerSettings';
3437

3538
const styles = StyleSheet.create({
3639
inputBox: {

package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useMockedApis } from '../../../mock-builders/api/useMockedApis';
88
import { generateChannelResponse } from '../../../mock-builders/generator/channel';
99
import { generateUser } from '../../../mock-builders/generator/user';
1010
import { getTestClientWithUser } from '../../../mock-builders/mock';
11-
import { ACITriggerSettings } from '../../../utils/utils';
11+
import { ACITriggerSettings } from '../../../utils/ACITriggerSettings';
1212
import { Chat } from '../../Chat/Chat';
1313
import { AutoCompleteInput } from '../AutoCompleteInput';
1414

package/src/contexts/messageInputContext/MessageInputContext.tsx

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,17 +63,19 @@ import {
6363
ImageUpload,
6464
UnknownType,
6565
} from '../../types/types';
66-
import { compressedImageURI } from '../../utils/compressImage';
67-
import { removeReservedFields } from '../../utils/removeReservedFields';
6866
import {
6967
ACITriggerSettings,
7068
ACITriggerSettingsParams,
69+
TriggerSettings,
70+
} from '../../utils/ACITriggerSettings';
71+
import { compressedImageURI } from '../../utils/compressImage';
72+
import { removeReservedFields } from '../../utils/removeReservedFields';
73+
import {
7174
FileState,
7275
FileStateValue,
7376
generateRandomId,
7477
getFileNameFromPath,
7578
isBouncedMessage,
76-
TriggerSettings,
7779
} from '../../utils/utils';
7880
import { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';
7981
import { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';
@@ -1073,25 +1075,30 @@ export const MessageInputProvider = <
10731075
};
10741076

10751077
const getTriggerSettings = () => {
1076-
let triggerSettings: TriggerSettings<StreamChatGenerics> = {};
1077-
if (channel) {
1078-
if (value.autoCompleteTriggerSettings) {
1079-
triggerSettings = value.autoCompleteTriggerSettings({
1080-
channel,
1081-
client,
1082-
emojiSearchIndex: value.emojiSearchIndex,
1083-
onMentionSelectItem: onSelectItem,
1084-
});
1085-
} else {
1086-
triggerSettings = ACITriggerSettings<StreamChatGenerics>({
1087-
channel,
1088-
client,
1089-
emojiSearchIndex: value.emojiSearchIndex,
1090-
onMentionSelectItem: onSelectItem,
1091-
});
1078+
try {
1079+
let triggerSettings: TriggerSettings<StreamChatGenerics> = {};
1080+
if (channel) {
1081+
if (value.autoCompleteTriggerSettings) {
1082+
triggerSettings = value.autoCompleteTriggerSettings({
1083+
channel,
1084+
client,
1085+
emojiSearchIndex: value.emojiSearchIndex,
1086+
onMentionSelectItem: onSelectItem,
1087+
});
1088+
} else {
1089+
triggerSettings = ACITriggerSettings<StreamChatGenerics>({
1090+
channel,
1091+
client,
1092+
emojiSearchIndex: value.emojiSearchIndex,
1093+
onMentionSelectItem: onSelectItem,
1094+
});
1095+
}
10921096
}
1097+
return triggerSettings;
1098+
} catch (error) {
1099+
console.warn('Error in getting trigger settings', error);
1100+
throw error;
10931101
}
1094-
return triggerSettings;
10951102
};
10961103

10971104
const triggerSettings = getTriggerSettings();

package/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ export * from './icons';
1111

1212
export * from './types/types';
1313

14+
export * from './utils/ACITriggerSettings';
1415
export * from './utils/patchMessageTextCommand';
1516
export * from './utils/i18n/Streami18n';
17+
export * from './utils/queryMembers';
18+
export * from './utils/queryUsers';
1619
export * from './utils/utils';
1720
export * from './utils/StreamChatRN';
1821

0 commit comments

Comments
 (0)