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.
Files changed (65) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +1 -1
  2. package/lib/commonjs/components/ChannelList/ChannelList.js +0 -5
  3. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  4. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  5. package/lib/commonjs/components/ChannelList/hooks/useChannelMembershipState.js +1 -1
  6. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +15 -5
  7. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  8. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +11 -14
  9. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  10. package/lib/commonjs/hooks/useSelectedChannelState.js.map +1 -0
  11. package/lib/commonjs/hooks/useSyncClientEvents.js +38 -0
  12. package/lib/commonjs/hooks/useSyncClientEvents.js.map +1 -0
  13. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -2
  14. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  15. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +1 -1
  16. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  17. package/lib/commonjs/version.json +1 -1
  18. package/lib/module/components/Channel/Channel.js +1 -1
  19. package/lib/module/components/ChannelList/ChannelList.js +0 -5
  20. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  21. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  22. package/lib/module/components/ChannelList/hooks/useChannelMembershipState.js +1 -1
  23. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +15 -5
  24. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  25. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +11 -14
  26. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  27. package/lib/module/hooks/useSelectedChannelState.js.map +1 -0
  28. package/lib/module/hooks/useSyncClientEvents.js +38 -0
  29. package/lib/module/hooks/useSyncClientEvents.js.map +1 -0
  30. package/lib/module/hooks/useTranslatedMessage.js +1 -2
  31. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  32. package/lib/module/store/apis/queries/selectMessagesForChannels.js +1 -1
  33. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  34. package/lib/module/version.json +1 -1
  35. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  36. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -0
  37. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts.map +1 -1
  38. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +1 -1
  39. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts.map +1 -1
  40. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
  41. package/lib/typescript/{components/ChannelList/hooks → hooks}/useSelectedChannelState.d.ts +1 -1
  42. package/lib/typescript/hooks/useSelectedChannelState.d.ts.map +1 -0
  43. package/lib/typescript/hooks/useSyncClientEvents.d.ts +15 -0
  44. package/lib/typescript/hooks/useSyncClientEvents.d.ts.map +1 -0
  45. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  46. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/src/components/Channel/Channel.tsx +1 -1
  49. package/src/components/ChannelList/ChannelList.tsx +0 -6
  50. package/src/components/ChannelList/__tests__/ChannelList.test.js +0 -62
  51. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +4 -0
  52. package/src/components/ChannelList/hooks/useChannelMembershipState.ts +1 -1
  53. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +108 -0
  54. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +25 -11
  55. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +11 -13
  56. package/src/{components/ChannelList/hooks → hooks}/useSelectedChannelState.ts +1 -1
  57. package/src/hooks/useSyncClientEvents.ts +69 -0
  58. package/src/hooks/useTranslatedMessage.ts +1 -3
  59. package/src/store/apis/queries/selectMessagesForChannels.ts +3 -2
  60. package/src/version.json +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/useSelectedChannelState.js.map +0 -1
  62. package/lib/module/components/ChannelList/hooks/useSelectedChannelState.js.map +0 -1
  63. package/lib/typescript/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +0 -1
  64. /package/lib/commonjs/{components/ChannelList/hooks → hooks}/useSelectedChannelState.js +0 -0
  65. /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: translationContextUserLanguage } = useTranslationContext();
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) ASC
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,3 +1,3 @@
1
1
  {
2
- "version": "6.6.8-beta.3"
2
+ "version": "6.6.8-beta.5"
3
3
  }
@@ -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"}