@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.
- package/dist/@types/domains/channel.d.ts +2 -2
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/channelRepository/internalApi/getTotalChannelsUnread.d.ts +11 -0
- package/dist/channelRepository/internalApi/getTotalChannelsUnread.d.ts.map +1 -0
- package/dist/channelRepository/observers/getTotalChannelsUnread.d.ts +20 -0
- package/dist/channelRepository/observers/getTotalChannelsUnread.d.ts.map +1 -0
- package/dist/channelRepository/observers/index.d.ts +1 -0
- package/dist/channelRepository/observers/index.d.ts.map +1 -1
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
- package/dist/client/utils/ReadReceiptSync/readReceiptSyncEngine.d.ts.map +1 -1
- package/dist/index.cjs.js +138 -9
- package/dist/index.esm.js +138 -9
- package/dist/index.umd.js +4 -4
- package/dist/messageRepository/events/onMessageCreated.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessage.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/channel.ts +2 -2
- package/src/channelRepository/internalApi/getTotalChannelsUnread.ts +38 -0
- package/src/channelRepository/observers/getTotalChannelsUnread.ts +129 -0
- package/src/channelRepository/observers/index.ts +1 -0
- package/src/channelRepository/utils/prepareChannelPayload.ts +16 -7
- package/src/client/utils/ReadReceiptSync/readReceiptSyncEngine.ts +5 -1
- package/src/messageRepository/events/onMessageCreated.ts +15 -5
- package/src/messageRepository/observers/getMessage.ts +0 -1
|
@@ -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 +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;
|
|
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;
|
|
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
|
|
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
|
|
7065
|
-
|
|
7066
|
-
|
|
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
|
|
7074
|
-
isMentioned
|
|
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 ||
|
|
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
|
-
|
|
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
|
|
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
|
|
23157
|
-
|
|
23158
|
-
|
|
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
|
|
23166
|
-
isMentioned
|
|
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 ||
|
|
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
|
-
|
|
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,
|