@amityco/ts-sdk 6.18.1-c018952.0 → 6.19.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 (90) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/events.d.ts +4 -0
  3. package/dist/@types/core/events.d.ts.map +1 -1
  4. package/dist/@types/core/objectResolver.d.ts +13 -0
  5. package/dist/@types/core/objectResolver.d.ts.map +1 -0
  6. package/dist/@types/domains/channel.d.ts +12 -1
  7. package/dist/@types/domains/channel.d.ts.map +1 -1
  8. package/dist/analytic/api/syncEvent.d.ts.map +1 -1
  9. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +1 -0
  10. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -1
  11. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +1 -0
  12. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -1
  13. package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts.map +1 -1
  14. package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
  15. package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
  16. package/dist/channelRepository/events/onChannelFetched.d.ts +17 -0
  17. package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -0
  18. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  19. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +3 -3
  20. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
  21. package/dist/channelRepository/observers/observeChannel.d.ts +1 -1
  22. package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
  23. package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
  24. package/dist/channelRepository/utils/prepateUnreadCountInfo.d.ts +2 -0
  25. package/dist/channelRepository/utils/prepateUnreadCountInfo.d.ts.map +1 -0
  26. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +2 -0
  27. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -0
  28. package/dist/client/api/login.d.ts.map +1 -1
  29. package/dist/client/utils/ObjectResolver/objectResolverEngine.d.ts +26 -0
  30. package/dist/client/utils/ObjectResolver/objectResolverEngine.d.ts.map +1 -0
  31. package/dist/client/utils/ObjectResolver/objectResolverEngineOnLoginHandler.d.ts +3 -0
  32. package/dist/client/utils/ObjectResolver/objectResolverEngineOnLoginHandler.d.ts.map +1 -0
  33. package/dist/client/utils/onOffline.d.ts +2 -0
  34. package/dist/client/utils/onOffline.d.ts.map +1 -0
  35. package/dist/core/events.d.ts +3 -3
  36. package/dist/core/events.d.ts.map +1 -1
  37. package/dist/index.cjs.js +446 -158
  38. package/dist/index.esm.js +446 -158
  39. package/dist/index.umd.js +4 -4
  40. package/dist/marker/api/getUserMessageFeedMarkers.d.ts.map +1 -1
  41. package/dist/marker/events/onUserFeedMarkerFetched.d.ts +17 -0
  42. package/dist/marker/events/onUserFeedMarkerFetched.d.ts.map +1 -0
  43. package/dist/marker/utils/addFlagSubChannelUnreadByChannelId.d.ts +2 -0
  44. package/dist/marker/utils/addFlagSubChannelUnreadByChannelId.d.ts.map +1 -0
  45. package/dist/marker/utils/addFlagSubChannelUnreadBySubChannelId.d.ts +2 -0
  46. package/dist/marker/utils/addFlagSubChannelUnreadBySubChannelId.d.ts.map +1 -0
  47. package/dist/messageRepository/observers/tests/markReadMessage.test.d.ts +2 -0
  48. package/dist/messageRepository/observers/tests/markReadMessage.test.d.ts.map +1 -0
  49. package/dist/reactionRepository/events/onReactionAdded.d.ts.map +1 -1
  50. package/dist/subChannelRepository/events/onSubChannelCreated.d.ts.map +1 -1
  51. package/dist/subChannelRepository/utils/persistOptimisticUnreadInfo.d.ts +1 -1
  52. package/dist/subChannelRepository/utils/persistOptimisticUnreadInfo.d.ts.map +1 -1
  53. package/dist/utils/liveObject.d.ts.map +1 -1
  54. package/dist/utils/tests/dummy/message.d.ts +5 -4
  55. package/dist/utils/tests/dummy/message.d.ts.map +1 -1
  56. package/package.json +1 -1
  57. package/src/@types/core/events.ts +5 -0
  58. package/src/@types/core/objectResolver.ts +14 -0
  59. package/src/@types/domains/channel.ts +12 -10
  60. package/src/analytic/api/syncEvent.ts +1 -3
  61. package/src/analytic/service/analytic/AnalyticsEngine.ts +6 -6
  62. package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +9 -1
  63. package/src/analytic/service/analytic/AnalyticsEventSyncer.ts +9 -3
  64. package/src/channelRepository/api/getChannel.ts +5 -0
  65. package/src/channelRepository/api/getChannelByIds.ts +3 -0
  66. package/src/channelRepository/events/onChannelFetched.ts +28 -0
  67. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +86 -26
  68. package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +21 -8
  69. package/src/channelRepository/observers/observeChannel.ts +22 -9
  70. package/src/channelRepository/observers/observeChannels.ts +9 -9
  71. package/src/channelRepository/utils/prepareChannelPayload.ts +0 -13
  72. package/src/channelRepository/utils/prepateUnreadCountInfo.ts +20 -0
  73. package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +15 -0
  74. package/src/channelRepository/utils/tests/prepareChannelPayload.test.ts +2 -2
  75. package/src/client/api/login.ts +3 -1
  76. package/src/client/utils/ObjectResolver/objectResolverEngine.ts +143 -0
  77. package/src/client/utils/ObjectResolver/objectResolverEngineOnLoginHandler.ts +21 -0
  78. package/src/client/utils/onOffline.ts +15 -0
  79. package/src/marker/api/getUserMessageFeedMarkers.ts +3 -0
  80. package/src/marker/events/onUserFeedMarkerFetched.ts +37 -0
  81. package/src/marker/utils/addFlagSubChannelUnreadByChannelId.ts +19 -0
  82. package/src/marker/utils/addFlagSubChannelUnreadBySubChannelId.ts +13 -0
  83. package/src/messageRepository/observers/tests/markReadMessage.test.ts +225 -0
  84. package/src/reactionRepository/events/onReactionAdded.ts +1 -0
  85. package/src/subChannelRepository/events/onSubChannelCreated.ts +8 -1
  86. package/src/subChannelRepository/utils/persistOptimisticUnreadInfo.ts +24 -19
  87. package/src/utils/liveObject.ts +1 -0
  88. package/src/utils/tests/client.ts +1 -1
  89. package/src/utils/tests/dummy/channel.ts +4 -4
  90. package/src/utils/tests/dummy/message.ts +11 -2
