@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 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 aes256Encrypt(contentStr, this.encryptKey);
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 = aes256Decrypt(encryptedHex, this.encryptKey);
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
- if (!this.db) {
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 aes256Encrypt(contentStr, this.encryptKey);
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 = aes256Decrypt(encryptedHex, this.encryptKey);
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
- if (!this.db) {
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "2.2.7",
3
+ "version": "2.2.9",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",