@onyx-p/imlib-web 2.2.7 → 2.2.9
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/index.esm.js +8 -26
- package/index.umd.js +8 -26
- package/package.json +1 -1
package/index.esm.js
CHANGED
@@ -20718,6 +20718,9 @@ function generateOldMessageId() {
|
|
20718
20718
|
oldestMessageId--;
|
20719
20719
|
return oldestMessageId;
|
20720
20720
|
}
|
20721
|
+
function getCurrentMessageId() {
|
20722
|
+
return lastMessageId;
|
20723
|
+
}
|
20721
20724
|
|
20722
20725
|
class MessageLoader {
|
20723
20726
|
watcher;
|
@@ -20822,7 +20825,7 @@ class MessageLoader {
|
|
20822
20825
|
RecallMessageStore.remove(m.content.messageUId);
|
20823
20826
|
} else {
|
20824
20827
|
m.isOffLineMessage = isOffLineMessage;
|
20825
|
-
if (!m.messageId) {
|
20828
|
+
if (!m.messageId || m.messageId > getCurrentMessageId()) {
|
20826
20829
|
m.messageId = generateNewMessageId();
|
20827
20830
|
}
|
20828
20831
|
ConversationManager$1.get().setConversationCacheByMessage(m);
|
@@ -21184,7 +21187,7 @@ class MessageCache {
|
|
21184
21187
|
if (!content) return '';
|
21185
21188
|
try {
|
21186
21189
|
const contentStr = JSON.stringify(content);
|
21187
|
-
return
|
21190
|
+
return contentStr;
|
21188
21191
|
} catch (error) {
|
21189
21192
|
logger.error('加密消息内容失败', error);
|
21190
21193
|
return '';
|
@@ -21195,7 +21198,7 @@ class MessageCache {
|
|
21195
21198
|
return null;
|
21196
21199
|
}
|
21197
21200
|
try {
|
21198
|
-
const decryptedStr =
|
21201
|
+
const decryptedStr = encryptedHex;
|
21199
21202
|
return JSON.parse(decryptedStr);
|
21200
21203
|
} catch (error) {
|
21201
21204
|
logger.error('解密消息内容失败', error);
|
@@ -21549,28 +21552,7 @@ class MessageCache {
|
|
21549
21552
|
});
|
21550
21553
|
}
|
21551
21554
|
async upsertMessage(message) {
|
21552
|
-
|
21553
|
-
throw new Error('数据库未初始化');
|
21554
|
-
}
|
21555
|
-
return new Promise((resolve, reject) => {
|
21556
|
-
const transaction = this.db.transaction(this.STORE_NAME, 'readwrite');
|
21557
|
-
const store = transaction.objectStore(this.STORE_NAME);
|
21558
|
-
const messageToStore = {
|
21559
|
-
...message
|
21560
|
-
};
|
21561
|
-
if (messageToStore.content) {
|
21562
|
-
const encryptedContent = this.encryptContent(messageToStore.content);
|
21563
|
-
messageToStore.content = encryptedContent;
|
21564
|
-
}
|
21565
|
-
const request = store.put(messageToStore);
|
21566
|
-
request.onsuccess = () => {
|
21567
|
-
resolve();
|
21568
|
-
};
|
21569
|
-
request.onerror = event => {
|
21570
|
-
logger.error('更新/插入消息失败', event);
|
21571
|
-
reject(new Error('更新/插入消息失败'));
|
21572
|
-
};
|
21573
|
-
});
|
21555
|
+
this.addMessages([message], message);
|
21574
21556
|
}
|
21575
21557
|
async getMessageById(messageId) {
|
21576
21558
|
if (!this.db) {
|
@@ -29322,7 +29304,7 @@ class IMClient extends EventEmitter {
|
|
29322
29304
|
const remotesMessages = remotesResult.data.list;
|
29323
29305
|
for (let i = remotesMessages.length - 1; i >= 0; i--) {
|
29324
29306
|
const message = remotesMessages[i];
|
29325
|
-
if (!message.messageId) {
|
29307
|
+
if (!message.messageId || message.messageId > getCurrentMessageId()) {
|
29326
29308
|
message.messageId = generateOldMessageId();
|
29327
29309
|
}
|
29328
29310
|
}
|
package/index.umd.js
CHANGED
@@ -20724,6 +20724,9 @@
|
|
20724
20724
|
oldestMessageId--;
|
20725
20725
|
return oldestMessageId;
|
20726
20726
|
}
|
20727
|
+
function getCurrentMessageId() {
|
20728
|
+
return lastMessageId;
|
20729
|
+
}
|
20727
20730
|
|
20728
20731
|
class MessageLoader {
|
20729
20732
|
watcher;
|
@@ -20828,7 +20831,7 @@
|
|
20828
20831
|
RecallMessageStore.remove(m.content.messageUId);
|
20829
20832
|
} else {
|
20830
20833
|
m.isOffLineMessage = isOffLineMessage;
|
20831
|
-
if (!m.messageId) {
|
20834
|
+
if (!m.messageId || m.messageId > getCurrentMessageId()) {
|
20832
20835
|
m.messageId = generateNewMessageId();
|
20833
20836
|
}
|
20834
20837
|
ConversationManager$1.get().setConversationCacheByMessage(m);
|
@@ -21190,7 +21193,7 @@
|
|
21190
21193
|
if (!content) return '';
|
21191
21194
|
try {
|
21192
21195
|
const contentStr = JSON.stringify(content);
|
21193
|
-
return
|
21196
|
+
return contentStr;
|
21194
21197
|
} catch (error) {
|
21195
21198
|
logger.error('加密消息内容失败', error);
|
21196
21199
|
return '';
|
@@ -21201,7 +21204,7 @@
|
|
21201
21204
|
return null;
|
21202
21205
|
}
|
21203
21206
|
try {
|
21204
|
-
const decryptedStr =
|
21207
|
+
const decryptedStr = encryptedHex;
|
21205
21208
|
return JSON.parse(decryptedStr);
|
21206
21209
|
} catch (error) {
|
21207
21210
|
logger.error('解密消息内容失败', error);
|
@@ -21555,28 +21558,7 @@
|
|
21555
21558
|
});
|
21556
21559
|
}
|
21557
21560
|
async upsertMessage(message) {
|
21558
|
-
|
21559
|
-
throw new Error('数据库未初始化');
|
21560
|
-
}
|
21561
|
-
return new Promise((resolve, reject) => {
|
21562
|
-
const transaction = this.db.transaction(this.STORE_NAME, 'readwrite');
|
21563
|
-
const store = transaction.objectStore(this.STORE_NAME);
|
21564
|
-
const messageToStore = {
|
21565
|
-
...message
|
21566
|
-
};
|
21567
|
-
if (messageToStore.content) {
|
21568
|
-
const encryptedContent = this.encryptContent(messageToStore.content);
|
21569
|
-
messageToStore.content = encryptedContent;
|
21570
|
-
}
|
21571
|
-
const request = store.put(messageToStore);
|
21572
|
-
request.onsuccess = () => {
|
21573
|
-
resolve();
|
21574
|
-
};
|
21575
|
-
request.onerror = event => {
|
21576
|
-
logger.error('更新/插入消息失败', event);
|
21577
|
-
reject(new Error('更新/插入消息失败'));
|
21578
|
-
};
|
21579
|
-
});
|
21561
|
+
this.addMessages([message], message);
|
21580
21562
|
}
|
21581
21563
|
async getMessageById(messageId) {
|
21582
21564
|
if (!this.db) {
|
@@ -29328,7 +29310,7 @@
|
|
29328
29310
|
const remotesMessages = remotesResult.data.list;
|
29329
29311
|
for (let i = remotesMessages.length - 1; i >= 0; i--) {
|
29330
29312
|
const message = remotesMessages[i];
|
29331
|
-
if (!message.messageId) {
|
29313
|
+
if (!message.messageId || message.messageId > getCurrentMessageId()) {
|
29332
29314
|
message.messageId = generateOldMessageId();
|
29333
29315
|
}
|
29334
29316
|
}
|