@onyx-p/imlib-web 2.4.1 → 2.4.5

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
@@ -19739,7 +19739,7 @@ class ConversationStore {
19739
19739
  messageDirection,
19740
19740
  content
19741
19741
  } = message;
19742
- if (messageDirection === MessageDirection.SEND || !isMentioned && messageType !== MessageTypes.RECALL) {
19742
+ if (!messageUId || messageDirection === MessageDirection.SEND || !isMentioned && messageType !== MessageTypes.RECALL) {
19743
19743
  return;
19744
19744
  }
19745
19745
  const key = this.getStoreKey({
@@ -19756,7 +19756,7 @@ class ConversationStore {
19756
19756
  }
19757
19757
  if (messageType === MessageTypes.RECALL && conversationType === ConversationType.GROUP) {
19758
19758
  const recallContent = content;
19759
- const index = localMentionedUIdList.indexOf(recallContent.messageUId.toString());
19759
+ const index = localMentionedUIdList.indexOf(recallContent.messageUId?.toString() ?? '');
19760
19760
  if (index >= 0) {
19761
19761
  localMentionedUIdList.splice(index, 1);
19762
19762
  }
@@ -20944,8 +20944,8 @@ class MessageCache {
20944
20944
  resolve();
20945
20945
  };
20946
20946
  transaction.onerror = event => {
20947
- logger.error('Add message transaction failed', event);
20948
- reject(new Error('Add message transaction failed'));
20947
+ logger.error('Add message transaction failed', messages, event);
20948
+ resolve();
20949
20949
  };
20950
20950
  });
20951
20951
  }
@@ -21436,9 +21436,13 @@ class MessageLoader {
21436
21436
  let messageList = [];
21437
21437
  l.forEach(m => {
21438
21438
  if (m.messageType === MessageTypes.RECALL && RecallMessageStore.has(m.content.messageUId)) {
21439
- RecallMessageStore.remove(m.content.messageUId);
21440
- recallMessageUIds.push(m.content.messageUId);
21441
- } else {
21439
+ if (m.content.messageUId) {
21440
+ RecallMessageStore.remove(m.content.messageUId);
21441
+ recallMessageUIds.push(m.content.messageUId);
21442
+ } else {
21443
+ logger.error('recall messageUId is undefined', m);
21444
+ }
21445
+ } else if (m.messageUId) {
21442
21446
  m.isOffLineMessage = isOffLineMessage;
21443
21447
  if (!m.messageId || m.messageId > getCurrentMessageId()) {
21444
21448
  m.messageId = generateNewMessageId();
@@ -21448,6 +21452,8 @@ class MessageLoader {
21448
21452
  if (m.messageType === MessageTypes.RECALL) {
21449
21453
  recallMessageIndexes.push(messageList.length - 1);
21450
21454
  }
21455
+ } else {
21456
+ logger.error('messageUId is undefined', m);
21451
21457
  }
21452
21458
  if ([NotiMessageTypes.PRIVATE_OPEN_BURNAFTERREADING, NotiMessageTypes.GROUP_OPEN_BURNAFTERREADING, NotiMessageTypes.PRIVATE_CLOSE_BURNAFTERREADING, NotiMessageTypes.GROUP_CLOSE_BURNAFTERREADING].includes(m.messageType)) {
21453
21459
  this.handleBurnAfterReadingMessage(m);
@@ -21466,7 +21472,15 @@ class MessageLoader {
21466
21472
  deletedMessageIndexes.push(index);
21467
21473
  }
21468
21474
  }
21469
- messageList = messageList.filter((m, index) => !deletedMessageIndexes.includes(index));
21475
+ if (deletedMessageIndexes.length) {
21476
+ let messageList_tmp = [];
21477
+ messageList.forEach((m, index) => {
21478
+ if (!deletedMessageIndexes.includes(index)) {
21479
+ messageList_tmp.push(m);
21480
+ }
21481
+ });
21482
+ messageList = messageList_tmp;
21483
+ }
21470
21484
  messages.push(...messageList);
21471
21485
  if (this.isExistPersistedMessage(messageList)) {
21472
21486
  splitFullDialog(dialogId);
package/index.umd.js CHANGED
@@ -19745,7 +19745,7 @@
19745
19745
  messageDirection,
19746
19746
  content
19747
19747
  } = message;
19748
- if (messageDirection === exports.MessageDirection.SEND || !isMentioned && messageType !== MessageTypes.RECALL) {
19748
+ if (!messageUId || messageDirection === exports.MessageDirection.SEND || !isMentioned && messageType !== MessageTypes.RECALL) {
19749
19749
  return;
19750
19750
  }
19751
19751
  const key = this.getStoreKey({
@@ -19762,7 +19762,7 @@
19762
19762
  }
19763
19763
  if (messageType === MessageTypes.RECALL && conversationType === exports.ConversationType.GROUP) {
19764
19764
  const recallContent = content;
19765
- const index = localMentionedUIdList.indexOf(recallContent.messageUId.toString());
19765
+ const index = localMentionedUIdList.indexOf(recallContent.messageUId?.toString() ?? '');
19766
19766
  if (index >= 0) {
19767
19767
  localMentionedUIdList.splice(index, 1);
19768
19768
  }
@@ -20950,8 +20950,8 @@
20950
20950
  resolve();
20951
20951
  };
20952
20952
  transaction.onerror = event => {
20953
- logger.error('Add message transaction failed', event);
20954
- reject(new Error('Add message transaction failed'));
20953
+ logger.error('Add message transaction failed', messages, event);
20954
+ resolve();
20955
20955
  };
20956
20956
  });
20957
20957
  }
@@ -21442,9 +21442,13 @@
21442
21442
  let messageList = [];
21443
21443
  l.forEach(m => {
21444
21444
  if (m.messageType === MessageTypes.RECALL && RecallMessageStore.has(m.content.messageUId)) {
21445
- RecallMessageStore.remove(m.content.messageUId);
21446
- recallMessageUIds.push(m.content.messageUId);
21447
- } else {
21445
+ if (m.content.messageUId) {
21446
+ RecallMessageStore.remove(m.content.messageUId);
21447
+ recallMessageUIds.push(m.content.messageUId);
21448
+ } else {
21449
+ logger.error('recall messageUId is undefined', m);
21450
+ }
21451
+ } else if (m.messageUId) {
21448
21452
  m.isOffLineMessage = isOffLineMessage;
21449
21453
  if (!m.messageId || m.messageId > getCurrentMessageId()) {
21450
21454
  m.messageId = generateNewMessageId();
@@ -21454,6 +21458,8 @@
21454
21458
  if (m.messageType === MessageTypes.RECALL) {
21455
21459
  recallMessageIndexes.push(messageList.length - 1);
21456
21460
  }
21461
+ } else {
21462
+ logger.error('messageUId is undefined', m);
21457
21463
  }
21458
21464
  if ([NotiMessageTypes.PRIVATE_OPEN_BURNAFTERREADING, NotiMessageTypes.GROUP_OPEN_BURNAFTERREADING, NotiMessageTypes.PRIVATE_CLOSE_BURNAFTERREADING, NotiMessageTypes.GROUP_CLOSE_BURNAFTERREADING].includes(m.messageType)) {
21459
21465
  this.handleBurnAfterReadingMessage(m);
@@ -21472,7 +21478,15 @@
21472
21478
  deletedMessageIndexes.push(index);
21473
21479
  }
21474
21480
  }
21475
- messageList = messageList.filter((m, index) => !deletedMessageIndexes.includes(index));
21481
+ if (deletedMessageIndexes.length) {
21482
+ let messageList_tmp = [];
21483
+ messageList.forEach((m, index) => {
21484
+ if (!deletedMessageIndexes.includes(index)) {
21485
+ messageList_tmp.push(m);
21486
+ }
21487
+ });
21488
+ messageList = messageList_tmp;
21489
+ }
21476
21490
  messages.push(...messageList);
21477
21491
  if (this.isExistPersistedMessage(messageList)) {
21478
21492
  splitFullDialog(dialogId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "2.4.1",
3
+ "version": "2.4.5",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",
package/types/types.d.ts CHANGED
@@ -194,13 +194,13 @@ export interface IUploader {
194
194
  * 文件消息配置
195
195
  */
196
196
  export interface IUploadMessageOption extends ISendMessageOptions {
197
+ full?: boolean;
197
198
  }
198
199
  /**
199
200
  * 图片消息配置
200
201
  */
201
202
  export interface IImageMessageOption extends IUploadMessageOption {
202
203
  thumbnailConfig?: IThumbnailConfig;
203
- full?: boolean;
204
204
  }
205
205
  /**
206
206
  * 缩略图配置