@amityco/ts-sdk 7.1.1-207e990f.0 → 7.1.1-53d7c83.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.
@@ -90,9 +90,9 @@ declare global {
90
90
  channelId: Amity.Channel['channelId'];
91
91
  unreadCount: number;
92
92
  isMentioned: boolean;
93
- readToSegment: number;
93
+ readToSegment: number | null;
94
94
  lastSegment: number;
95
- lastMentionSegment: number;
95
+ lastMentionSegment: number | null;
96
96
  isDeleted: boolean;
97
97
  };
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ *
3
+ * Calculate user unread from {@link Amity.ChannelUnread} objects
4
+ *
5
+ * @returns the {@link Amity.UserUnread} objects
6
+ *
7
+ * @category Channel API
8
+ * @async
9
+ */
10
+ export declare const getTotalChannelsUnread: () => Amity.Cached<Amity.UserUnread>;
11
+ //# sourceMappingURL=getTotalChannelsUnread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTotalChannelsUnread.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/internalApi/getTotalChannelsUnread.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,eAAO,MAAM,sBAAsB,QAAO,MAAM,MAAM,CAAC,MAAM,UAAU,CAwBtE,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ```js
3
+ * import { ChannelRepository } from '@amityco/ts-sdk';
4
+ *
5
+ * let totalChannelsUnread;
6
+ *
7
+ * const unsubscribe = ChannelRepository.getTotalChannelsUnread(response => {
8
+ * unread = response.data;
9
+ * });
10
+ * ```
11
+ *
12
+ * Observe all mutation on a given {@link Amity.UserUnread}
13
+ *
14
+ * @returns An {@link Amity.UserUnread} function to run when willing to stop observing the message
15
+ *
16
+ * @category User Unread Live Object
17
+ *
18
+ */
19
+ export declare const getTotalChannelsUnread: (callback: Amity.LiveObjectCallback<Amity.UserUnread | undefined>) => Amity.Unsubscriber;
20
+ //# sourceMappingURL=getTotalChannelsUnread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTotalChannelsUnread.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/observers/getTotalChannelsUnread.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,sBAAsB,aACvB,MAAM,kBAAkB,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,KAC/D,MAAM,YA2FR,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './getChannel';
2
2
  export * from './getChannels';
3
+ export * from './getTotalChannelsUnread';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareChannelPayload.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/utils/prepareChannelPayload.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B,UAA6C,CAAC;AACvF,eAAO,MAAM,oBAAoB,aAAc,KAAK,MAAM,UAAU,EAAE,MAAM,CAAC,YAChC,CAAC;AAE9C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,KAAK,CAAC,UAAU,EACzB,OAAO,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAsC,GACjF,KAAK,CAAC,qBAAqB,CAmB7B;AAED,eAAO,MAAM,qBAAqB,eACpB,MAAM,cAAc,YACvB;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,SAO/C,CAAC;AAiCF,eAAO,MAAM,qBAAqB,eACpB,MAAM,cAAc,YACvB;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7C,QAAQ,MAAM,uBAAuB,CA2DvC,CAAC"}
1
+ {"version":3,"file":"prepareChannelPayload.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/utils/prepareChannelPayload.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B,UAA6C,CAAC;AACvF,eAAO,MAAM,oBAAoB,aAAc,KAAK,MAAM,UAAU,EAAE,MAAM,CAAC,YAChC,CAAC;AAE9C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,KAAK,CAAC,UAAU,EACzB,OAAO,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAsC,GACjF,KAAK,CAAC,qBAAqB,CAmB7B;AAED,eAAO,MAAM,qBAAqB,eACpB,MAAM,cAAc,YACvB;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,SAO/C,CAAC;AA0CF,eAAO,MAAM,qBAAqB,eACpB,MAAM,cAAc,YACvB;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7C,QAAQ,MAAM,uBAAuB,CA2DvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readReceiptSyncEngine.d.ts","sourceRoot":"","sources":["../../../../src/client/utils/ReadReceiptSync/readReceiptSyncEngine.ts"],"names":[],"mappings":"AAKA,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,cAAc,CAAO;IAE7B,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,KAAK,CAA2B;IAGxC,OAAO,CAAC,qBAAqB,CAAK;;IASlC,oBAAoB;IAQpB,gBAAgB,IAAI,IAAI;IASxB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;YAaT,WAAW;IAuCzB,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,6BAA6B;IAerC,oBAAoB,IAAI,IAAI;IAI5B,kBAAkB,IAAI,IAAI;IAK1B,cAAc,IAAI,IAAI;IAKtB,gBAAgB,IAAI,IAAI;IAKxB,eAAe,IAAI,IAAI;IAKvB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBlD,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CASnB;;;;AAID,wBAME"}
1
+ {"version":3,"file":"readReceiptSyncEngine.d.ts","sourceRoot":"","sources":["../../../../src/client/utils/ReadReceiptSync/readReceiptSyncEngine.ts"],"names":[],"mappings":"AAKA,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,cAAc,CAAO;IAE7B,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,KAAK,CAA2B;IAGxC,OAAO,CAAC,qBAAqB,CAAK;;IASlC,oBAAoB;IAQpB,gBAAgB,IAAI,IAAI;IASxB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;YAaT,WAAW;IAuCzB,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,6BAA6B;IAerC,oBAAoB,IAAI,IAAI;IAI5B,kBAAkB,IAAI,IAAI;IAK1B,cAAc,IAAI,IAAI;IAKtB,gBAAgB,IAAI,IAAI;IAKxB,eAAe,IAAI,IAAI;IAKvB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqBlD,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CASnB;;;;AAID,wBAME"}
package/dist/index.cjs.js CHANGED
@@ -5728,7 +5728,9 @@ class MessageReadReceiptSyncEngine {
5728
5728
  // Step 1: Optimistic update of channelUnread.readToSegment to message.segment and update unreadCount value
5729
5729
  const cacheKey = ['channelUnread', 'get', channelId];
5730
5730
  const channelUnread = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
5731
- if (channelUnread && segment > channelUnread.readToSegment) {
5731
+ if (typeof (channelUnread === null || channelUnread === void 0 ? void 0 : channelUnread.readToSegment) === 'number' &&
5732
+ channelUnread &&
5733
+ segment > channelUnread.readToSegment) {
5732
5734
  channelUnread.readToSegment = segment;
5733
5735
  channelUnread.unreadCount = Math.max(channelUnread.lastSegment - segment, 0);
5734
5736
  pushToCache(cacheKey, channelUnread);
@@ -7061,17 +7063,24 @@ const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated:
7061
7063
  const updateChannelUnread = ({ currentUserId, channels, channelUsers, }) => {
7062
7064
  for (let i = 0; i < channels.length; i += 1) {
7063
7065
  const cacheKey = ['channelUnread', 'get', channels[i].channelId];
7064
- const { readToSegment, lastMentionedSegment } = channelUsers.find(channelUser => channelUser.channelId === channels[i].channelId && channelUser.userId === currentUserId) || {
7065
- readToSegment: 0,
7066
- lastMentionedSegment: 0,
7067
- };
7066
+ const channelUser = channelUsers.find(channelUser => channelUser.channelId === channels[i].channelId && channelUser.userId === currentUserId);
7067
+ let unreadCount = 0;
7068
+ let readToSegment = null;
7069
+ let lastMentionedSegment = null;
7070
+ let isMentioned = false;
7071
+ if (channelUser) {
7072
+ readToSegment = channelUser.readToSegment;
7073
+ lastMentionedSegment = channelUser.lastMentionedSegment;
7074
+ unreadCount = Math.max(channels[i].messageCount - readToSegment, 0);
7075
+ isMentioned = lastMentionedSegment > readToSegment;
7076
+ }
7068
7077
  pushToCache(cacheKey, {
7069
7078
  channelId: channels[i].channelId,
7070
7079
  lastSegment: channels[i].messageCount,
7071
7080
  readToSegment,
7072
7081
  lastMentionedSegment,
7073
- unreadCount: channels[i].messageCount - readToSegment,
7074
- isMentioned: lastMentionedSegment > readToSegment,
7082
+ unreadCount,
7083
+ isMentioned,
7075
7084
  isDeleted: channels[i].isDeleted,
7076
7085
  });
7077
7086
  }
@@ -8916,7 +8925,10 @@ const onMessageCreatedMqtt = (callback) => {
8916
8925
  'get',
8917
8926
  message.channelId,
8918
8927
  ])) === null || _a === void 0 ? void 0 : _a.data;
8919
- if (!channelUnread || channelUnread.lastSegment >= message.segment)
8928
+ if (!channelUnread ||
8929
+ channelUnread.lastSegment >= message.segment ||
8930
+ typeof channelUnread.readToSegment !== 'number' ||
8931
+ typeof channelUnread.lastMentionSegment !== 'number')
8920
8932
  return;
8921
8933
  const lastSegment = message.segment;
8922
8934
  const isMentionedInMessage = (_b = message.mentionedUsers) === null || _b === void 0 ? void 0 : _b.some(mention => {
@@ -8928,7 +8940,9 @@ const onMessageCreatedMqtt = (callback) => {
8928
8940
  const lastMentionSegment = isMentionedInMessage
8929
8941
  ? message.segment
8930
8942
  : channelUnread.lastMentionSegment;
8931
- pushToCache(['channelUnread', 'get', message.channelId], Object.assign(Object.assign({}, channelUnread), { lastSegment, unreadCount: lastSegment - channelUnread.readToSegment, lastMentionSegment, isMentioned: !(channelUnread.readToSegment >= lastMentionSegment) }));
8943
+ const updatedChannelUnread = Object.assign(Object.assign({}, channelUnread), { lastSegment, unreadCount: Math.max(lastSegment - channelUnread.readToSegment, 0), lastMentionSegment, isMentioned: !(channelUnread.readToSegment >= lastMentionSegment) });
8944
+ pushToCache(['channelUnread', 'get', message.channelId], updatedChannelUnread);
8945
+ fireEvent('local.channelUnread.updated', updatedChannelUnread);
8932
8946
  });
8933
8947
  }
8934
8948
  // Update in cache
@@ -17588,6 +17602,120 @@ const getChannels = (params, callback, config) => {
17588
17602
  };
17589
17603
  /* end_public_function */
17590
17604
 
17605
+ /**
17606
+ *
17607
+ * Calculate user unread from {@link Amity.ChannelUnread} objects
17608
+ *
17609
+ * @returns the {@link Amity.UserUnread} objects
17610
+ *
17611
+ * @category Channel API
17612
+ * @async
17613
+ */
17614
+ const getTotalChannelsUnread$1 = () => {
17615
+ var _a;
17616
+ const client = getActiveClient();
17617
+ client.log('channel/getTotalChannelsUnread.locally');
17618
+ const cachedChannelsUnread = ((_a = queryCache(['channelUnread', 'get'])) === null || _a === void 0 ? void 0 : _a.filter(({ data }) => {
17619
+ return !data.isDeleted;
17620
+ })) || [];
17621
+ const totalChannelsUnread = (cachedChannelsUnread === null || cachedChannelsUnread === void 0 ? void 0 : cachedChannelsUnread.reduce((acc, { data }) => {
17622
+ acc.unreadCount += data.unreadCount;
17623
+ acc.isMentioned = acc.isMentioned || data.isMentioned;
17624
+ return acc;
17625
+ }, { unreadCount: 0, isMentioned: false })) || { unreadCount: 0, isMentioned: false };
17626
+ const cachedAt = client.cache && Date.now();
17627
+ return {
17628
+ data: totalChannelsUnread,
17629
+ cachedAt,
17630
+ };
17631
+ };
17632
+
17633
+ /* begin_public_function
17634
+ id: totalChannelsUnread.get
17635
+ */
17636
+ /**
17637
+ * ```js
17638
+ * import { ChannelRepository } from '@amityco/ts-sdk';
17639
+ *
17640
+ * let totalChannelsUnread;
17641
+ *
17642
+ * const unsubscribe = ChannelRepository.getTotalChannelsUnread(response => {
17643
+ * unread = response.data;
17644
+ * });
17645
+ * ```
17646
+ *
17647
+ * Observe all mutation on a given {@link Amity.UserUnread}
17648
+ *
17649
+ * @returns An {@link Amity.UserUnread} function to run when willing to stop observing the message
17650
+ *
17651
+ * @category User Unread Live Object
17652
+ *
17653
+ */
17654
+ const getTotalChannelsUnread = (callback) => {
17655
+ const { _id: userId } = getActiveUser();
17656
+ if (!userId)
17657
+ throw new ASCError('The _id has not been defined in ActiveUser', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
17658
+ const { log, cache } = getActiveClient();
17659
+ if (!cache) {
17660
+ console.log('For using Live Object feature you need to enable Cache!');
17661
+ }
17662
+ const timestamp = Date.now();
17663
+ log(`liveTotalChannelsUnread(tmpid: ${timestamp}) > listen`);
17664
+ const disposers = [];
17665
+ let isUnsyncedModel = false; // for messages
17666
+ let model;
17667
+ const dispatcher = (data) => {
17668
+ const { data: userUnread } = data;
17669
+ const callbackModel = userUnread
17670
+ ? {
17671
+ unreadCount: userUnread.unreadCount,
17672
+ isMentioned: userUnread.isMentioned,
17673
+ }
17674
+ : undefined;
17675
+ model = callbackModel ? convertGetterPropsToStatic(callbackModel) : callbackModel;
17676
+ callback({
17677
+ data: callbackModel
17678
+ ? Object.assign(Object.assign({}, callbackModel), { isMentioned: callbackModel.isMentioned }) : callbackModel,
17679
+ loading: data.loading,
17680
+ error: data.error,
17681
+ });
17682
+ };
17683
+ const realtimeRouter = (userUnread) => {
17684
+ if (isEqual(model, userUnread))
17685
+ return;
17686
+ dispatcher({
17687
+ loading: false,
17688
+ data: userUnread,
17689
+ });
17690
+ };
17691
+ const onFetch = () => {
17692
+ const query = createQuery(async () => getTotalChannelsUnread$1());
17693
+ runQuery(query, ({ error, data, loading, origin, cachedAt }) => {
17694
+ if (cachedAt === UNSYNCED_OBJECT_CACHED_AT_VALUE) {
17695
+ dispatcher({
17696
+ data,
17697
+ origin,
17698
+ loading: false,
17699
+ error: new ASCApiError(UNSYNCED_OBJECT_CACHED_AT_MESSAGE, 800800 /* Amity.ClientError.DISALOOW_UNSYNCED_OBJECT */, "error" /* Amity.ErrorLevel.ERROR */),
17700
+ });
17701
+ isUnsyncedModel = true;
17702
+ disposers.forEach(fn => fn());
17703
+ }
17704
+ else if (!isUnsyncedModel) {
17705
+ dispatcher({ loading, data, origin, error });
17706
+ }
17707
+ if (error) {
17708
+ disposers.forEach(fn => fn());
17709
+ }
17710
+ });
17711
+ };
17712
+ disposers.push(onChannelUnreadUpdatedLocal(realtimeRouter));
17713
+ onFetch();
17714
+ return () => {
17715
+ disposers.forEach(fn => fn());
17716
+ };
17717
+ };
17718
+
17591
17719
  /* begin_public_function
17592
17720
  id: channel.member.add
17593
17721
  */
@@ -18191,6 +18319,7 @@ var index$c = /*#__PURE__*/Object.freeze({
18191
18319
  onChannelMemberRoleRemoved: onChannelMemberRoleRemoved,
18192
18320
  getChannel: getChannel,
18193
18321
  getChannels: getChannels,
18322
+ getTotalChannelsUnread: getTotalChannelsUnread,
18194
18323
  MARKER_INCLUDED_CHANNEL_TYPE: MARKER_INCLUDED_CHANNEL_TYPE,
18195
18324
  isUnreadCountSupport: isUnreadCountSupport,
18196
18325
  convertFromRaw: convertFromRaw,
package/dist/index.esm.js CHANGED
@@ -21820,7 +21820,9 @@ class MessageReadReceiptSyncEngine {
21820
21820
  // Step 1: Optimistic update of channelUnread.readToSegment to message.segment and update unreadCount value
21821
21821
  const cacheKey = ['channelUnread', 'get', channelId];
21822
21822
  const channelUnread = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
21823
- if (channelUnread && segment > channelUnread.readToSegment) {
21823
+ if (typeof (channelUnread === null || channelUnread === void 0 ? void 0 : channelUnread.readToSegment) === 'number' &&
21824
+ channelUnread &&
21825
+ segment > channelUnread.readToSegment) {
21824
21826
  channelUnread.readToSegment = segment;
21825
21827
  channelUnread.unreadCount = Math.max(channelUnread.lastSegment - segment, 0);
21826
21828
  pushToCache(cacheKey, channelUnread);
@@ -23153,17 +23155,24 @@ const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated:
23153
23155
  const updateChannelUnread = ({ currentUserId, channels, channelUsers, }) => {
23154
23156
  for (let i = 0; i < channels.length; i += 1) {
23155
23157
  const cacheKey = ['channelUnread', 'get', channels[i].channelId];
23156
- const { readToSegment, lastMentionedSegment } = channelUsers.find(channelUser => channelUser.channelId === channels[i].channelId && channelUser.userId === currentUserId) || {
23157
- readToSegment: 0,
23158
- lastMentionedSegment: 0,
23159
- };
23158
+ const channelUser = channelUsers.find(channelUser => channelUser.channelId === channels[i].channelId && channelUser.userId === currentUserId);
23159
+ let unreadCount = 0;
23160
+ let readToSegment = null;
23161
+ let lastMentionedSegment = null;
23162
+ let isMentioned = false;
23163
+ if (channelUser) {
23164
+ readToSegment = channelUser.readToSegment;
23165
+ lastMentionedSegment = channelUser.lastMentionedSegment;
23166
+ unreadCount = Math.max(channels[i].messageCount - readToSegment, 0);
23167
+ isMentioned = lastMentionedSegment > readToSegment;
23168
+ }
23160
23169
  pushToCache(cacheKey, {
23161
23170
  channelId: channels[i].channelId,
23162
23171
  lastSegment: channels[i].messageCount,
23163
23172
  readToSegment,
23164
23173
  lastMentionedSegment,
23165
- unreadCount: channels[i].messageCount - readToSegment,
23166
- isMentioned: lastMentionedSegment > readToSegment,
23174
+ unreadCount,
23175
+ isMentioned,
23167
23176
  isDeleted: channels[i].isDeleted,
23168
23177
  });
23169
23178
  }
@@ -25008,7 +25017,10 @@ const onMessageCreatedMqtt = (callback) => {
25008
25017
  'get',
25009
25018
  message.channelId,
25010
25019
  ])) === null || _a === void 0 ? void 0 : _a.data;
25011
- if (!channelUnread || channelUnread.lastSegment >= message.segment)
25020
+ if (!channelUnread ||
25021
+ channelUnread.lastSegment >= message.segment ||
25022
+ typeof channelUnread.readToSegment !== 'number' ||
25023
+ typeof channelUnread.lastMentionSegment !== 'number')
25012
25024
  return;
25013
25025
  const lastSegment = message.segment;
25014
25026
  const isMentionedInMessage = (_b = message.mentionedUsers) === null || _b === void 0 ? void 0 : _b.some(mention => {
@@ -25020,7 +25032,9 @@ const onMessageCreatedMqtt = (callback) => {
25020
25032
  const lastMentionSegment = isMentionedInMessage
25021
25033
  ? message.segment
25022
25034
  : channelUnread.lastMentionSegment;
25023
- pushToCache(['channelUnread', 'get', message.channelId], Object.assign(Object.assign({}, channelUnread), { lastSegment, unreadCount: lastSegment - channelUnread.readToSegment, lastMentionSegment, isMentioned: !(channelUnread.readToSegment >= lastMentionSegment) }));
25035
+ const updatedChannelUnread = Object.assign(Object.assign({}, channelUnread), { lastSegment, unreadCount: Math.max(lastSegment - channelUnread.readToSegment, 0), lastMentionSegment, isMentioned: !(channelUnread.readToSegment >= lastMentionSegment) });
25036
+ pushToCache(['channelUnread', 'get', message.channelId], updatedChannelUnread);
25037
+ fireEvent('local.channelUnread.updated', updatedChannelUnread);
25024
25038
  });
25025
25039
  }
25026
25040
  // Update in cache
@@ -33680,6 +33694,120 @@ const getChannels = (params, callback, config) => {
33680
33694
  };
33681
33695
  /* end_public_function */
33682
33696
 
33697
+ /**
33698
+ *
33699
+ * Calculate user unread from {@link Amity.ChannelUnread} objects
33700
+ *
33701
+ * @returns the {@link Amity.UserUnread} objects
33702
+ *
33703
+ * @category Channel API
33704
+ * @async
33705
+ */
33706
+ const getTotalChannelsUnread$1 = () => {
33707
+ var _a;
33708
+ const client = getActiveClient();
33709
+ client.log('channel/getTotalChannelsUnread.locally');
33710
+ const cachedChannelsUnread = ((_a = queryCache(['channelUnread', 'get'])) === null || _a === void 0 ? void 0 : _a.filter(({ data }) => {
33711
+ return !data.isDeleted;
33712
+ })) || [];
33713
+ const totalChannelsUnread = (cachedChannelsUnread === null || cachedChannelsUnread === void 0 ? void 0 : cachedChannelsUnread.reduce((acc, { data }) => {
33714
+ acc.unreadCount += data.unreadCount;
33715
+ acc.isMentioned = acc.isMentioned || data.isMentioned;
33716
+ return acc;
33717
+ }, { unreadCount: 0, isMentioned: false })) || { unreadCount: 0, isMentioned: false };
33718
+ const cachedAt = client.cache && Date.now();
33719
+ return {
33720
+ data: totalChannelsUnread,
33721
+ cachedAt,
33722
+ };
33723
+ };
33724
+
33725
+ /* begin_public_function
33726
+ id: totalChannelsUnread.get
33727
+ */
33728
+ /**
33729
+ * ```js
33730
+ * import { ChannelRepository } from '@amityco/ts-sdk';
33731
+ *
33732
+ * let totalChannelsUnread;
33733
+ *
33734
+ * const unsubscribe = ChannelRepository.getTotalChannelsUnread(response => {
33735
+ * unread = response.data;
33736
+ * });
33737
+ * ```
33738
+ *
33739
+ * Observe all mutation on a given {@link Amity.UserUnread}
33740
+ *
33741
+ * @returns An {@link Amity.UserUnread} function to run when willing to stop observing the message
33742
+ *
33743
+ * @category User Unread Live Object
33744
+ *
33745
+ */
33746
+ const getTotalChannelsUnread = (callback) => {
33747
+ const { _id: userId } = getActiveUser();
33748
+ if (!userId)
33749
+ throw new ASCError('The _id has not been defined in ActiveUser', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
33750
+ const { log, cache } = getActiveClient();
33751
+ if (!cache) {
33752
+ console.log('For using Live Object feature you need to enable Cache!');
33753
+ }
33754
+ const timestamp = Date.now();
33755
+ log(`liveTotalChannelsUnread(tmpid: ${timestamp}) > listen`);
33756
+ const disposers = [];
33757
+ let isUnsyncedModel = false; // for messages
33758
+ let model;
33759
+ const dispatcher = (data) => {
33760
+ const { data: userUnread } = data;
33761
+ const callbackModel = userUnread
33762
+ ? {
33763
+ unreadCount: userUnread.unreadCount,
33764
+ isMentioned: userUnread.isMentioned,
33765
+ }
33766
+ : undefined;
33767
+ model = callbackModel ? convertGetterPropsToStatic(callbackModel) : callbackModel;
33768
+ callback({
33769
+ data: callbackModel
33770
+ ? Object.assign(Object.assign({}, callbackModel), { isMentioned: callbackModel.isMentioned }) : callbackModel,
33771
+ loading: data.loading,
33772
+ error: data.error,
33773
+ });
33774
+ };
33775
+ const realtimeRouter = (userUnread) => {
33776
+ if (isEqual(model, userUnread))
33777
+ return;
33778
+ dispatcher({
33779
+ loading: false,
33780
+ data: userUnread,
33781
+ });
33782
+ };
33783
+ const onFetch = () => {
33784
+ const query = createQuery(async () => getTotalChannelsUnread$1());
33785
+ runQuery(query, ({ error, data, loading, origin, cachedAt }) => {
33786
+ if (cachedAt === UNSYNCED_OBJECT_CACHED_AT_VALUE) {
33787
+ dispatcher({
33788
+ data,
33789
+ origin,
33790
+ loading: false,
33791
+ error: new ASCApiError(UNSYNCED_OBJECT_CACHED_AT_MESSAGE, 800800 /* Amity.ClientError.DISALOOW_UNSYNCED_OBJECT */, "error" /* Amity.ErrorLevel.ERROR */),
33792
+ });
33793
+ isUnsyncedModel = true;
33794
+ disposers.forEach(fn => fn());
33795
+ }
33796
+ else if (!isUnsyncedModel) {
33797
+ dispatcher({ loading, data, origin, error });
33798
+ }
33799
+ if (error) {
33800
+ disposers.forEach(fn => fn());
33801
+ }
33802
+ });
33803
+ };
33804
+ disposers.push(onChannelUnreadUpdatedLocal(realtimeRouter));
33805
+ onFetch();
33806
+ return () => {
33807
+ disposers.forEach(fn => fn());
33808
+ };
33809
+ };
33810
+
33683
33811
  /* begin_public_function
33684
33812
  id: channel.member.add
33685
33813
  */
@@ -34283,6 +34411,7 @@ var index$c = /*#__PURE__*/Object.freeze({
34283
34411
  onChannelMemberRoleRemoved: onChannelMemberRoleRemoved,
34284
34412
  getChannel: getChannel,
34285
34413
  getChannels: getChannels,
34414
+ getTotalChannelsUnread: getTotalChannelsUnread,
34286
34415
  MARKER_INCLUDED_CHANNEL_TYPE: MARKER_INCLUDED_CHANNEL_TYPE,
34287
34416
  isUnreadCountSupport: isUnreadCountSupport,
34288
34417
  convertFromRaw: convertFromRaw,