@@ -27,7 +27,14 @@ export const onSubChannelCreated = (callback: Amity.Listener<Amity.SubChannel>)
27
27
 
28
28
  // optimistically create subChannelUnreadInfo
29
29
  if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
30
- persistOptimisticUnreadInfo(rawPayload);
30
+ rawPayload.messageFeeds.forEach(subChannel => {
31
+ persistOptimisticUnreadInfo({
32
+ channelId: subChannel.channelId,
33
+ subChannelId: subChannel.messageFeedId,
34
+ createdAt: subChannel.createdAt,
35
+ updatedAt: subChannel.updatedAt,
36
+ });
37
+ });
31
38
  }
32
39
 
33
40
  ingestInCache(payload);
@@ -1,23 +1,28 @@
1
1
  import { pushToCache } from '~/cache/api';
2
2
 
3
- export const persistOptimisticUnreadInfo = (rawPayload: Amity.SubChannelPayload) => {
4
- rawPayload.messageFeeds.forEach(messageFeed => {
5
- const subChannelUnreadInfo: Amity.SubChannelUnreadInfo = {
6
- channelId: messageFeed.channelId,
7
- subChannelId: messageFeed.messageFeedId,
8
- unreadCount: 0,
9
- readToSegment: 0,
10
- lastMentionSegment: 0,
11
- lastSegment: 0,
12
- isMentioned: false,
13
- isDeleted: false,
14
- createdAt: messageFeed.createdAt,
15
- updatedAt: messageFeed.updatedAt,
16
- };
3
+ export const persistOptimisticUnreadInfo = (
4
+ subChannelOptimisticInfo: Pick<
5
+ Amity.SubChannel,
6
+ 'channelId' | 'subChannelId' | 'createdAt' | 'updatedAt'
7
+ >,
8
+ ) => {
9
+ const { channelId, subChannelId, createdAt, updatedAt } = subChannelOptimisticInfo;
17
10
 
18
- pushToCache(
19
- ['subChannelUnreadInfo', 'get', subChannelUnreadInfo.subChannelId],
20
- subChannelUnreadInfo,
21
- );
22
- });
11
+ const subChannelUnreadInfo: Amity.SubChannelUnreadInfo = {
12
+ channelId,
13
+ subChannelId,
14
+ unreadCount: 0,
15
+ readToSegment: 0,
16
+ lastMentionSegment: 0,
17
+ lastSegment: 0,
18
+ isMentioned: false,
19
+ isDeleted: false,
20
+ createdAt,
21
+ updatedAt,
22
+ };
23
+
24
+ pushToCache(
25
+ ['subChannelUnreadInfo', 'get', subChannelUnreadInfo.subChannelId],
26
+ subChannelUnreadInfo,
27
+ );
23
28
  };
@@ -64,6 +64,7 @@ export const liveObject = <
64
64
  };
