@onyx-p/imlib-web 1.8.2 → 1.8.4

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
@@ -19735,6 +19735,10 @@ class ConversationStore {
19735
19735
  this.localStore.remove(key);
19736
19736
  }
19737
19737
  }
19738
+ remove(conOpt) {
19739
+ const key = this.getStoreKey(conOpt);
19740
+ this.localStore.remove(key);
19741
+ }
19738
19742
  get(conOpt) {
19739
19743
  const key = this.getStoreKey(conOpt);
19740
19744
  const local = this.localStore.get(key) || {};
@@ -20233,6 +20237,34 @@ class ConversationManager {
20233
20237
  smallAvatarUrl
20234
20238
  }));
20235
20239
  }
20240
+ remove(conOpt) {
20241
+ this.store.remove(conOpt);
20242
+ }
20243
+ clearHistoryMessages(conOpt) {
20244
+ this.clearUnreadCount(conOpt);
20245
+ const updateConOptions = {
20246
+ conversation: conOpt,
20247
+ updatedItems: {}
20248
+ };
20249
+ updateConOptions.conversation.latestMessage = undefined;
20250
+ updateConOptions.updatedItems.latestMessage = {
20251
+ val: null,
20252
+ time: getServerTime$1().toString()
20253
+ };
20254
+ this.setUpdatedConversation(updateConOptions);
20255
+ }
20256
+ refreshLatestMessage(conOpt, message) {
20257
+ const updateConOptions = {
20258
+ conversation: conOpt,
20259
+ updatedItems: {}
20260
+ };
20261
+ updateConOptions.conversation.latestMessage = message;
20262
+ updateConOptions.updatedItems.latestMessage = {
20263
+ val: message,
20264
+ time: message.sentTime?.toString() ?? getServerTime$1().toString()
20265
+ };
20266
+ this.setUpdatedConversation(updateConOptions);
20267
+ }
20236
20268
  destroyed() {
20237
20269
  this.updatedConversationFunc = undefined;
20238
20270
  }
@@ -20285,7 +20317,10 @@ const nullConversationManager = {
20285
20317
  return Promise.resolve();
20286
20318
  },
20287
20319
  destroyed() {},
20288
- syncConversationStatus: function () {}
20320
+ syncConversationStatus: function () {},
20321
+ remove: function (conOpt) {},
20322
+ clearHistoryMessages: function (conOpt) {},
20323
+ refreshLatestMessage: function (conOpt, message) {}
20289
20324
  };
20290
20325
  let manager$1;
