@amityco/ts-sdk-react-native 6.30.5-d50bb81.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 +3 -3
- 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
|
@@ -123,8 +123,8 @@ const PostContentType = Object.freeze({
|
|
|
123
123
|
|
|
124
124
|
function getVersion() {
|
|
125
125
|
try {
|
|
126
|
-
// the string ''v6.
|
|
127
|
-
return 'v6.
|
|
126
|
+
// the string ''v6.31.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
127
|
+
return 'v6.31.0-cjs';
|
|
128
128
|
}
|
|
129
129
|
catch (error) {
|
|
130
130
|
return '__dev__';
|
|
@@ -572,6 +572,18 @@ const idResolvers = {
|
|
|
572
572
|
*/
|
|
573
573
|
const getResolver = (name) => idResolvers[name];
|
|
574
574
|
|
|
575
|
+
/*
|
|
576
|
+
* To check if an id is a local referenceId, the id must start with 'LOCAL_'.
|
|
577
|
+
*
|
|
578
|
+
* Example: LOCAL_155f5158-281a-4a9d-a445-9243138d2041
|
|
579
|
+
*
|
|
580
|
+
* @param id as string
|
|
581
|
+
* @returns true if the id is a local referenceId, false otherwise
|
|
582
|
+
*/
|
|
583
|
+
const isLocalId = (id) => {
|
|
584
|
+
return id.startsWith('LOCAL_');
|
|
585
|
+
};
|
|
586
|
+
|
|
575
587
|
/**
|
|
576
588
|
* A map of v3 response keys to a store name.
|
|
577
589
|
* @hidden
|
|
@@ -6829,21 +6841,26 @@ function convertFromRaw$1(_a) {
|
|
|
6829
6841
|
} }, rest), { channelId: channelPublicId, creatorId: creatorPublicId, displayName: name, lastActivity: lastMessageTimestamp, latestMessageId: lastMessageId, messageCount: childCount, subChannelId: messageFeedId, isUnreadCountSupport: isUnreadCountSupport$1({ channelType }) });
|
|
6830
6842
|
}
|
|
6831
6843
|
|
|
6832
|
-
const
|
|
6833
|
-
|
|
6834
|
-
const
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6844
|
+
const addLocalReferenceId = (payload) => {
|
|
6845
|
+
const client = getActiveClient();
|
|
6846
|
+
const { objectSyncMap } = client;
|
|
6847
|
+
return Object.assign(Object.assign({}, payload), {
|
|
6848
|
+
/* NOTE: This logic is used to get local referenceId for each message.
|
|
6849
|
+
*
|
|
6850
|
+
* if messageId is a local reference id, use it as referenceId else get referenceId from objectSyncMap.
|
|
6851
|
+
* if find referenceId in objectSyncMap, this means this message is a local created message. The referenceId will be local reference id.
|
|
6852
|
+
* if cannot find referenceId in objectSyncMap, referenceId will be undefined.
|
|
6853
|
+
*
|
|
6854
|
+
* The referenceId is undefined means this message is not a local created message (optimistic creation message).
|
|
6855
|
+
*/
|
|
6856
|
+
referenceId: isLocalId(payload.messageId)
|
|
6857
|
+
? payload.messageId
|
|
6858
|
+
: objectSyncMap.get(payload.messageId) });
|
|
6842
6859
|
};
|
|
6843
6860
|
function convertFromRaw(message, reactors, event) {
|
|
6844
6861
|
var _a;
|
|
6845
|
-
const
|
|
6846
|
-
const { channelPublicId, childCount, creatorPublicId, mentionedUsers, messageFeedId, myReactions, reactionCount, reactions, referenceId, segment, messageId, creatorId } =
|
|
6862
|
+
const messageWithReferenceId = addLocalReferenceId(message);
|
|
6863
|
+
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"]);
|
|
6847
6864
|
let cache;
|
|
6848
6865
|
if (referenceId) {
|
|
6849
6866
|
cache = pullFromCache(['message', 'get', referenceId]);
|
|
@@ -8660,6 +8677,42 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
8660
8677
|
pushToCache(cacheKeyUnreadCount, updatedCachedUnreadCount);
|
|
8661
8678
|
};
|
|
8662
8679
|
|
|
8680
|
+
/*
|
|
8681
|
+
* To get message identifier ids used as a cache key for the each message.
|
|
8682
|
+
* These ids are used to store in the query stream and use to get messages from cache.
|
|
8683
|
+
*
|
|
8684
|
+
* The query stream data keeps the message identifier ids as follows:
|
|
8685
|
+
* ['server_message_id_1', 'server_message_id_2', 'LOCAL_message_id_1', 'LOCAL_message_id_2']
|
|
8686
|
+
*
|
|
8687
|
+
* Example use case: Message created locally and then created on the server.
|
|
8688
|
+
*
|
|
8689
|
+
* 1. Message created locally has `LOCAL_message_id_2` as referenceId.
|
|
8690
|
+
* 2. The `message.created` event will be fired from server with message payload that has no the referenceId.
|
|
8691
|
+
* 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.
|
|
8692
|
+
* 4. The SDK use this identifier ids to check if the message is already in the query stream before appending it.
|
|
8693
|
+
*
|
|
8694
|
+
* @param The raw message payload from server response
|
|
8695
|
+
* @returns The identifier ids of the messages
|
|
8696
|
+
*/
|
|
8697
|
+
function getMessageIdentifierIds(messages) {
|
|
8698
|
+
const client = getActiveClient();
|
|
8699
|
+
const { objectSyncMap } = client;
|
|
8700
|
+
return messages
|
|
8701
|
+
.map(message => {
|
|
8702
|
+
var _a;
|
|
8703
|
+
/* NOTE: This logic is used to get identifier id for each message.
|
|
8704
|
+
*
|
|
8705
|
+
* if messageId is a local id, use it as identifier id else get identifier id from objectSyncMap.
|
|
8706
|
+
* if find referenceId in objectSyncMap, this means this message is a local created message. The identifier id will be local message id.
|
|
8707
|
+
* 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.
|
|
8708
|
+
*/
|
|
8709
|
+
if (isLocalId(message.messageId))
|
|
8710
|
+
return message.messageId;
|
|
8711
|
+
return (_a = objectSyncMap.get(message.messageId)) !== null && _a !== void 0 ? _a : message.messageId;
|
|
8712
|
+
})
|
|
8713
|
+
.filter(Boolean);
|
|
8714
|
+
}
|
|
8715
|
+
|
|
8663
8716
|
/**
|
|
8664
8717
|
* ```js
|
|
8665
8718
|
* import { onMessageCreated } from '@amityco/ts-sdk-react-native'
|
|
@@ -9360,6 +9413,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9360
9413
|
const sessionState = "notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */;
|
|
9361
9414
|
const sessionHandler = undefined;
|
|
9362
9415
|
const isUnreadCountEnabled = false;
|
|
9416
|
+
const objectSyncMap = new Map();
|
|
9363
9417
|
const client = {
|
|
9364
9418
|
version: `${VERSION}`,
|
|
9365
9419
|
apiKey,
|
|
@@ -9390,6 +9444,29 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9390
9444
|
use: () => setActiveClient(client),
|
|
9391
9445
|
isUnreadCountEnabled,
|
|
9392
9446
|
getMarkerSyncConsistentMode,
|
|
9447
|
+
/*
|
|
9448
|
+
* The objectSyncMap is used to keep the map between local referenceId and server id in two ways mapping.
|
|
9449
|
+
*
|
|
9450
|
+
* 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.
|
|
9451
|
+
* 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.
|
|
9452
|
+
*
|
|
9453
|
+
* 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.
|
|
9454
|
+
*
|
|
9455
|
+
* Example:
|
|
9456
|
+
* In the case of message optimistically creation. The referenceId is created locally.
|
|
9457
|
+
*
|
|
9458
|
+
* 1. When creating a message optimistically, a local referenceId is created. The objectSyncMap will have the following structure.
|
|
9459
|
+
* {
|
|
9460
|
+
* "LOCAL_uuid": undefined,
|
|
9461
|
+
* }
|
|
9462
|
+
*
|
|
9463
|
+
* 2. After the message was created on the server and SDK received the response from server, the objectSyncMap will be updated to
|
|
9464
|
+
* {
|
|
9465
|
+
* "LOCAL_uuid": "server_message_id",
|
|
9466
|
+
* "server_message_id": "LOCAL_uuid"
|
|
9467
|
+
* }
|
|
9468
|
+
*/
|
|
9469
|
+
objectSyncMap,
|
|
9393
9470
|
};
|
|
9394
9471
|
try {
|
|
9395
9472
|
const activeClient = getActiveClient();
|
|
@@ -15008,12 +15085,24 @@ const unmuteChannel = async (channelId) => {
|
|
|
15008
15085
|
/* end_public_function */
|
|
15009
15086
|
|
|
15010
15087
|
const convertEventPayload = (eventHandler, sourceModelProp, destinationDomain) => (callback) => eventHandler(sourceModel => {
|
|
15011
|
-
var _a;
|
|
15088
|
+
var _a, _b;
|
|
15012
15089
|
if (!sourceModel) {
|
|
15013
15090
|
return sourceModel;
|
|
15014
15091
|
}
|
|
15015
|
-
const
|
|
15016
|
-
const
|
|
15092
|
+
const client = getActiveClient();
|
|
15093
|
+
const { objectSyncMap } = client;
|
|
15094
|
+
/*
|
|
15095
|
+
* 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.
|
|
15096
|
+
* 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.
|
|
15097
|
+
*/
|
|
15098
|
+
const resolvedId = isLocalId(sourceModel[sourceModelProp])
|
|
15099
|
+
? sourceModel[sourceModelProp]
|
|
15100
|
+
: (_a = objectSyncMap.get(sourceModel[sourceModelProp])) !== null && _a !== void 0 ? _a : sourceModel[sourceModelProp];
|
|
15101
|
+
const model = (_b = pullFromCache([
|
|
15102
|
+
destinationDomain,
|
|
15103
|
+
'get',
|
|
15104
|
+
`${resolvedId}`,
|
|
15105
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
15017
15106
|
if (!model)
|
|
15018
15107
|
return;
|
|
15019
15108
|
return callback(model);
|
|
@@ -15441,6 +15530,7 @@ let uniqueId;
|
|
|
15441
15530
|
const createMessageOptimistic = (bundle) => {
|
|
15442
15531
|
var _a, _b;
|
|
15443
15532
|
const client = getActiveClient();
|
|
15533
|
+
const { objectSyncMap } = client;
|
|
15444
15534
|
if (!client.cache)
|
|
15445
15535
|
return;
|
|
15446
15536
|
/*
|
|
@@ -15469,6 +15559,7 @@ const createMessageOptimistic = (bundle) => {
|
|
|
15469
15559
|
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);
|
|
15470
15560
|
const cachedAt = UNSYNCED_OBJECT_CACHED_AT_VALUE;
|
|
15471
15561
|
pushToCache(['message', 'get', message.messageId], message, { cachedAt });
|
|
15562
|
+
objectSyncMap.set(message.messageId, undefined);
|
|
15472
15563
|
fireEvent('local.message.created', { messages: [message] });
|
|
15473
15564
|
return message;
|
|
15474
15565
|
};
|
|
@@ -15496,12 +15587,15 @@ const createMessageOptimistic = (bundle) => {
|
|
|
15496
15587
|
*/
|
|
15497
15588
|
const createMessage = async (bundle) => {
|
|
15498
15589
|
const client = getActiveClient();
|
|
15590
|
+
const { objectSyncMap } = client;
|
|
15499
15591
|
client.log('message/createMessage', bundle);
|
|
15500
15592
|
const optimisticData = createMessageOptimistic(bundle);
|
|
15501
15593
|
const referenceId = bundle.referenceId || uniqueId || getLocalId();
|
|
15502
15594
|
uniqueId = undefined;
|
|
15503
15595
|
try {
|
|
15504
15596
|
const { data: payload } = await client.http.post('/api/v5/messages', Object.assign(Object.assign({}, convertParams(bundle)), { referenceId }));
|
|
15597
|
+
objectSyncMap.set(referenceId, payload.messages[0].messageId);
|
|
15598
|
+
objectSyncMap.set(payload.messages[0].messageId, referenceId);
|
|
15505
15599
|
const data = await prepareMessagePayload(payload);
|
|
15506
15600
|
const { messages } = data;
|
|
15507
15601
|
const cachedAt = client.cache && Date.now();
|
|
@@ -16256,7 +16350,7 @@ class MessageQueryStreamController extends QueryStreamController {
|
|
|
16256
16350
|
var _a, _b;
|
|
16257
16351
|
if (refresh) {
|
|
16258
16352
|
pushToCache(this.cacheKey, {
|
|
16259
|
-
data: response.messages
|
|
16353
|
+
data: getMessageIdentifierIds(response.messages),
|
|
16260
16354
|
query: this.query,
|
|
16261
16355
|
});
|
|
16262
16356
|
}
|
|
@@ -16264,8 +16358,8 @@ class MessageQueryStreamController extends QueryStreamController {
|
|
|
16264
16358
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
16265
16359
|
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
16266
16360
|
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: direction === 'next'
|
|
16267
|
-
? [...new Set([...messages, ...response.messages
|
|
16268
|
-
: [...new Set([...response.messages
|
|
16361
|
+
? [...new Set([...messages, ...getMessageIdentifierIds(response.messages)])]
|
|
16362
|
+
: [...new Set([...getMessageIdentifierIds(response.messages), ...messages])] }));
|
|
16269
16363
|
}
|
|
16270
16364
|
}
|
|
16271
16365
|
reactor(action) {
|
|
@@ -16339,12 +16433,12 @@ class MessagePaginationController extends PaginationController {
|
|
|
16339
16433
|
|
|
16340
16434
|
const getMessageFromMainDB = (messageId) => {
|
|
16341
16435
|
var _a, _b;
|
|
16342
|
-
const
|
|
16343
|
-
|
|
16344
|
-
|
|
16345
|
-
|
|
16346
|
-
|
|
16347
|
-
return (_b =
|
|
16436
|
+
const client = getActiveClient();
|
|
16437
|
+
const { objectSyncMap } = client;
|
|
16438
|
+
const resolvedMessageId = isLocalId(messageId)
|
|
16439
|
+
? messageId
|
|
16440
|
+
: (_a = objectSyncMap.get(messageId)) !== null && _a !== void 0 ? _a : messageId;
|
|
16441
|
+
return (_b = pullFromCache(['message', 'get', resolvedMessageId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
16348
16442
|
};
|
|
16349
16443
|
|
|
16350
16444
|
class MessageLiveCollectionController extends LiveCollectionController {
|
|
@@ -16684,7 +16778,8 @@ var index$g = /*#__PURE__*/Object.freeze({
|
|
|
16684
16778
|
convertFromRaw: convertFromRaw,
|
|
16685
16779
|
prepareMessagePayload: prepareMessagePayload,
|
|
16686
16780
|
convertParams: convertParams,
|
|
16687
|
-
convertQueryParams: convertQueryParams$1
|
|
16781
|
+
convertQueryParams: convertQueryParams$1,
|
|
16782
|
+
getMessageIdentifierIds: getMessageIdentifierIds
|
|
16688
16783
|
});
|
|
16689
16784
|
|
|
16690
16785
|
/**
|
|
@@ -24740,7 +24835,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
24740
24835
|
getPoll: getPoll
|
|
24741
24836
|
});
|
|
24742
24837
|
|
|
24743
|
-
const privateKey = "-----BEGIN PRIVATE KEY-----\
|
|
24838
|
+
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-----";
|
|
24744
24839
|
/*
|
|
24745
24840
|
* The crypto algorithm used for importing key and signing string
|
|
24746
24841
|
*/
|