@amityco/ts-sdk 6.30.5-b3b15ee.0 → 6.31.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/.env +26 -26
- package/dist/@types/domains/client.d.ts +1 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/core/model/index.d.ts +1 -0
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/core/model/localReferenceId.d.ts +2 -0
- package/dist/core/model/localReferenceId.d.ts.map +1 -0
- package/dist/index.cjs.js +123 -28
- package/dist/index.esm.js +123 -28
- package/dist/index.umd.js +4 -4
- package/dist/messageRepository/api/createMessage.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
- package/dist/messageRepository/utils/getMessageFromMainDB.d.ts.map +1 -1
- package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts +2 -0
- package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts.map +1 -0
- package/dist/messageRepository/utils/index.d.ts +1 -0
- package/dist/messageRepository/utils/index.d.ts.map +1 -1
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
- package/dist/utils/event.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/client.ts +2 -0
- package/src/client/api/createClient.ts +26 -0
- package/src/core/model/index.ts +1 -0
- package/src/core/model/localReferenceId.ts +12 -0
- package/src/messageRepository/api/createMessage.ts +9 -0
- package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +1 -0
- package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +4 -4
- package/src/messageRepository/utils/getMessageFromMainDB.ts +9 -6
- package/src/messageRepository/utils/getMessageIdentifierIds.ts +37 -0
- package/src/messageRepository/utils/index.ts +1 -0
- package/src/messageRepository/utils/prepareMessagePayload.ts +22 -18
- package/src/utils/event.ts +20 -3
package/.env
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
LIVE_STREAM_KEY='-----BEGIN PRIVATE KEY-----
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/
|
|
20
|
-
+
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2
|
|
3
|
+
hFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM
|
|
4
|
+
js6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR
|
|
5
|
+
iGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j
|
|
6
|
+
Lseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l
|
|
7
|
+
W3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH
|
|
8
|
+
bZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945
|
|
9
|
+
biz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI
|
|
10
|
+
M4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv
|
|
11
|
+
AMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm
|
|
12
|
+
8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a
|
|
13
|
+
em096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5
|
|
14
|
+
geTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al
|
|
15
|
+
3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5
|
|
16
|
+
JBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1
|
|
17
|
+
FQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74
|
|
18
|
+
OY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU
|
|
19
|
+
fylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709
|
|
20
|
+
w1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt
|
|
21
|
+
U16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge
|
|
22
|
+
mwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ
|
|
23
|
+
oU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi
|
|
24
|
+
3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql
|
|
25
|
+
LVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ
|
|
26
|
+
ZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6
|
|
27
|
+
RXFrv+T21KCcw8k3sJeJWWQ=
|
|
28
28
|
-----END PRIVATE KEY-----'
|
|
@@ -39,6 +39,7 @@ declare global {
|
|
|
39
39
|
getSocialSettings: () => Promise<Amity.SocialSettings>;
|
|
40
40
|
getMessagePreviewSetting: (refresh?: boolean) => Promise<Amity.MessagePreviewSetting>;
|
|
41
41
|
getMarkerSyncConsistentMode: () => boolean;
|
|
42
|
+
objectSyncMap: Map<string, string | undefined>;
|
|
42
43
|
};
|
|
43
44
|
type Device = {
|
|
44
45
|
deviceId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QAEtD,WAAW,sBAAsB;YAC/B,UAAU,cAAc;YACxB,YAAY,gBAAgB;YAC5B,YAAY,iBAAiB;SAC9B;QAED,WAAW,aAAa;YACtB,aAAa,gBAAgB;YAE7B,YAAY,iBAAiB;YAC7B,WAAW,gBAAgB;YAE3B,aAAa,iBAAiB;YAW9B,UAAU,eAAe;SAC1B;QAED,KAAK,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC;YAEhB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;YACvB,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC;YAC/D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAErD,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;YAClC,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;YAEtC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAEhB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YAErB,oBAAoB,EAAE,OAAO,CAAC;YAE9B,GAAG,EAAE,MAAM,IAAI,CAAC;YAEhB,wBAAwB,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,YAAY,CAAC;YAEvF,eAAe,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnD,iBAAiB,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,wBAAwB,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAEtF,2BAA2B,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAsBnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;MAQtD,MAAM,
|
|
1
|
+
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAsBnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;MAQtD,MAAM,MAsGR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CA+CtD,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,UAAU,2DAA0D,OAMhF,CAAC;AAEF,aAAa;AACb,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,GAAG,SAAoC,GAAG,MAAM,CAEzF;AAED,aAAa;AACb,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAM,GAAG,SAAoC,GAAG,MAAM,CAEvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localReferenceId.d.ts","sourceRoot":"","sources":["../../../src/core/model/localReferenceId.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,OAAQ,MAAM,YAEnC,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -102,8 +102,8 @@ const PostContentType = Object.freeze({
|
|
|
102
102
|
|
|
103
103
|
function getVersion() {
|
|
104
104
|
try {
|
|
105
|
-
// the string ''v6.
|
|
106
|
-
return 'v6.
|
|
105
|
+
// the string ''v6.31.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
106
|
+
return 'v6.31.0-cjs';
|
|
107
107
|
}
|
|
108
108
|
catch (error) {
|
|
109
109
|
return '__dev__';
|
|
@@ -551,6 +551,18 @@ const idResolvers = {
|
|
|
551
551
|
*/
|
|
552
552
|
const getResolver = (name) => idResolvers[name];
|
|
553
553
|
|
|
554
|
+
/*
|
|
555
|
+
* To check if an id is a local referenceId, the id must start with 'LOCAL_'.
|
|
556
|
+
*
|
|
557
|
+
* Example: LOCAL_155f5158-281a-4a9d-a445-9243138d2041
|
|
558
|
+
*
|
|
559
|
+
* @param id as string
|
|
560
|
+
* @returns true if the id is a local referenceId, false otherwise
|
|
561
|
+
*/
|
|
562
|
+
const isLocalId = (id) => {
|
|
563
|
+
return id.startsWith('LOCAL_');
|
|
564
|
+
};
|
|
565
|
+
|
|
554
566
|
/**
|
|
555
567
|
* A map of v3 response keys to a store name.
|
|
556
568
|
* @hidden
|
|
@@ -6788,21 +6800,26 @@ function convertFromRaw$1(_a) {
|
|
|
6788
6800
|
} }, rest), { channelId: channelPublicId, creatorId: creatorPublicId, displayName: name, lastActivity: lastMessageTimestamp, latestMessageId: lastMessageId, messageCount: childCount, subChannelId: messageFeedId, isUnreadCountSupport: isUnreadCountSupport$1({ channelType }) });
|
|
6789
6801
|
}
|
|
6790
6802
|
|
|
6791
|
-
const
|
|
6792
|
-
|
|
6793
|
-
const
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
|
|
6800
|
-
|
|
6803
|
+
const addLocalReferenceId = (payload) => {
|
|
6804
|
+
const client = getActiveClient();
|
|
6805
|
+
const { objectSyncMap } = client;
|
|
6806
|
+
return Object.assign(Object.assign({}, payload), {
|
|
6807
|
+
/* NOTE: This logic is used to get local referenceId for each message.
|
|
6808
|
+
*
|
|
6809
|
+
* if messageId is a local reference id, use it as referenceId else get referenceId from objectSyncMap.
|
|
6810
|
+
* if find referenceId in objectSyncMap, this means this message is a local created message. The referenceId will be local reference id.
|
|
6811
|
+
* if cannot find referenceId in objectSyncMap, referenceId will be undefined.
|
|
6812
|
+
*
|
|
6813
|
+
* The referenceId is undefined means this message is not a local created message (optimistic creation message).
|
|
6814
|
+
*/
|
|
6815
|
+
referenceId: isLocalId(payload.messageId)
|
|
6816
|
+
? payload.messageId
|
|
6817
|
+
: objectSyncMap.get(payload.messageId) });
|
|
6801
6818
|
};
|
|
6802
6819
|
function convertFromRaw(message, reactors, event) {
|
|
6803
6820
|
var _a;
|
|
6804
|
-
const
|
|
6805
|
-
const { channelPublicId, childCount, creatorPublicId, mentionedUsers, messageFeedId, myReactions, reactionCount, reactions, referenceId, segment, messageId, creatorId } =
|
|
6821
|
+
const messageWithReferenceId = addLocalReferenceId(message);
|
|
6822
|
+
const { channelPublicId, childCount, creatorPublicId, mentionedUsers, messageFeedId, myReactions, reactionCount, reactions, referenceId, segment, messageId, creatorId } = messageWithReferenceId, rest = __rest(messageWithReferenceId, ["channelPublicId", "childCount", "creatorPublicId", "mentionedUsers", "messageFeedId", "myReactions", "reactionCount", "reactions", "referenceId", "segment", "messageId", "creatorId"]);
|
|
6806
6823
|
let cache;
|
|
6807
6824
|
if (referenceId) {
|
|
6808
6825
|
cache = pullFromCache(['message', 'get', referenceId]);
|
|
@@ -8589,6 +8606,42 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
8589
8606
|
pushToCache(cacheKeyUnreadCount, updatedCachedUnreadCount);
|
|
8590
8607
|
};
|
|
8591
8608
|
|
|
8609
|
+
/*
|
|
8610
|
+
* To get message identifier ids used as a cache key for the each message.
|
|
8611
|
+
* These ids are used to store in the query stream and use to get messages from cache.
|
|
8612
|
+
*
|
|
8613
|
+
* The query stream data keeps the message identifier ids as follows:
|
|
8614
|
+
* ['server_message_id_1', 'server_message_id_2', 'LOCAL_message_id_1', 'LOCAL_message_id_2']
|
|
8615
|
+
*
|
|
8616
|
+
* Example use case: Message created locally and then created on the server.
|
|
8617
|
+
*
|
|
8618
|
+
* 1. Message created locally has `LOCAL_message_id_2` as referenceId.
|
|
8619
|
+
* 2. The `message.created` event will be fired from server with message payload that has no the referenceId.
|
|
8620
|
+
* 3. SDK use this function to find indentifer id for each message in the payload. If the message is created locally, the identifier id will be the local reference id.
|
|
8621
|
+
* 4. The SDK use this identifier ids to check if the message is already in the query stream before appending it.
|
|
8622
|
+
*
|
|
8623
|
+
* @param The raw message payload from server response
|
|
8624
|
+
* @returns The identifier ids of the messages
|
|
8625
|
+
*/
|
|
8626
|
+
function getMessageIdentifierIds(messages) {
|
|
8627
|
+
const client = getActiveClient();
|
|
8628
|
+
const { objectSyncMap } = client;
|
|
8629
|
+
return messages
|
|
8630
|
+
.map(message => {
|
|
8631
|
+
var _a;
|
|
8632
|
+
/* NOTE: This logic is used to get identifier id for each message.
|
|
8633
|
+
*
|
|
8634
|
+
* if messageId is a local id, use it as identifier id else get identifier id from objectSyncMap.
|
|
8635
|
+
* if find referenceId in objectSyncMap, this means this message is a local created message. The identifier id will be local message id.
|
|
8636
|
+
* if cannot find identifier id in objectSyncMap, this means this message is not a local created message. The identifier id will be server message id.
|
|
8637
|
+
*/
|
|
8638
|
+
if (isLocalId(message.messageId))
|
|
8639
|
+
return message.messageId;
|
|
8640
|
+
return (_a = objectSyncMap.get(message.messageId)) !== null && _a !== void 0 ? _a : message.messageId;
|
|
8641
|
+
})
|
|
8642
|
+
.filter(Boolean);
|
|
8643
|
+
}
|
|
8644
|
+
|
|
8592
8645
|
/**
|
|
8593
8646
|
* ```js
|
|
8594
8647
|
* import { onMessageCreated } from '@amityco/ts-sdk'
|
|
@@ -9289,6 +9342,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9289
9342
|
const sessionState = "notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */;
|
|
9290
9343
|
const sessionHandler = undefined;
|
|
9291
9344
|
const isUnreadCountEnabled = false;
|
|
9345
|
+
const objectSyncMap = new Map();
|
|
9292
9346
|
const client = {
|
|
9293
9347
|
version: `${VERSION}`,
|
|
9294
9348
|
apiKey,
|
|
@@ -9319,6 +9373,29 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9319
9373
|
use: () => setActiveClient(client),
|
|
9320
9374
|
isUnreadCountEnabled,
|
|
9321
9375
|
getMarkerSyncConsistentMode,
|
|
9376
|
+
/*
|
|
9377
|
+
* The objectSyncMap is used to keep the map between local referenceId and server id in two ways mapping.
|
|
9378
|
+
*
|
|
9379
|
+
* For objects created locally (optimistic creation), the SDK stores them with their local ID as the cache key, which is used throughout the entire SDK session (in-memory) for syncing updates.
|
|
9380
|
+
* If the payload or response only contains the remote ID of the same object, the SDK will look up the corresponding local ID to retrieve the object through ObjectSyncMap.
|
|
9381
|
+
*
|
|
9382
|
+
* This is useful for syncing updates to the object, as the SDK can find the local ID from the server ID and update the object in the cache correctly.
|
|
9383
|
+
*
|
|
9384
|
+
* Example:
|
|
9385
|
+
* In the case of message optimistically creation. The referenceId is created locally.
|
|
9386
|
+
*
|
|
9387
|
+
* 1. When creating a message optimistically, a local referenceId is created. The objectSyncMap will have the following structure.
|
|
9388
|
+
* {
|
|
9389
|
+
* "LOCAL_uuid": undefined,
|
|
9390
|
+
* }
|
|
9391
|
+
*
|
|
9392
|
+
* 2. After the message was created on the server and SDK received the response from server, the objectSyncMap will be updated to
|
|
9393
|
+
* {
|
|
9394
|
+
* "LOCAL_uuid": "server_message_id",
|
|
9395
|
+
* "server_message_id": "LOCAL_uuid"
|
|
9396
|
+
* }
|
|
9397
|
+
*/
|
|
9398
|
+
objectSyncMap,
|
|
9322
9399
|
};
|
|
9323
9400
|
try {
|
|
9324
9401
|
const activeClient = getActiveClient();
|
|
@@ -14898,12 +14975,24 @@ const unmuteChannel = async (channelId) => {
|
|
|
14898
14975
|
/* end_public_function */
|
|
14899
14976
|
|
|
14900
14977
|
const convertEventPayload = (eventHandler, sourceModelProp, destinationDomain) => (callback) => eventHandler(sourceModel => {
|
|
14901
|
-
var _a;
|
|
14978
|
+
var _a, _b;
|
|
14902
14979
|
if (!sourceModel) {
|
|
14903
14980
|
return sourceModel;
|
|
14904
14981
|
}
|
|
14905
|
-
const
|
|
14906
|
-
const
|
|
14982
|
+
const client = getActiveClient();
|
|
14983
|
+
const { objectSyncMap } = client;
|
|
14984
|
+
/*
|
|
14985
|
+
* NOTE: For objects created locally (optimistic creation), the SDK stores them with their local ID as the cache key, which is used throughout the entire SDK session (in-memory) for syncing updates.
|
|
14986
|
+
* If the payload or response only contains the remote ID of the same object, the SDK will look up the corresponding local ID to retrieve the object.
|
|
14987
|
+
*/
|
|
14988
|
+
const resolvedId = isLocalId(sourceModel[sourceModelProp])
|
|
14989
|
+
? sourceModel[sourceModelProp]
|
|
14990
|
+
: (_a = objectSyncMap.get(sourceModel[sourceModelProp])) !== null && _a !== void 0 ? _a : sourceModel[sourceModelProp];
|
|
14991
|
+
const model = (_b = pullFromCache([
|
|
14992
|
+
destinationDomain,
|
|
14993
|
+
'get',
|
|
14994
|
+
`${resolvedId}`,
|
|
14995
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
14907
14996
|
if (!model)
|
|
14908
14997
|
return;
|
|
14909
14998
|
return callback(model);
|
|
@@ -15331,6 +15420,7 @@ let uniqueId;
|
|
|
15331
15420
|
const createMessageOptimistic = (bundle) => {
|
|
15332
15421
|
var _a, _b;
|
|
15333
15422
|
const client = getActiveClient();
|
|
15423
|
+
const { objectSyncMap } = client;
|
|
15334
15424
|
if (!client.cache)
|
|
15335
15425
|
return;
|
|
15336
15426
|
/*
|
|
@@ -15359,6 +15449,7 @@ const createMessageOptimistic = (bundle) => {
|
|
|
15359
15449
|
const message = Object.assign({ creatorId: client.userId, creatorPrivateId: getActiveUser()._id, channelSegment: ((_b = subChannel === null || subChannel === void 0 ? void 0 : subChannel.data.messageCount) !== null && _b !== void 0 ? _b : 0) + 1, childrenNumber: 0, createdAt: createdTime, updatedAt: createdTime, syncState: "syncing" /* Amity.SyncState.Syncing */, isDeleted: false }, bundleWithMessageId);
|
|
15360
15450
|
const cachedAt = UNSYNCED_OBJECT_CACHED_AT_VALUE;
|
|
15361
15451
|
pushToCache(['message', 'get', message.messageId], message, { cachedAt });
|
|
15452
|
+
objectSyncMap.set(message.messageId, undefined);
|
|
15362
15453
|
fireEvent('local.message.created', { messages: [message] });
|
|
15363
15454
|
return message;
|
|
15364
15455
|
};
|
|
@@ -15386,12 +15477,15 @@ const createMessageOptimistic = (bundle) => {
|
|
|
15386
15477
|
*/
|
|
15387
15478
|
const createMessage = async (bundle) => {
|
|
15388
15479
|
const client = getActiveClient();
|
|
15480
|
+
const { objectSyncMap } = client;
|
|
15389
15481
|
client.log('message/createMessage', bundle);
|
|
15390
15482
|
const optimisticData = createMessageOptimistic(bundle);
|
|
15391
15483
|
const referenceId = bundle.referenceId || uniqueId || getLocalId();
|
|
15392
15484
|
uniqueId = undefined;
|
|
15393
15485
|
try {
|
|
15394
15486
|
const { data: payload } = await client.http.post('/api/v5/messages', Object.assign(Object.assign({}, convertParams(bundle)), { referenceId }));
|
|
15487
|
+
objectSyncMap.set(referenceId, payload.messages[0].messageId);
|
|
15488
|
+
objectSyncMap.set(payload.messages[0].messageId, referenceId);
|
|
15395
15489
|
const data = await prepareMessagePayload(payload);
|
|
15396
15490
|
const { messages } = data;
|
|
15397
15491
|
const cachedAt = client.cache && Date.now();
|
|
@@ -16146,7 +16240,7 @@ class MessageQueryStreamController extends QueryStreamController {
|
|
|
16146
16240
|
var _a, _b;
|
|
16147
16241
|
if (refresh) {
|
|
16148
16242
|
pushToCache(this.cacheKey, {
|
|
16149
|
-
data: response.messages
|
|
16243
|
+
data: getMessageIdentifierIds(response.messages),
|
|
16150
16244
|
query: this.query,
|
|
16151
16245
|
});
|
|
16152
16246
|
}
|
|
@@ -16154,8 +16248,8 @@ class MessageQueryStreamController extends QueryStreamController {
|
|
|
16154
16248
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
16155
16249
|
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
16156
16250
|
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: direction === 'next'
|
|
16157
|
-
? [...new Set([...messages, ...response.messages
|
|
16158
|
-
: [...new Set([...response.messages
|
|
16251
|
+
? [...new Set([...messages, ...getMessageIdentifierIds(response.messages)])]
|
|
16252
|
+
: [...new Set([...getMessageIdentifierIds(response.messages), ...messages])] }));
|
|
16159
16253
|
}
|
|
16160
16254
|
}
|
|
16161
16255
|
reactor(action) {
|
|
@@ -16229,12 +16323,12 @@ class MessagePaginationController extends PaginationController {
|
|
|
16229
16323
|
|
|
16230
16324
|
const getMessageFromMainDB = (messageId) => {
|
|
16231
16325
|
var _a, _b;
|
|
16232
|
-
const
|
|
16233
|
-
|
|
16234
|
-
|
|
16235
|
-
|
|
16236
|
-
|
|
16237
|
-
return (_b =
|
|
16326
|
+
const client = getActiveClient();
|
|
16327
|
+
const { objectSyncMap } = client;
|
|
16328
|
+
const resolvedMessageId = isLocalId(messageId)
|
|
16329
|
+
? messageId
|
|
16330
|
+
: (_a = objectSyncMap.get(messageId)) !== null && _a !== void 0 ? _a : messageId;
|
|
16331
|
+
return (_b = pullFromCache(['message', 'get', resolvedMessageId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
16238
16332
|
};
|
|
16239
16333
|
|
|
16240
16334
|
class MessageLiveCollectionController extends LiveCollectionController {
|
|
@@ -16574,7 +16668,8 @@ var index$g = /*#__PURE__*/Object.freeze({
|
|
|
16574
16668
|
convertFromRaw: convertFromRaw,
|
|
16575
16669
|
prepareMessagePayload: prepareMessagePayload,
|
|
16576
16670
|
convertParams: convertParams,
|
|
16577
|
-
convertQueryParams: convertQueryParams$1
|
|
16671
|
+
convertQueryParams: convertQueryParams$1,
|
|
16672
|
+
getMessageIdentifierIds: getMessageIdentifierIds
|
|
16578
16673
|
});
|
|
16579
16674
|
|
|
16580
16675
|
/**
|
|
@@ -24635,7 +24730,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
24635
24730
|
getPoll: getPoll
|
|
24636
24731
|
});
|
|
24637
24732
|
|
|
24638
|
-
const privateKey = "-----BEGIN PRIVATE KEY-----\
|
|
24733
|
+
const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
|
|
24639
24734
|
/*
|
|
24640
24735
|
* The crypto algorithm used for importing key and signing string
|
|
24641
24736
|
*/
|