@amityco/ts-sdk-react-native 6.32.2 → 6.32.3-89ca939.0

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 (113) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/events.d.ts +1 -1
  3. package/dist/@types/core/events.d.ts.map +1 -1
  4. package/dist/@types/core/model.d.ts +1 -1
  5. package/dist/@types/core/model.d.ts.map +1 -1
  6. package/dist/@types/core/payload.d.ts +1 -1
  7. package/dist/@types/core/payload.d.ts.map +1 -1
  8. package/dist/@types/domains/channel.d.ts +1 -0
  9. package/dist/@types/domains/channel.d.ts.map +1 -1
  10. package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
  11. package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
  12. package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
  13. package/dist/channelRepository/api/updateChannel.d.ts.map +1 -1
  14. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts +2 -2
  15. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts.map +1 -1
  16. package/dist/channelRepository/events/onChannelCreated.d.ts +1 -1
  17. package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
  18. package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -1
  19. package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
  20. package/dist/channelRepository/events/onChannelFetched.d.ts +1 -1
  21. package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
  22. package/dist/channelRepository/events/onChannelJoined.d.ts +1 -1
  23. package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
  24. package/dist/channelRepository/events/onChannelLeft.d.ts +1 -1
  25. package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
  26. package/dist/channelRepository/events/onChannelMemberAdded.d.ts +1 -1
  27. package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
  28. package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -1
  29. package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
  30. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -1
  31. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
  32. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +1 -1
  33. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
  34. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +1 -1
  35. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
  36. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -1
  37. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
  38. package/dist/channelRepository/events/onChannelMuted.d.ts +1 -1
  39. package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
  40. package/dist/channelRepository/events/onChannelResolved.d.ts +1 -1
  41. package/dist/channelRepository/events/onChannelResolved.d.ts.map +1 -1
  42. package/dist/channelRepository/events/onChannelUpdated.d.ts +1 -1
  43. package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
  44. package/dist/channelRepository/events/onUserDeleted.d.ts +1 -1
  45. package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -1
  46. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  47. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +2 -2
  48. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
  49. package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
  50. package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -1
  51. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts +2 -0
  52. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -0
  53. package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -1
  54. package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
  55. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +1 -1
  56. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -1
  57. package/dist/client/utils/removeChannelMarkerCache.d.ts +1 -1
  58. package/dist/client/utils/removeChannelMarkerCache.d.ts.map +1 -1
  59. package/dist/communityRepository/communityMembership/events/utils.d.ts.map +1 -1
  60. package/dist/communityRepository/utils/communityWithMembership.d.ts.map +1 -1
  61. package/dist/index.cjs.js +157 -134
  62. package/dist/index.esm.js +157 -134
  63. package/dist/index.umd.js +3 -3
  64. package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
  65. package/dist/marker/utils/reCalculateChannelUnreadInfo.d.ts.map +1 -1
  66. package/dist/marker/utils/updateSubChannelUnreadFromMessage.d.ts.map +1 -1
  67. package/dist/messageRepository/events/onMessageCreated.d.ts.map +1 -1
  68. package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
  69. package/dist/utils/shallowClone.d.ts +1 -1
  70. package/dist/utils/shallowClone.d.ts.map +1 -1
  71. package/package.json +2 -2
  72. package/src/@types/core/events.ts +1 -1
  73. package/src/@types/core/model.ts +1 -1
  74. package/src/@types/core/payload.ts +1 -1
  75. package/src/@types/domains/channel.ts +5 -0
  76. package/src/channelRepository/api/createChannel.ts +2 -1
  77. package/src/channelRepository/api/getChannel.ts +4 -3
  78. package/src/channelRepository/api/getChannelByIds.ts +2 -1
  79. package/src/channelRepository/api/updateChannel.ts +2 -1
  80. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.ts +2 -2
  81. package/src/channelRepository/events/onChannelCreated.ts +2 -2
  82. package/src/channelRepository/events/onChannelDeleted.ts +2 -2
  83. package/src/channelRepository/events/onChannelFetched.ts +3 -3
  84. package/src/channelRepository/events/onChannelJoined.ts +5 -2
  85. package/src/channelRepository/events/onChannelLeft.ts +5 -2
  86. package/src/channelRepository/events/onChannelMemberAdded.ts +5 -2
  87. package/src/channelRepository/events/onChannelMemberBanned.ts +5 -2
  88. package/src/channelRepository/events/onChannelMemberRemoved.ts +5 -2
  89. package/src/channelRepository/events/onChannelMemberRoleAdded.ts +5 -2
  90. package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +5 -2
  91. package/src/channelRepository/events/onChannelMemberUnbanned.ts +5 -2
  92. package/src/channelRepository/events/onChannelMuted.ts +3 -2
  93. package/src/channelRepository/events/onChannelResolved.ts +2 -2
  94. package/src/channelRepository/events/onChannelUpdated.ts +2 -2
  95. package/src/channelRepository/events/onUserDeleted.ts +8 -2
  96. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -7
  97. package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +2 -2
  98. package/src/channelRepository/observers/observeChannel.ts +5 -4
  99. package/src/channelRepository/observers/observeChannels.ts +6 -4
  100. package/src/channelRepository/utils/constructChannelDynamicValue.ts +22 -0
  101. package/src/channelRepository/utils/prepareChannelPayload.ts +1 -13
  102. package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +2 -2
  103. package/src/channelRepository/utils/updateChannelCache.ts +1 -1
  104. package/src/client/utils/removeChannelMarkerCache.ts +1 -1
  105. package/src/communityRepository/communityMembership/events/utils.ts +4 -2
  106. package/src/communityRepository/utils/communityWithMembership.ts +15 -8
  107. package/src/marker/events/onMessageMarked.ts +0 -2
  108. package/src/marker/utils/reCalculateChannelUnreadInfo.ts +6 -0
  109. package/src/marker/utils/updateSubChannelUnreadFromMessage.ts +10 -0
  110. package/src/messageRepository/events/onMessageCreated.ts +2 -0
  111. package/src/subChannelRepository/utils/updateSubChannelCache.ts +1 -1
  112. package/src/utils/linkedObject/channelLinkedObject.ts +3 -3
  113. package/src/utils/shallowClone.ts +8 -5