20291
20326
  var ConversationManager$1 = {
@@ -28207,6 +28242,9 @@ async function send(message, sentArgs) {
28207
28242
  if (message.isPersited) {
28208
28243
  await ConversationManager$1.get().loadConvsationsIfNotExist([sentArgs.conversation]);
28209
28244
  }
28245
+ const conversation = ConversationManager$1.get().get(sentArgs.conversation);
28246
+ receivedMessage.burnAfterReadingFlag = conversation?.burnAfterReadingFlag ?? false;
28247
+ receivedMessage.burnAfterReadingTime = conversation?.burnAfterReadingTime ?? 0;
28210
28248
  const secretKey = await DialogSecretKey$1.getDialogAesKey(dialogId.toString());
28211
28249
  if (!secretKey) {
28212
28250
  receivedMessage.sentStatus = SentStatus.FAILED;
@@ -28407,6 +28445,9 @@ class IMClient extends EventEmitter {
28407
28445
  }, (_, outputMsgs) => {
28408
28446
  const messageList = outputMsgs.get(dialogId) ?? [];
28409
28447
  messageList.sort((e1, e2) => Long.fromString(e1.sentTime).lessThan(Long.fromString(e2.sentTime)) ? -1 : 1);
28448
+ if (options.order === 0 && !options.timestamp) {
28449
+ ConversationManager$1.get().refreshLatestMessage(conversation, messageList[messageList.length - 1]);
28450
+ }
28410
28451
  resolve({
28411
28452
  code: ErrorCode.SUCCESS,
28412
28453
  data: {
@@ -28422,6 +28463,7 @@ class IMClient extends EventEmitter {
28422
28463
  return deleteMessages$1(getFullDialogId(conversation), list.map(e => e.messageUId)).then(result => result.code);
28423
28464
  }
28424
28465
  async deleteRemoteMessageByTimestamp(conversation, timestamp) {
28466
+ ConversationManager$1.get().clearHistoryMessages(conversation);
28425
28467
  return clearHistoryMessage(getFullDialogId(conversation), timestamp === 0 ? Number.MAX_VALUE : timestamp).then(result => result.code);
28426
28468
  }
28427
28469
  async getConversationList(count, conversationType, startTime, order) {
@@ -28506,6 +28548,7 @@ class IMClient extends EventEmitter {
28506
28548
  };
28507
28549
  }
28508
28550
  removeConversation(conversation) {
28551
+ ConversationManager$1.get().remove(conversation);
28509
28552
  return deleteDialog(getFullDialogId(conversation)).then(resp => resp.code);
28510
28553
  }
28511
28554
  getUnreadMentionedCount(conversation) {
@@ -29877,4 +29920,4 @@ const _logSendError = (conversation, errorCode) => {
29877
29920
  }
29878
29921
  };
29879
29922
 
29880
- export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotificationLevel, NotificationStatus, PrivateCloseBurnAfterReadingMessage, PrivateOpenBurnAfterReadingMessage, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendReadReceipts, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
29923
+ export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotiMessageTypes, NotificationLevel, NotificationStatus, PrivateCloseBurnAfterReadingMessage, PrivateOpenBurnAfterReadingMessage, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendReadReceipts, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
package/index.umd.js CHANGED
@@ -19741,6 +19741,10 @@
19741
19741
  this.localStore.remove(key);
19742
19742
  }
19743
19743
  }
19744
+ remove(conOpt) {
19745
+ const key = this.getStoreKey(conOpt);
19746
+ this.localStore.remove(key);
19747
+ }
19744
19748
  get(conOpt) {
19745
19749
  const key = this.getStoreKey(conOpt);
19746
19750
  const local = this.localStore.get(key) || {};
@@ -20239,6 +20243,34 @@
20239
20243
  smallAvatarUrl
20240
20244
  }));
20241
20245
  }
20246
+ remove(conOpt) {
20247
+ this.store.remove(conOpt);
20248
+ }
20249
+ clearHistoryMessages(conOpt) {
20250
+ this.clearUnreadCount(conOpt);
20251
+ const updateConOptions = {
20252
+ conversation: conOpt,
20253
+ updatedItems: {}
20254
+ };
20255
+ updateConOptions.conversation.latestMessage = undefined;
20256
+ updateConOptions.updatedItems.latestMessage = {
20257
+ val: null,
20258
+ time: getServerTime$1().toString()
20259
+ };
20260
+ this.setUpdatedConversation(updateConOptions);
20261
+ }
20262
+ refreshLatestMessage(conOpt, message) {
20263
+ const updateConOptions = {
20264
+ conversation: conOpt,
20265
+ updatedItems: {}
20266
+ };
20267
+ updateConOptions.conversation.latestMessage = message;
20268
+ updateConOptions.updatedItems.latestMessage = {
20269
+ val: message,
20270
+ time: message.sentTime?.toString() ?? getServerTime$1().toString()
20271
+ };
20272
+ this.setUpdatedConversation(updateConOptions);
20273
+ }
20242
20274
  destroyed() {
20243
20275
  this.updatedConversationFunc = undefined;
20244
20276
  }
@@ -20291,7 +20323,10 @@
20291
20323
  return Promise.resolve();
20292
20324
  },
20293
20325
  destroyed() {},
20294
- syncConversationStatus: function () {}
20326
+ syncConversationStatus: function () {},
20327
+ remove: function (conOpt) {},
20328
+ clearHistoryMessages: function (conOpt) {},
20329
+ refreshLatestMessage: function (conOpt, message) {}
20295
20330
  };
