@onyx-p/imlib-web 1.8.4 → 1.8.6
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 +24 -7
- package/index.umd.js +24 -7
- package/package.json +1 -1
- package/types/model/iReceivedConversation.d.ts +4 -0
package/index.esm.js
CHANGED
@@ -20059,6 +20059,7 @@ class ConversationManager {
|
|
20059
20059
|
};
|
20060
20060
|
}
|
20061
20061
|
if (isPersited) {
|
20062
|
+
updateConOptions.conversation.updateTime = parseInt(message.sentTime);
|
20062
20063
|
updateConOptions.conversation.latestMessage = message;
|
20063
20064
|
updateConOptions.updatedItems.latestMessage = {
|
20064
20065
|
time: message.sentTime,
|
@@ -20261,7 +20262,7 @@ class ConversationManager {
|
|
20261
20262
|
updateConOptions.conversation.latestMessage = message;
|
20262
20263
|
updateConOptions.updatedItems.latestMessage = {
|
20263
20264
|
val: message,
|
20264
|
-
time: message
|
20265
|
+
time: message?.sentTime ?? getServerTime$1().toString()
|
20265
20266
|
};
|
20266
20267
|
this.setUpdatedConversation(updateConOptions);
|
20267
20268
|
}
|
@@ -20498,16 +20499,26 @@ const UNREADMESSAGEUIDS_KEY = 'unreadMessageUids';
|
|
20498
20499
|
class MessageReceiptManager {
|
20499
20500
|
localStore;
|
20500
20501
|
constructor(appkey, currentUserId) {
|
20501
|
-
const suffix = `receipt-${appkey}-${currentUserId}`;
|
20502
|
+
const suffix = `receipt-v2-${appkey}-${currentUserId}`;
|
20502
20503
|
this.localStore = new AppStorage(suffix);
|
20503
20504
|
}
|
20504
20505
|
storeUnreadMessageUids(messageList) {
|
20505
20506
|
const validMessages = messageList.filter(m => m.isCounted && m.messageDirection !== MessageDirection.SEND);
|
20506
|
-
const
|
20507
|
-
|
20508
|
-
|
20507
|
+
const messageUidsWithTimestamp = validMessages.map(m => ({
|
20508
|
+
uid: m.messageUId,
|
20509
|
+
timestamp: Date.now()
|
20510
|
+
}));
|
20511
|
+
const existingUidsWithTimestamp = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20512
|
+
const updatedUids = [...existingUidsWithTimestamp, ...messageUidsWithTimestamp];
|
20509
20513
|
this.localStore.set(UNREADMESSAGEUIDS_KEY, updatedUids);
|
20510
20514
|
}
|
20515
|
+
cleanExpiredMessages() {
|
20516
|
+
const storedMessages = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20517
|
+
const twoDaysInMs = 2 * 24 * 60 * 60 * 1000;
|
20518
|
+
const currentTime = Date.now();
|
20519
|
+
const filteredMessages = storedMessages.filter(item => currentTime - item.timestamp <= twoDaysInMs);
|
20520
|
+
this.localStore.set(UNREADMESSAGEUIDS_KEY, filteredMessages);
|
20521
|
+
}
|
20511
20522
|
formatReceiptMessages(messages) {
|
20512
20523
|
const privateMessages = [];
|
20513
20524
|
const groupMessages = [];
|
@@ -20569,7 +20580,7 @@ class MessageReceiptManager {
|
|
20569
20580
|
}
|
20570
20581
|
async sendReadReceipts(messageList) {
|
20571
20582
|
const storedUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20572
|
-
const validMessages = this.filterValidMessages(messageList).filter(m => storedUnreadUids.
|
20583
|
+
const validMessages = this.filterValidMessages(messageList).filter(m => storedUnreadUids.some(item => item.uid === m.messageUId));
|
20573
20584
|
try {
|
20574
20585
|
const {
|
20575
20586
|
privateReceiptMessages,
|
@@ -20587,7 +20598,7 @@ class MessageReceiptManager {
|
|
20587
20598
|
}
|
20588
20599
|
const latestUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20589
20600
|
const sentMessageUids = validMessages.map(m => m.messageUId);
|
20590
|
-
const remainingUids = latestUnreadUids.filter(
|
20601
|
+
const remainingUids = latestUnreadUids.filter(item => !sentMessageUids.includes(item.uid));
|
20591
20602
|
this.localStore.set(UNREADMESSAGEUIDS_KEY, remainingUids);
|
20592
20603
|
} catch (error) {
|
20593
20604
|
console.error('发送已读回执失败:', error);
|
@@ -28492,6 +28503,11 @@ class IMClient extends EventEmitter {
|
|
28492
28503
|
conversationType: conversationObj.conversationType,
|
28493
28504
|
targetId: conversationObj.targetId
|
28494
28505
|
};
|
28506
|
+
if (isDef(conversationObj.latestMessage)) {
|
28507
|
+
conversationObj.updateTime = parseInt(conversationObj.latestMessage.sentTime);
|
28508
|
+
} else {
|
28509
|
+
conversationObj.updateTime = (contentList[contentList.length - 1].updateTime ?? 0) + 1;
|
28510
|
+
}
|
28495
28511
|
ConversationManager$1.get().addLocalConversation(conversationObj);
|
28496
28512
|
const localConversation = ConversationManager$1.get().get(conOpt);
|
28497
28513
|
Object.assign(conversationObj, localConversation);
|
@@ -28540,6 +28556,7 @@ class IMClient extends EventEmitter {
|
|
28540
28556
|
const conversation = {
|
28541
28557
|
...conOpt,
|
28542
28558
|
...localConversation,
|
28559
|
+
updateTime: isDef(latestMessage?.sentTime) ? parseInt(latestMessage.sentTime) : undefined,
|
28543
28560
|
latestMessage: latestMessage
|
28544
28561
|
};
|
28545
28562
|
return {
|
package/index.umd.js
CHANGED
@@ -20065,6 +20065,7 @@
|
|
20065
20065
|
};
|
20066
20066
|
}
|
20067
20067
|
if (isPersited) {
|
20068
|
+
updateConOptions.conversation.updateTime = parseInt(message.sentTime);
|
20068
20069
|
updateConOptions.conversation.latestMessage = message;
|
20069
20070
|
updateConOptions.updatedItems.latestMessage = {
|
20070
20071
|
time: message.sentTime,
|
@@ -20267,7 +20268,7 @@
|
|
20267
20268
|
updateConOptions.conversation.latestMessage = message;
|
20268
20269
|
updateConOptions.updatedItems.latestMessage = {
|
20269
20270
|
val: message,
|
20270
|
-
time: message
|
20271
|
+
time: message?.sentTime ?? getServerTime$1().toString()
|
20271
20272
|
};
|
20272
20273
|
this.setUpdatedConversation(updateConOptions);
|
20273
20274
|
}
|
@@ -20504,16 +20505,26 @@
|
|
20504
20505
|
class MessageReceiptManager {
|
20505
20506
|
localStore;
|
20506
20507
|
constructor(appkey, currentUserId) {
|
20507
|
-
const suffix = `receipt-${appkey}-${currentUserId}`;
|
20508
|
+
const suffix = `receipt-v2-${appkey}-${currentUserId}`;
|
20508
20509
|
this.localStore = new AppStorage(suffix);
|
20509
20510
|
}
|
20510
20511
|
storeUnreadMessageUids(messageList) {
|
20511
20512
|
const validMessages = messageList.filter(m => m.isCounted && m.messageDirection !== exports.MessageDirection.SEND);
|
20512
|
-
const
|
20513
|
-
|
20514
|
-
|
20513
|
+
const messageUidsWithTimestamp = validMessages.map(m => ({
|
20514
|
+
uid: m.messageUId,
|
20515
|
+
timestamp: Date.now()
|
20516
|
+
}));
|
20517
|
+
const existingUidsWithTimestamp = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20518
|
+
const updatedUids = [...existingUidsWithTimestamp, ...messageUidsWithTimestamp];
|
20515
20519
|
this.localStore.set(UNREADMESSAGEUIDS_KEY, updatedUids);
|
20516
20520
|
}
|
20521
|
+
cleanExpiredMessages() {
|
20522
|
+
const storedMessages = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20523
|
+
const twoDaysInMs = 2 * 24 * 60 * 60 * 1000;
|
20524
|
+
const currentTime = Date.now();
|
20525
|
+
const filteredMessages = storedMessages.filter(item => currentTime - item.timestamp <= twoDaysInMs);
|
20526
|
+
this.localStore.set(UNREADMESSAGEUIDS_KEY, filteredMessages);
|
20527
|
+
}
|
20517
20528
|
formatReceiptMessages(messages) {
|
20518
20529
|
const privateMessages = [];
|
20519
20530
|
const groupMessages = [];
|
@@ -20575,7 +20586,7 @@
|
|
20575
20586
|
}
|
20576
20587
|
async sendReadReceipts(messageList) {
|
20577
20588
|
const storedUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20578
|
-
const validMessages = this.filterValidMessages(messageList).filter(m => storedUnreadUids.
|
20589
|
+
const validMessages = this.filterValidMessages(messageList).filter(m => storedUnreadUids.some(item => item.uid === m.messageUId));
|
20579
20590
|
try {
|
20580
20591
|
const {
|
20581
20592
|
privateReceiptMessages,
|
@@ -20593,7 +20604,7 @@
|
|
20593
20604
|
}
|
20594
20605
|
const latestUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20595
20606
|
const sentMessageUids = validMessages.map(m => m.messageUId);
|
20596
|
-
const remainingUids = latestUnreadUids.filter(
|
20607
|
+
const remainingUids = latestUnreadUids.filter(item => !sentMessageUids.includes(item.uid));
|
20597
20608
|
this.localStore.set(UNREADMESSAGEUIDS_KEY, remainingUids);
|
20598
20609
|
} catch (error) {
|
20599
20610
|
console.error('发送已读回执失败:', error);
|
@@ -28498,6 +28509,11 @@
|
|
28498
28509
|
conversationType: conversationObj.conversationType,
|
28499
28510
|
targetId: conversationObj.targetId
|
28500
28511
|
};
|
28512
|
+
if (isDef(conversationObj.latestMessage)) {
|
28513
|
+
conversationObj.updateTime = parseInt(conversationObj.latestMessage.sentTime);
|
28514
|
+
} else {
|
28515
|
+
conversationObj.updateTime = (contentList[contentList.length - 1].updateTime ?? 0) + 1;
|
28516
|
+
}
|
28501
28517
|
ConversationManager$1.get().addLocalConversation(conversationObj);
|
28502
28518
|
const localConversation = ConversationManager$1.get().get(conOpt);
|
28503
28519
|
Object.assign(conversationObj, localConversation);
|
@@ -28546,6 +28562,7 @@
|
|
28546
28562
|
const conversation = {
|
28547
28563
|
...conOpt,
|
28548
28564
|
...localConversation,
|
28565
|
+
updateTime: isDef(latestMessage?.sentTime) ? parseInt(latestMessage.sentTime) : undefined,
|
28549
28566
|
latestMessage: latestMessage
|
28550
28567
|
};
|
28551
28568
|
return {
|
package/package.json
CHANGED