65
65
 
66
66
  const onFetch = () => {
67
+ // TODO: Ihis `@ts-ignore` is bring back to fix the build and it needs to be removed later
67
68
  // @ts-ignore
68
69
  const query = createQuery(fetcher, id, true);
69
70
 
@@ -22,7 +22,7 @@ jest
22
22
 
23
23
  export const client = createClient('key', 'sg');
24
24
  client.userId = 'test';
25
- client.accessTokenExpiryWatcher = (_, __, ___) => () => {
25
+ client.accessTokenExpiryWatcher = _ => () => {
26
26
  //
27
27
  };
28
28
 
@@ -113,8 +113,8 @@ export const channelModel1: Amity.InternalChannel = {
113
113
  isUnreadCountSupport: true,
114
114
  unreadCount: 0,
115
115
  hasMentioned: false,
116
- messagePreviewId: undefined,
117
116
  isMentioned: false,
117
+ messagePreviewId: undefined,
118
118
  subChannelsUnreadCount: 0,
119
119
  };
120
120
 
@@ -124,8 +124,8 @@ export const channelModel2: Amity.InternalChannel = {
124
124
  isUnreadCountSupport: true,
125
125
  unreadCount: 0,
126
126
  hasMentioned: false,
127
- messagePreviewId: undefined,
128
127
  isMentioned: false,
128
+ messagePreviewId: undefined,
129
129
  subChannelsUnreadCount: 0,
130
130
  };
131
131
 
@@ -135,9 +135,9 @@ export const channel1: Amity.Channel = {
135
135
  isUnreadCountSupport: true,
136
136
  unreadCount: 0,
137
137
  hasMentioned: false,
138
+ isMentioned: false,
138
139
  messagePreviewId: undefined,
139
140
  messagePreview: null,
140
- isMentioned: false,
141
141
  subChannelsUnreadCount: 0,
142
142
  };
143
143
 
@@ -147,9 +147,9 @@ export const channel2: Amity.Channel = {
147
147
  isUnreadCountSupport: true,
148
148
  unreadCount: 0,
149
149
  hasMentioned: false,
150
+ isMentioned: false,
150
151
  messagePreviewId: undefined,
151
152
  messagePreview: null,
152
- isMentioned: false,
153
153
  subChannelsUnreadCount: 0,
154
154
  };
155
155
 
@@ -40,8 +40,9 @@ export const convertRawMessage = ({
40
40
  segment,
41
41
  messageId,
42
42
  myReactions,
43
+ creatorId,
43
44
  ...rest
44
- }: Amity.RawMessage): Amity.Message => ({
45
+ }: Amity.RawMessage): Amity.InternalMessage => ({
45
46
  ...rest,
46
47
  messageId,
47
48
  channelId: channelPublicId,
@@ -58,8 +59,16 @@ export const convertRawMessage = ({
58
59
  subChannelId: messageFeedId,
59
60
  uniqueId: messageId,
60
61
  myReactions: [],
62
+ creatorPrivateId: creatorId,
63
+ });
64
+
65
+ export const withLinkedObject = (message: Amity.InternalMessage): Amity.Message => ({
66
+ ...message,
61
67
  readCount: 0,
62
68
  deliveredCount: 0,
69
+ markRead: () => {
70
+ console.log('markRead');
71
+ },
63
72
  });
64
73
 
65
74
  export const convertRawMessagePayload = (
@@ -69,7 +78,7 @@ export const convertRawMessagePayload = (
69
78
  messages: rawPayload.messages.map(convertRawMessage),
70
79
  });
71
80
 
72
- export const message11: Amity.Message = convertRawMessage(
81
+ export const message11: Amity.InternalMessage = convertRawMessage(
73
82
  generateRawMessage({
74
83
  channelPublicId: channel1.channelId,
75
84
  creatorPublicId: user11.userId,