@onyx-p/imlib-web 2.6.6 → 2.6.8

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.
Files changed (3) hide show
  1. package/index.esm.js +30 -25
  2. package/index.umd.js +30 -25
  3. package/package.json +9 -4
package/index.esm.js CHANGED
@@ -22053,8 +22053,7 @@ const parseMediaAttributeJson = (mediaConstructor, mediaAttribute, msgPostConten
22053
22053
  return mediaAttributeJson;
22054
22054
  };
22055
22055
  const convertInt64ToString = jsonString => {
22056
- const int64Regex = /(?<!")\b(\d{15,})\b(?!")/g;
22057
- return jsonString.replace(int64Regex, '"$1"');
22056
+ return jsonString.replace(/("[\w\d_]+"\s*:\s*)(?<!\d\.)(\d{15,})(?!\.\d*)([\s,}\]])/g, '$1"$2"$3');
22058
22057
  };
22059
22058
  const decodeChatRecordMsgDetails2ReceivedMessages = (conversationOpt, msgDetails) => {
22060
22059
  let contentList = [];
@@ -22477,32 +22476,37 @@ class MessageCache {
22477
22476
  if (!messages || messages.length === 0 || !this.db) {
22478
22477
  return;
22479
22478
  }
22480
- return new Promise((resolve, reject) => {
22481
- const transaction = this.db.transaction(this.STORE_NAME, 'readwrite');
22482
- const store = transaction.objectStore(this.STORE_NAME);
22483
- messages.forEach(message => {
22484
- const messageToStore = {
22485
- ...deepClone(message),
22486
- dialogId
22487
- };
22488
- if (messageToStore.content) {
22489
- const encryptedContent = this.encryptContent(messageToStore.content);
22490
- messageToStore.content = encryptedContent;
22491
- }
22492
- if (messageToStore.quotedReply && messageToStore.quotedReply.content) {
22493
- const encryptedReferenceContent = this.encryptContent(messageToStore.quotedReply.content);
22494
- messageToStore.quotedReply.content = encryptedReferenceContent;
22479
+ const store = this.db.transaction(this.STORE_NAME, 'readwrite').objectStore(this.STORE_NAME);
22480
+ const insertPromises = messages.map(message => {
22481
+ return new Promise(resolve => {
22482
+ try {
22483
+ const messageToStore = {
22484
+ ...deepClone(message),
22485
+ dialogId
22486
+ };
22487
+ if (messageToStore.content) {
22488
+ messageToStore.content = this.encryptContent(messageToStore.content);
22489
+ }
22490
+ if (messageToStore.quotedReply?.content) {
22491
+ messageToStore.quotedReply.content = this.encryptContent(messageToStore.quotedReply.content);
22492
+ }
22493
+ const request = store.put(messageToStore);
22494
+ request.onsuccess = () => resolve();
22495
+ request.onerror = () => {
22496
+ if (request.error) {
22497
+ logger$1.error('Failed to insert message:', messageToStore, request.error);
22498
+ } else {
22499
+ logger$1.warn('Failed to insert message:', messageToStore);
22500
+ }
22501
+ resolve();
22502
+ };
22503
+ } catch (err) {
22504
+ logger$1.error('Error during message preparation or encryption:', message, err);
22505
+ resolve();
22495
22506
  }
22496
- store.put(messageToStore);
22497
22507
  });
22498
- transaction.oncomplete = () => {
22499
- resolve();
22500
- };
22501
- transaction.onerror = event => {
22502
- logger$1.error('Failed to add messages', messages, event);
22503
- resolve();
22504
- };
22505
22508
  });
22509
+ await Promise.allSettled(insertPromises);
22506
22510
  }
22507
22511
  async getPreviousMessages(conversation, timestamp = "0", count = 20) {
22508
22512
  const dialogId = getFullDialogId(conversation);
@@ -23582,6 +23586,7 @@ class Logger {
23582
23586
  };
23583
23587
  try {
23584
23588
  if (level === LogLevel.ERROR) {
23589
+ debugger;
23585
23590
  analyticsManager.trackEvent('error_log', {
23586
23591
  timestamp: logEntry.timestamp,
23587
23592
  content: logEntry.content
package/index.umd.js CHANGED
@@ -22059,8 +22059,7 @@
22059
22059
  return mediaAttributeJson;
22060
22060
  };
22061
22061
  const convertInt64ToString = jsonString => {
22062
- const int64Regex = /(?<!")\b(\d{15,})\b(?!")/g;
22063
- return jsonString.replace(int64Regex, '"$1"');
22062
+ return jsonString.replace(/("[\w\d_]+"\s*:\s*)(?<!\d\.)(\d{15,})(?!\.\d*)([\s,}\]])/g, '$1"$2"$3');
22064
22063
  };
22065
22064
  const decodeChatRecordMsgDetails2ReceivedMessages = (conversationOpt, msgDetails) => {
22066
22065
  let contentList = [];
@@ -22483,32 +22482,37 @@
22483
22482
  if (!messages || messages.length === 0 || !this.db) {
22484
22483
  return;
22485
22484
  }
22486
- return new Promise((resolve, reject) => {
22487
- const transaction = this.db.transaction(this.STORE_NAME, 'readwrite');
22488
- const store = transaction.objectStore(this.STORE_NAME);
22489
- messages.forEach(message => {
22490
- const messageToStore = {
22491
- ...deepClone(message),
22492
- dialogId
22493
- };
22494
- if (messageToStore.content) {
22495
- const encryptedContent = this.encryptContent(messageToStore.content);
22496
- messageToStore.content = encryptedContent;
22497
- }
22498
- if (messageToStore.quotedReply && messageToStore.quotedReply.content) {
22499
- const encryptedReferenceContent = this.encryptContent(messageToStore.quotedReply.content);
22500
- messageToStore.quotedReply.content = encryptedReferenceContent;
22485
+ const store = this.db.transaction(this.STORE_NAME, 'readwrite').objectStore(this.STORE_NAME);
22486
+ const insertPromises = messages.map(message => {
22487
+ return new Promise(resolve => {
22488
+ try {
22489
+ const messageToStore = {
22490
+ ...deepClone(message),
22491
+ dialogId
22492
+ };
22493
+ if (messageToStore.content) {
22494
+ messageToStore.content = this.encryptContent(messageToStore.content);
22495
+ }
22496
+ if (messageToStore.quotedReply?.content) {
22497
+ messageToStore.quotedReply.content = this.encryptContent(messageToStore.quotedReply.content);
22498
+ }
22499
+ const request = store.put(messageToStore);
22500
+ request.onsuccess = () => resolve();
22501
+ request.onerror = () => {
22502
+ if (request.error) {
22503
+ logger$1.error('Failed to insert message:', messageToStore, request.error);
22504
+ } else {
22505
+ logger$1.warn('Failed to insert message:', messageToStore);
22506
+ }
22507
+ resolve();
22508
+ };
22509
+ } catch (err) {
22510
+ logger$1.error('Error during message preparation or encryption:', message, err);
22511
+ resolve();
22501
22512
  }
22502
- store.put(messageToStore);
22503
22513
  });
22504
- transaction.oncomplete = () => {
22505
- resolve();
22506
- };
22507
- transaction.onerror = event => {
22508
- logger$1.error('Failed to add messages', messages, event);
22509
- resolve();
22510
- };
22511
22514
  });
22515
+ await Promise.allSettled(insertPromises);
22512
22516
  }
22513
22517
  async getPreviousMessages(conversation, timestamp = "0", count = 20) {
22514
22518
  const dialogId = getFullDialogId(conversation);
@@ -23588,6 +23592,7 @@
23588
23592
  };
23589
23593
  try {
23590
23594
  if (level === exports.LogLevel.ERROR) {
23595
+ debugger;
23591
23596
  analyticsManager.trackEvent('error_log', {
23592
23597
  timestamp: logEntry.timestamp,
23593
23598
  content: logEntry.content
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "2.6.6",
3
+ "version": "2.6.8",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",
@@ -13,7 +13,12 @@
13
13
  "types/constants",
14
14
  "README.md"
15
15
  ],
16
- "keywords": ["im"],
16
+ "keywords": [
17
+ "im"
18
+ ],
17
19
  "author": "zimu",
18
- "license": "MIT"
19
- }
20
+ "license": "MIT",
21
+ "dependencies": {
22
+ "@onyx-p/imlib-web": "^2.6.7"
23
+ }
24
+ }