stream-chat-react-native-core 6.6.8-beta.3 → 6.6.8-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Channel/Channel.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +0 -5
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useChannelMembershipState.js +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +15 -5
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +11 -14
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/hooks/useSelectedChannelState.js.map +1 -0
- package/lib/commonjs/hooks/useSyncClientEvents.js +38 -0
- package/lib/commonjs/hooks/useSyncClientEvents.js.map +1 -0
- package/lib/commonjs/hooks/useTranslatedMessage.js +1 -2
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +0 -5
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useChannelMembershipState.js +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +15 -5
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +11 -14
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/hooks/useSelectedChannelState.js.map +1 -0
- package/lib/module/hooks/useSyncClientEvents.js +38 -0
- package/lib/module/hooks/useSyncClientEvents.js.map +1 -0
- package/lib/module/hooks/useTranslatedMessage.js +1 -2
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -0
- package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
- package/lib/typescript/{components/ChannelList/hooks → hooks}/useSelectedChannelState.d.ts +1 -1
- package/lib/typescript/hooks/useSelectedChannelState.d.ts.map +1 -0
- package/lib/typescript/hooks/useSyncClientEvents.d.ts +15 -0
- package/lib/typescript/hooks/useSyncClientEvents.d.ts.map +1 -0
- package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
- package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +1 -1
- package/src/components/ChannelList/ChannelList.tsx +0 -6
- package/src/components/ChannelList/__tests__/ChannelList.test.js +0 -62
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +4 -0
- package/src/components/ChannelList/hooks/useChannelMembershipState.ts +1 -1
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +108 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +25 -11
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +11 -13
- package/src/{components/ChannelList/hooks → hooks}/useSelectedChannelState.ts +1 -1
- package/src/hooks/useSyncClientEvents.ts +69 -0
- package/src/hooks/useTranslatedMessage.ts +1 -3
- package/src/store/apis/queries/selectMessagesForChannels.ts +3 -2
- package/src/version.json +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useSelectedChannelState.js.map +0 -1
- package/lib/module/components/ChannelList/hooks/useSelectedChannelState.js.map +0 -1
- package/lib/typescript/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +0 -1
- /package/lib/commonjs/{components/ChannelList/hooks → hooks}/useSelectedChannelState.js +0 -0
- /package/lib/module/{components/ChannelList/hooks → hooks}/useSelectedChannelState.js +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
import type { Channel, EventTypes, StreamChat } from 'stream-chat';
|
|
4
|
+
import { useSyncExternalStore } from 'use-sync-external-store/shim';
|
|
5
|
+
|
|
6
|
+
import { DefaultStreamChatGenerics } from '../types/types';
|
|
7
|
+
|
|
8
|
+
const noop = () => {};
|
|
9
|
+
|
|
10
|
+
export function useSyncClientEventsToChannel<
|
|
11
|
+
StreamChatGenerics extends DefaultStreamChatGenerics,
|
|
12
|
+
O,
|
|
13
|
+
>(_: {
|
|
14
|
+
channel: Channel<StreamChatGenerics>;
|
|
15
|
+
client: StreamChat<StreamChatGenerics>;
|
|
16
|
+
selector: (channel: Channel<StreamChatGenerics>, client: StreamChat<StreamChatGenerics>) => O;
|
|
17
|
+
stateChangeEventKeys?: EventTypes[];
|
|
18
|
+
}): O;
|
|
19
|
+
export function useSyncClientEventsToChannel<
|
|
20
|
+
StreamChatGenerics extends DefaultStreamChatGenerics,
|
|
21
|
+
O,
|
|
22
|
+
>(_: {
|
|
23
|
+
selector: (channel: Channel<StreamChatGenerics>, client: StreamChat<StreamChatGenerics>) => O;
|
|
24
|
+
channel?: Channel<StreamChatGenerics> | undefined;
|
|
25
|
+
client?: StreamChat<StreamChatGenerics> | undefined;
|
|
26
|
+
stateChangeEventKeys?: EventTypes[];
|
|
27
|
+
}): O | undefined;
|
|
28
|
+
export function useSyncClientEventsToChannel<
|
|
29
|
+
StreamChatGenerics extends DefaultStreamChatGenerics,
|
|
30
|
+
O,
|
|
31
|
+
>({
|
|
32
|
+
channel,
|
|
33
|
+
client,
|
|
34
|
+
selector,
|
|
35
|
+
stateChangeEventKeys = ['all'],
|
|
36
|
+
}: {
|
|
37
|
+
selector: (channel: Channel<StreamChatGenerics>, client: StreamChat<StreamChatGenerics>) => O;
|
|
38
|
+
channel?: Channel<StreamChatGenerics> | undefined;
|
|
39
|
+
client?: StreamChat<StreamChatGenerics>;
|
|
40
|
+
stateChangeEventKeys?: EventTypes[];
|
|
41
|
+
}): O | undefined {
|
|
42
|
+
const subscribe = useCallback(
|
|
43
|
+
(onStoreChange: (value: O) => void) => {
|
|
44
|
+
if (!client || !channel) {
|
|
45
|
+
return noop;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const subscriptions = stateChangeEventKeys.map((et) =>
|
|
49
|
+
client.on(et, () => {
|
|
50
|
+
onStoreChange(selector(channel, client));
|
|
51
|
+
}),
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
return () => subscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
55
|
+
},
|
|
56
|
+
[channel, client, selector, stateChangeEventKeys],
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const getSnapshot = useCallback(() => {
|
|
60
|
+
if (!client || !channel) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const originalSnapshot = selector(channel, client);
|
|
65
|
+
return originalSnapshot;
|
|
66
|
+
}, [channel, client, selector]);
|
|
67
|
+
|
|
68
|
+
return useSyncExternalStore(subscribe, getSnapshot);
|
|
69
|
+
}
|
|
@@ -10,9 +10,7 @@ export const useTranslatedMessage = <
|
|
|
10
10
|
>(
|
|
11
11
|
message?: MessageResponse<StreamChatGenerics> | FormatMessageResponse<StreamChatGenerics>,
|
|
12
12
|
) => {
|
|
13
|
-
const { userLanguage
|
|
14
|
-
|
|
15
|
-
const userLanguage = translationContextUserLanguage;
|
|
13
|
+
const { userLanguage } = useTranslationContext();
|
|
16
14
|
|
|
17
15
|
const translationKey: TranslationKey = `${userLanguage}_text`;
|
|
18
16
|
|
|
@@ -30,7 +30,7 @@ export const selectMessagesForChannels = async (
|
|
|
30
30
|
*,
|
|
31
31
|
ROW_NUMBER() OVER (
|
|
32
32
|
PARTITION BY cid
|
|
33
|
-
ORDER BY cast(strftime('%s', createdAt) AS INTEGER)
|
|
33
|
+
ORDER BY cast(strftime('%s', createdAt) AS INTEGER) DESC
|
|
34
34
|
) RowNum
|
|
35
35
|
FROM messages
|
|
36
36
|
WHERE cid in (${questionMarks})
|
|
@@ -38,7 +38,8 @@ export const selectMessagesForChannels = async (
|
|
|
38
38
|
LEFT JOIN
|
|
39
39
|
users b
|
|
40
40
|
ON b.id = a.userId
|
|
41
|
-
WHERE RowNum < 200
|
|
41
|
+
WHERE RowNum < 200
|
|
42
|
+
ORDER BY cast(strftime('%s', a.createdAt) AS INTEGER) ASC`,
|
|
42
43
|
cids,
|
|
43
44
|
);
|
|
44
45
|
|
package/src/version.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_shim","noop","useSelectedChannelState","_ref","channel","selector","_ref$stateChangeEvent","stateChangeEventKeys","subscribe","useCallback","onStoreChange","subscriptions","map","et","on","forEach","subscription","unsubscribe","getSnapshot","undefined","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["components/ChannelList/hooks/useSelectedChannelState.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AAIA,IAAME,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAS,CAAC,CAAC;AAkBd,SAASC,uBAAuBA,CAAAC,IAAA,EAQrB;EAAA,IAPhBC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,qBAAA,GAAAH,IAAA,CACRI,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,KAAK,CAAC,GAAAA,qBAAA;EAM9B,IAAME,SAAS,GAAG,IAAAC,kBAAW,EAC3B,UAACC,aAAiC,EAAK;IACrC,IAAI,CAACN,OAAO,EAAE;MACZ,OAAOH,IAAI;IACb;IAEA,IAAMU,aAAa,GAAGJ,oBAAoB,CAACK,GAAG,CAAC,UAACC,EAAE;MAAA,OAChDT,OAAO,CAACU,EAAE,CAACD,EAAE,EAAE,YAAM;QACnBH,aAAa,CAACL,QAAQ,CAACD,OAAO,CAAC,CAAC;MAClC,CAAC,CAAC;IAAA,CACJ,CAAC;IAED,OAAO;MAAA,OAAMO,aAAa,CAACI,OAAO,CAAC,UAACC,YAAY;QAAA,OAAKA,YAAY,CAACC,WAAW,CAAC,CAAC;MAAA,EAAC;IAAA;EAClF,CAAC,EACD,CAACb,OAAO,EAAEC,QAAQ,EAAEE,oBAAoB,CAC1C,CAAC;EAED,IAAMW,WAAW,GAAG,IAAAT,kBAAW,EAAC,YAAM;IACpC,IAAI,CAACL,OAAO,EAAE;MACZ,OAAOe,SAAS;IAClB;IAEA,OAAOd,QAAQ,CAACD,OAAO,CAAC;EAC1B,CAAC,EAAE,CAACA,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEvB,OAAO,IAAAe,0BAAoB,EAACZ,SAAS,EAAEU,WAAW,CAAC;AACrD","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_shim","noop","useSelectedChannelState","_ref","channel","selector","_ref$stateChangeEvent","stateChangeEventKeys","subscribe","useCallback","onStoreChange","subscriptions","map","et","on","forEach","subscription","unsubscribe","getSnapshot","undefined","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["components/ChannelList/hooks/useSelectedChannelState.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AAIA,IAAME,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAS,CAAC,CAAC;AAkBd,SAASC,uBAAuBA,CAAAC,IAAA,EAQrB;EAAA,IAPhBC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,qBAAA,GAAAH,IAAA,CACRI,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,KAAK,CAAC,GAAAA,qBAAA;EAM9B,IAAME,SAAS,GAAG,IAAAC,kBAAW,EAC3B,UAACC,aAAiC,EAAK;IACrC,IAAI,CAACN,OAAO,EAAE;MACZ,OAAOH,IAAI;IACb;IAEA,IAAMU,aAAa,GAAGJ,oBAAoB,CAACK,GAAG,CAAC,UAACC,EAAE;MAAA,OAChDT,OAAO,CAACU,EAAE,CAACD,EAAE,EAAE,YAAM;QACnBH,aAAa,CAACL,QAAQ,CAACD,OAAO,CAAC,CAAC;MAClC,CAAC,CAAC;IAAA,CACJ,CAAC;IAED,OAAO;MAAA,OAAMO,aAAa,CAACI,OAAO,CAAC,UAACC,YAAY;QAAA,OAAKA,YAAY,CAACC,WAAW,CAAC,CAAC;MAAA,EAAC;IAAA;EAClF,CAAC,EACD,CAACb,OAAO,EAAEC,QAAQ,EAAEE,oBAAoB,CAC1C,CAAC;EAED,IAAMW,WAAW,GAAG,IAAAT,kBAAW,EAAC,YAAM;IACpC,IAAI,CAACL,OAAO,EAAE;MACZ,OAAOe,SAAS;IAClB;IAEA,OAAOd,QAAQ,CAACD,OAAO,CAAC;EAC1B,CAAC,EAAE,CAACA,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEvB,OAAO,IAAAe,0BAAoB,EAACZ,SAAS,EAAEU,WAAW,CAAC;AACrD","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectedChannelState.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChannelList/hooks/useSelectedChannelState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,wBAAgB,uBAAuB,CACrC,kBAAkB,SAAS,yBAAyB,EACpD,CAAC,EACD,CAAC,EAAE;IACH,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtD,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;CACrC,GAAG,CAAC,CAAC;AACN,wBAAgB,uBAAuB,CACrC,kBAAkB,SAAS,yBAAyB,EACpD,CAAC,EACD,CAAC,EAAE;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAClD,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;CACrC,GAAG,CAAC,GAAG,SAAS,CAAC"}
|
|
File without changes
|
|
File without changes
|