@@ -1 +1 @@
1
- {"version":3,"file":"onMessageMarked.d.ts","sourceRoot":"","sources":["../../../src/marker/events/onMessageMarked.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,KAC5C,MAAM,YAoER,CAAC"}
1
+ {"version":3,"file":"onMessageMarked.d.ts","sourceRoot":"","sources":["../../../src/marker/events/onMessageMarked.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,KAC5C,MAAM,YAoER,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reCalculateChannelUnreadInfo.d.ts","sourceRoot":"","sources":["../../../src/marker/utils/reCalculateChannelUnreadInfo.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4BAA4B,cAAe,MAAM,KAAG,MAAM,iBAqCtE,CAAC"}
1
+ {"version":3,"file":"reCalculateChannelUnreadInfo.d.ts","sourceRoot":"","sources":["../../../src/marker/utils/reCalculateChannelUnreadInfo.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4BAA4B,cAAe,MAAM,KAAG,MAAM,iBA2CtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateSubChannelUnreadFromMessage.d.ts","sourceRoot":"","sources":["../../../src/marker/utils/updateSubChannelUnreadFromMessage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iCAAiC,YAAa,MAAM,UAAU,SAoC1E,CAAC"}
1
+ {"version":3,"file":"updateSubChannelUnreadFromMessage.d.ts","sourceRoot":"","sources":["../../../src/marker/utils/updateSubChannelUnreadFromMessage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iCAAiC,YAAa,MAAM,UAAU,SA8C1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"onMessageCreated.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/events/onMessageCreated.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YA+BR,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YAoBR,CAAC"}
1
+ {"version":3,"file":"onMessageCreated.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/events/onMessageCreated.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YAiCR,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YAoBR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAK1E,CAAC"}
1
+ {"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAI1E,CAAC"}
@@ -12,5 +12,5 @@
12
12
  * @category utility
13
13
  * @private
14
14
  */
15
- export declare function shallowClone(obj: any): any;
15
+ export declare function shallowClone(source: object, target: object): any;
16
16
  //# sourceMappingURL=shallowClone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallowClone.d.ts","sourceRoot":"","sources":["../../src/utils/shallowClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,OAKpC"}
1
+ {"version":3,"file":"shallowClone.d.ts","sourceRoot":"","sources":["../../src/utils/shallowClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAQ1D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk-react-native",
3
- "version": "6.32.2",
3
+ "version": "6.32.3-89ca939.0",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",
@@ -80,6 +80,6 @@
80
80
  "ts-jest": "^28.0.3"
81
81
  },
82
82
  "peerDependencies": {
83
- "react-native": "^0.70.13"
83
+ "react-native": ">=0.70.13"
84
84
  }
85
85
  }
@@ -199,7 +199,7 @@ declare global {
199
199
 
200
200
  type LocalEvents = {
201
201
  'local.channel.updated': MakeRequired<Amity.ProcessedChannelPayload, 'channels'>;
202
- 'local.channel.fetched': Amity.InternalChannel[];
202
+ 'local.channel.fetched': Amity.StaticInternalChannel[];
203
203
  'local.channel-moderator.role-added': Amity.ProcessedChannelPayload;
204
204
  'local.channel-moderator.role-removed': Amity.ProcessedChannelPayload;
205
205
  'local.message.created': MakeRequired<Amity.ProcessedMessagePayload, 'messages'>;
@@ -14,7 +14,7 @@ declare global {
14
14
  story: Amity.InternalStory;
15
15
  storyTarget: Amity.RawStoryTarget;
16
16
 
17
- channel: Amity.InternalChannel;
17
+ channel: Amity.StaticInternalChannel;
18
18
  subChannel: Amity.SubChannel;
19
19
  channelUsers: Amity.Membership<'channel'>;
20
20
  message: Amity.InternalMessage;
@@ -75,7 +75,7 @@ declare global {
75
75
  ChannelPayload,
76
76
  'channels' | 'channelUsers' | 'messagePreviews' | 'messageFeedsInfo' | 'users'
77
77
  > & {
78
- channels: Amity.InternalChannel<T>[];
78
+ channels: Amity.StaticInternalChannel<T>[];
79
79
  channelUsers: Amity.Membership<'channel'>[];
80
80
  users: Amity.InternalUser[];
81
81
  };
@@ -80,6 +80,11 @@ declare global {
80
80
  subChannelsUnreadCount: number;
81
81
  };
82
82
 
83
+ type StaticInternalChannel<T extends ChannelType = any> = Omit<
84
+ InternalChannel<T>,
85
+ 'unreadCount' | 'subChannelsUnreadCount' | 'hasMentioned' | 'isMentioned'
86
+ >;
87
+
83
88
  /* public type */
84
89
  type Channel<T extends ChannelType = any> = Omit<
85
90
  InternalChannel<T>,
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
6
7
 
7
8
  /* begin_public_function
8
9
  id: channel.create
@@ -52,7 +53,7 @@ export const createChannel = async <T extends Amity.ChannelType>(
52
53
 
53
54
  const { channels } = data;
54
55
  return {
55
- data: channels[0],
56
+ data: constructChannelDynamicValue(channels[0]),
56
57
  cachedAt,
57
58
  };
58
59
  };
@@ -9,6 +9,7 @@ import { pushToTombstone } from '~/cache/api/pushToTombstone';
9
9
 
10
10
  import { prepareChannelPayload } from '../utils';
11
11
  import { prepareUnreadCountInfo } from '../utils/prepateUnreadCountInfo';
12
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
12
13
 
13
14
  /**
14
15
  * ```js
@@ -59,7 +60,7 @@ export const getChannel = async (
59
60
  const { channels } = data;
60
61
 
61
62
  return {
62
- data: channels.find(channel => channel.channelId === channelId)!,
63
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)!),
63
64
  cachedAt,
64
65
  };
65
66
  };
@@ -86,14 +87,14 @@ getChannel.locally = (
86
87
  if (!client.cache) return;
87
88
 
88
89
  // use queryCache to get all channel caches and filter by channelPublicId since we use channelPrivateId as cache key
89
- const cached = queryCache<Amity.InternalChannel>(['channel', 'get'])?.filter(({ data }) => {
90
+ const cached = queryCache<Amity.StaticInternalChannel>(['channel', 'get'])?.filter(({ data }) => {
90
91
  return data.channelPublicId === channelId;
91
92
  });
92
93
 
93
94
  if (!cached || cached?.length === 0) return;
94
95
 
95
96
  return {
96
- data: cached[0].data,
97
+ data: constructChannelDynamicValue(cached[0].data),
97
98
  cachedAt: cached[0].cachedAt,
98
99
  };
99
100
  };
@@ -9,6 +9,7 @@ import { prepareChannelPayload } from '../utils';
9
9
  import { fireEvent } from '~/core/events';
10
10
  import { prepareUnreadCountInfo } from '../utils/prepateUnreadCountInfo';
11
11
  import { LinkedObject } from '~/utils/linkedObject';
12
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
12
13
 
13
14
  /**
14
15
  * ```js
@@ -64,7 +65,7 @@ export const getChannelByIds = async (
64
65
  fireEvent('local.channel.fetched', data.channels);
65
66
 
66
67
  return {
67
- data: data.channels.map(channel => LinkedObject.channel(channel)),
68
+ data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
68
69
  cachedAt,
69
70
  };
70
71
  };
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
6
7
 
7
8
  /* begin_public_function
8
9
  id: channel.update
@@ -42,7 +43,7 @@ export const updateChannel = async (
42
43
  const { channels } = data;
43
44
 
44
45
  return {
45
- data: channels.find(channel => channel.channelId === channelId)!,
46
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)!),
46
47
  cachedAt,
47
48
  };
48
49
  };
@@ -72,7 +72,7 @@ export class ChannelMemberQueryStreamController extends QueryStreamController<
72
72
  }
73
73
 
74
74
  reactor(action: string) {
75
- return (channel: Amity.InternalChannel, channelMember: Amity.Membership<'channel'>) => {
75
+ return (channel: Amity.StaticInternalChannel, channelMember: Amity.Membership<'channel'>) => {
76
76
  if (this.query.channelId !== channelMember.channelId) return;
77
77
 
78
78
  const collection = pullFromCache<Amity.ChannelMembersLiveCollectionCache>(
@@ -100,7 +100,7 @@ export class ChannelMemberQueryStreamController extends QueryStreamController<
100
100
  createSubscriber: {
101
101
  fn: (
102
102
  reactor: (
103
- channel: Amity.InternalChannel,
103
+ channel: Amity.StaticInternalChannel,
104
104
  channelMember: Amity.Membership<'channel'>,
105
105
  ) => void,
106
106
  ) => Amity.Unsubscriber;
@@ -5,7 +5,7 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel) => void;
8
+ type CallbackFn = (channel: Amity.StaticInternalChannel) => void;
9
9
  const callbacks: CallbackFn[] = [];
10
10
  let mainDisposer: (() => void) | null = null;
11
11
 
@@ -19,7 +19,7 @@ const dispose = (cb: CallbackFn) => {
19
19
  }
20
20
  };
21
21
 
22
- export const onChannelCreated = (callback: Amity.Listener<Amity.InternalChannel>) => {
22
+ export const onChannelCreated = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
23
23
  if (callbacks.length === 0) {
24
24
  const client = getActiveClient();
25
25
 
@@ -7,7 +7,7 @@ import { prepareChannelPayload } from '../utils/prepareChannelPayload';
7
7
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
8
8
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel) => void;
10
+ type CallbackFn = (channel: Amity.StaticInternalChannel) => void;
11
11
  const callbacks: CallbackFn[] = [];
12
12
  let mainDisposer: (() => void) | null = null;
13
13
 
@@ -21,7 +21,7 @@ const dispose = (cb: CallbackFn) => {
21
21
  }
22
22
  };
23
23
 
24
- export const onChannelDeleted = (callback: Amity.Listener<Amity.InternalChannel>) => {
24
+ export const onChannelDeleted = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
25
25
  if (callbacks.length === 0) {
26
26
  const client = getActiveClient();
27
27
 
@@ -2,7 +2,7 @@ import { createEventSubscriber } from '~/core/events';
2
2
 
3
3
  import { getActiveClient } from '~/client/api/activeClient';
4
4
 
5
- type CallbackFn = (channel: Amity.InternalChannel[]) => void;
5
+ type CallbackFn = (channel: Amity.StaticInternalChannel[]) => void;
6
6
  const callbacks: CallbackFn[] = [];
7
7
  let mainDisposer: (() => void) | null = null;
8
8
 
@@ -16,11 +16,11 @@ const dispose = (cb: CallbackFn) => {
16
16
  }
17
17
  };
18
18
 
19
- export const onChannelFetched = (callback: Amity.Listener<Amity.InternalChannel[]>) => {
19
+ export const onChannelFetched = (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
20
20
  if (callbacks.length === 0) {
21
21
  const client = getActiveClient();
22
22
 
23
- const filter = async (payload: Amity.InternalChannel[]) => {
23
+ const filter = async (payload: Amity.StaticInternalChannel[]) => {
24
24
  callbacks.forEach(cb => cb(payload));
25
25
  };
26
26
 
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelJoined = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -7,7 +7,10 @@ import { prepareChannelPayload } from '../utils';
7
7
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
8
8
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
10
+ type CallbackFn = (
11
+ channel: Amity.StaticInternalChannel,
12
+ member: Amity.Membership<'channel'>,
13
+ ) => void;
11
14
  const callbacks: CallbackFn[] = [];
12
15
  let mainDisposer: (() => void) | null = null;
13
16
 
@@ -22,7 +25,7 @@ const dispose = (cb: CallbackFn) => {
22
25
  };
23
26
 
24
27
  export const onChannelLeft = (
25
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
28
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
26
29
  ) => {
27
30
  if (callbacks.length === 0) {
28
31
  const client = getActiveClient();
@@ -4,7 +4,10 @@ import { createEventSubscriber } from '~/core/events';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
7
+ type CallbackFn = (
8
+ channel: Amity.StaticInternalChannel,
9
+ member: Amity.Membership<'channel'>,
10
+ ) => void;
8
11
  const callbacks: CallbackFn[] = [];
9
12
  let mainDisposer: (() => void) | null = null;
10
13
 
@@ -19,7 +22,7 @@ const dispose = (cb: CallbackFn) => {
19
22
  };
20
23
 
21
24
  export const onChannelMemberAdded = (
22
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
25
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
23
26
  ): Amity.Unsubscriber => {
24
27
  if (callbacks.length === 0) {
25
28
  const client = getActiveClient();
@@ -7,7 +7,10 @@ import { prepareChannelPayload } from '../utils';
7
7
  import { addFlagIsDeletedSubChannelUnreadByChannelId } from '~/marker/utils/addFlagIsDeletedSubChannelUnreadByChannelId';
8
8
  import { deleteChannelUnreadByChannelId } from '../../marker/utils/deleteChannelUnreadByChannelId';
9
9
 
10
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
10
+ type CallbackFn = (
11
+ channel: Amity.StaticInternalChannel,
12
+ member: Amity.Membership<'channel'>,
13
+ ) => void;
11
14
  const callbacks: CallbackFn[] = [];
12
15
  let mainDisposer: (() => void) | null = null;
13
16
 
@@ -22,7 +25,7 @@ const dispose = (cb: CallbackFn) => {
22
25
  };
23
26
 
24
27
  export const onChannelMemberBanned = (
25
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
28
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
26
29
  ) => {
27
30
  const client = getActiveClient();
28
31
 
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelMemberRemoved = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -1,7 +1,10 @@
1
1
  import { getActiveClient } from '~/client/api/activeClient';
2
2
  import { createEventSubscriber } from '~/core/events';
3
3
 
4
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
4
+ type CallbackFn = (
5
+ channel: Amity.StaticInternalChannel,
6
+ member: Amity.Membership<'channel'>,
7
+ ) => void;
5
8
  const callbacks: CallbackFn[] = [];
6
9
  let mainDisposer: (() => void) | null = null;
7
10
 
@@ -16,7 +19,7 @@ const dispose = (cb: CallbackFn) => {
16
19
  };
17
20
 
18
21
  export const onChannelMemberRoleAdded = (
19
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
22
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
20
23
  ): Amity.Unsubscriber => {
21
24
  if (callbacks.length === 0) {
22
25
  const client = getActiveClient();
@@ -4,7 +4,10 @@ import { createEventSubscriber } from '~/core/events';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
7
+ type CallbackFn = (
8
+ channel: Amity.StaticInternalChannel,
9
+ member: Amity.Membership<'channel'>,
10
+ ) => void;
8
11
  const callbacks: CallbackFn[] = [];
9
12
  let mainDisposer: (() => void) | null = null;
10
13
 
@@ -19,7 +22,7 @@ const dispose = (cb: CallbackFn) => {
19
22
  };
20
23
 
21
24
  export const onChannelMemberRoleRemoved = (
22
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
25
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
23
26
  ): Amity.Unsubscriber => {
24
27
  if (callbacks.length === 0) {
25
28
  const client = getActiveClient();
@@ -5,7 +5,10 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
7
 
8
- type CallbackFn = (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void;
8
+ type CallbackFn = (
9
+ channel: Amity.StaticInternalChannel,
10
+ member: Amity.Membership<'channel'>,
11
+ ) => void;
9
12
  const callbacks: CallbackFn[] = [];
10
13
  let mainDisposer: (() => void) | null = null;
11
14
 
@@ -20,7 +23,7 @@ const dispose = (cb: CallbackFn) => {
20
23
  };
21
24
 
22
25
  export const onChannelMemberUnbanned = (
23
- callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void,
26
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
24
27
  ) => {
25
28
  if (callbacks.length === 0) {
26
29
  const client = getActiveClient();
@@ -4,8 +4,9 @@ import { createEventSubscriber } from '~/core/events';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
7
+ import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
7
8
 
8
- type CallbackFn = Amity.Listener<Amity.InternalChannel>;
9
+ type CallbackFn = Amity.Listener<Amity.StaticInternalChannel>;
9
10
  const callbacks: CallbackFn[] = [];
10
11
  let mainDisposer: (() => void) | null = null;
11
12
 
@@ -19,7 +20,7 @@ const dispose = (cb: CallbackFn) => {
19
20
  }
20
21
  };
21
22
 
22
- export const onChannelMuted = (callback: Amity.Listener<Amity.InternalChannel>) => {
23
+ export const onChannelMuted = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
23
24
  if (callbacks.length === 0) {
24
25
  const client = getActiveClient();
25
26
 
@@ -11,10 +11,10 @@ import { createEventSubscriber } from '~/core/events';
11
11
  *
12
12
  * @category Channel Events
13
13
  */
14
- export const onChannelResolved = (callback: Amity.Listener<Amity.InternalChannel[]>) => {
14
+ export const onChannelResolved = (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
15
15
  const client = getActiveClient();
16
16
 
17
- const filter = async (payload: Amity.InternalChannel[]) => {
17
+ const filter = async (payload: Amity.StaticInternalChannel[]) => {
18
18
  callback(payload);
19
19
  };
20
20
 
@@ -4,7 +4,7 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
5
  import { prepareChannelPayload } from '../utils';
6
6
 
7
- type CallbackFn = Amity.Listener<Amity.InternalChannel>;
7
+ type CallbackFn = Amity.Listener<Amity.StaticInternalChannel>;
8
8
  const callbacks: CallbackFn[] = [];
9
9
  const mainDisposers: (() => void)[] = [];
10
10
 
@@ -18,7 +18,7 @@ const dispose = (cb: CallbackFn) => {
18
18
  }
19
19
  };
20
20
 
21
- export const onChannelUpdated = (callback: Amity.Listener<Amity.InternalChannel>) => {
21
+ export const onChannelUpdated = (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
22
22
  const client = getActiveClient();
23
23
 
24
24
  if (callbacks.length === 0) {
@@ -7,7 +7,9 @@ import { getResolver } from '~/core/model';
7
7
 
8
8
  export const onUserDeleted =
9
9
  (channelId: string) =>
10
- (callback: (channel: Amity.InternalChannel, member: Amity.Membership<'channel'>) => void) => {
10
+ (
11
+ callback: (channel: Amity.StaticInternalChannel, member: Amity.Membership<'channel'>) => void,
12
+ ) => {
11
13
  const client = getActiveClient();
12
14
 
13
15
  const filter = (payload: Amity.UserPayload) => {
@@ -35,7 +37,11 @@ export const onUserDeleted =
35
37
  user,
36
38
  });
37
39
 
38
- const channel = pullFromCache<Amity.InternalChannel>(['channel', 'get', channelId])?.data;
40
+ const channel = pullFromCache<Amity.StaticInternalChannel>([
41
+ 'channel',
42
+ 'get',
43
+ channelId,
44
+ ])?.data;
39
45
 
40
46
  if (!channel) return;
41
47
 
@@ -57,6 +57,7 @@ import { onChannelResolved } from '~/channelRepository/events/onChannelResolved'
57
57
  import { onUserMessageFeedMarkerResolved } from '~/marker/events/onUserMessageFeedMarkerResolved';
58
58
  import { LinkedObject } from '~/utils/linkedObject';
59
59
  import { onChannelUnreadUpdatedLocal } from '~/marker/events/onChannelUnreadUpdatedLocal';
60
+ import { constructChannelDynamicValue } from '~/channelRepository/utils/constructChannelDynamicValue';
60
61
 
61
62
  export class ChannelLiveCollectionController extends LiveCollectionController<
62
63
  'channel',
@@ -138,6 +139,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
138
139
  .filter(Boolean)
139
140
  .map(({ data }) => data)
140
141
  .map(getChannelMessagePreviewWithUser)
142
+ .map(constructChannelDynamicValue)
141
143
  .map(LinkedObject.channel) ?? [];
142
144
 
143
145
  if (this.paginationController instanceof ChannelPaginationController) {
@@ -254,6 +256,8 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
254
256
  message.channelId,
255
257
  ])?.data;
256
258
 
259
+ console.log('channel cache data => ', cacheData);
260
+
257
261
  if (!cacheData) {
258
262
  const objectResolverEngine = ObjectResolverEngine.getInstance();
259
263
  // channelId from message event payload is channelInternalId
@@ -300,7 +304,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
300
304
  { fn: onChannelUpdated, action: Amity.ChannelActionType.OnUpdate },
301
305
  { fn: onChannelMuted, action: Amity.ChannelActionType.OnMute },
302
306
  {
303
- fn: (callback: Amity.Listener<Amity.InternalChannel>) => {
307
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
304
308
  return onChannelJoined(channel => {
305
309
  resolveUnreadInfoOnChannelEvent(channel, callback);
306
310
  });
@@ -308,9 +312,9 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
308
312
  action: Amity.ChannelActionType.OnJoin,
309
313
  },
310
314
  {
311
- fn: (reactor: Amity.Listener<Amity.InternalChannel>) => {
315
+ fn: (reactor: Amity.Listener<Amity.StaticInternalChannel>) => {
312
316
  const callback = (
313
- channel: Amity.InternalChannel,
317
+ channel: Amity.StaticInternalChannel,
314
318
  member: Amity.Membership<'channel'>,
315
319
  ) => {
316
320
  const { userId } = getActiveClient();
@@ -527,7 +531,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
527
531
  action: Amity.ChannelActionType.OnResolve,
528
532
  },
529
533
  {
530
- fn: (callback: Amity.Listener<Amity.InternalChannel[]>) => {
534
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel[]>) => {
531
535
  const handleUserFeedMarkerResolved = async (
532
536
  marker: Amity.UserMessageFeedMarkerPayload,
533
537
  ) => {
@@ -539,9 +543,9 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
539
543
  const channels = channelIds
540
544
  .map(
541
545
  channelId =>
542
- pullFromCache<Amity.InternalChannel>(['channel', 'get', channelId])?.data,
546
+ pullFromCache<Amity.StaticInternalChannel>(['channel', 'get', channelId])?.data,
543
547
  )
544
- .filter(Boolean) as Amity.InternalChannel[];
548
+ .filter(Boolean) as Amity.StaticInternalChannel[];
545
549
 
546
550
  callback(channels);
547
551
  }
@@ -560,7 +564,7 @@ export class ChannelLiveCollectionController extends LiveCollectionController<
560
564
  return [
561
565
  ...subscriptions,
562
566
  {
563
- fn: (callback: Amity.Listener<Amity.InternalChannel>) => {
567
+ fn: (callback: Amity.Listener<Amity.StaticInternalChannel>) => {
564
568
  return onChannelCreated(channel => {
565
569
  resolveUnreadInfoOnChannelEvent(channel, callback);
566
570
  });
@@ -65,7 +65,7 @@ export class ChannelQueryStreamController extends QueryStreamController<
65
65
  }
66
66
 
67
67
  reactor(action: Amity.ChannelActionType) {
68
- return (payload: Amity.InternalChannel | Amity.InternalChannel[]) => {
68
+ return (payload: Amity.StaticInternalChannel | Amity.StaticInternalChannel[]) => {
69
69
  const collection = pullFromCache<Amity.ChannelLiveCollectionCache>(this.cacheKey)?.data;
70
70
  if (!collection) return;
71
71
 
@@ -94,7 +94,7 @@ export class ChannelQueryStreamController extends QueryStreamController<
94
94
  subscribeRTE(
95
95
  createSubscriber: {
96
96
  fn: (
97
- reactor: Amity.Listener<Amity.InternalChannel | Amity.InternalChannel[]>,
97
+ reactor: Amity.Listener<Amity.StaticInternalChannel | Amity.StaticInternalChannel[]>,
98
98
  ) => Amity.Unsubscriber;
99
99
  action: Amity.ChannelActionType;
100
100
  }[],