20296
20331
  let manager$1;
20297
20332
  var ConversationManager$1 = {
@@ -28213,6 +28248,9 @@
28213
28248
  if (message.isPersited) {
28214
28249
  await ConversationManager$1.get().loadConvsationsIfNotExist([sentArgs.conversation]);
28215
28250
  }
28251
+ const conversation = ConversationManager$1.get().get(sentArgs.conversation);
28252
+ receivedMessage.burnAfterReadingFlag = conversation?.burnAfterReadingFlag ?? false;
28253
+ receivedMessage.burnAfterReadingTime = conversation?.burnAfterReadingTime ?? 0;
28216
28254
  const secretKey = await DialogSecretKey$1.getDialogAesKey(dialogId.toString());
28217
28255
  if (!secretKey) {
28218
28256
  receivedMessage.sentStatus = exports.SentStatus.FAILED;
@@ -28413,6 +28451,9 @@
28413
28451
  }, (_, outputMsgs) => {
28414
28452
  const messageList = outputMsgs.get(dialogId) ?? [];
28415
28453
  messageList.sort((e1, e2) => Long.fromString(e1.sentTime).lessThan(Long.fromString(e2.sentTime)) ? -1 : 1);
28454
+ if (options.order === 0 && !options.timestamp) {
28455
+ ConversationManager$1.get().refreshLatestMessage(conversation, messageList[messageList.length - 1]);
28456
+ }
28416
28457
  resolve({
28417
28458
  code: exports.ErrorCode.SUCCESS,
28418
28459
  data: {
@@ -28428,6 +28469,7 @@
28428
28469
  return deleteMessages$1(getFullDialogId(conversation), list.map(e => e.messageUId)).then(result => result.code);
28429
28470
  }
28430
28471
  async deleteRemoteMessageByTimestamp(conversation, timestamp) {
28472
+ ConversationManager$1.get().clearHistoryMessages(conversation);
28431
28473
  return clearHistoryMessage(getFullDialogId(conversation), timestamp === 0 ? Number.MAX_VALUE : timestamp).then(result => result.code);
28432
28474
  }
28433
28475
  async getConversationList(count, conversationType, startTime, order) {
@@ -28512,6 +28554,7 @@
28512
28554
  };
28513
28555
  }
28514
28556
  removeConversation(conversation) {
28557
+ ConversationManager$1.get().remove(conversation);
28515
28558
  return deleteDialog(getFullDialogId(conversation)).then(resp => resp.code);
28516
28559
  }
28517
28560
  getUnreadMentionedCount(conversation) {
@@ -29895,6 +29938,7 @@
29895
29938
  exports.InvitationMessage = InvitationMessage;
29896
29939
  exports.LocationMessage = LocationMessage;
29897
29940
  exports.MessageTypes = MessageTypes;
29941
+ exports.NotiMessageTypes = NotiMessageTypes;
29898
29942
  exports.PrivateCloseBurnAfterReadingMessage = PrivateCloseBurnAfterReadingMessage;
29899
29943
  exports.PrivateOpenBurnAfterReadingMessage = PrivateOpenBurnAfterReadingMessage;
29900
29944
  exports.RecallCommandMessage = RecallCommandMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "1.8.2",
3
+ "version": "1.8.4",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",
package/types/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import { BaseResp } from './net/pbs/rpc.base';
9
9
  import { IChatRecordMsgDetail } from './model/messages/otherMediaMessages';
10
10
  export { TextMessage, ImageMessage, HQVoiceMessage, GIFMessage, FileMessage, VideoMessage, RecallCommandMessage, LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage } from './model/messages';
11
11
  export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IFileMessageBody, IHQVoiceMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody, IBurnAfterReadingMessageBody } from './model/messages';
12
- export { MessageTypes } from './constants/messageTypes';
12
+ export { MessageTypes, NotiMessageTypes } from './constants/messageTypes';
13
13
  export type { IBaseMessageBody, IReceivedMessage, IReceivedConversation };
14
14
  export * from './types';
15
15
  export * from './model/statusTypes';