podchat-browser 12.7.2-snapshot.34 → 12.7.2-snapshot.35
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/changelog.md +0 -22
- package/dist/node/buildConfig.json +1 -1
- package/dist/node/chat.js +8 -9
- package/dist/podchat-browser-bundle.js +91 -248
- package/package.json +7 -7
- package/src/buildConfig.json +1 -1
- package/src/chat.js +2 -46
- package/dist/node/lib/store/eventEmitter.js +0 -24
- package/dist/node/lib/store/index.js +0 -16
- package/dist/node/lib/store/threads.js +0 -154
- package/src/lib/store/eventEmitter.js +0 -16
- package/src/lib/store/index.js +0 -9
- package/src/lib/store/threads.js +0 -134
- package/src.zip +0 -0
package/changelog.md
CHANGED
|
@@ -5,28 +5,6 @@ to see complete list of changelog please visit [ChangeLog](http://gp.fanapsoft.i
|
|
|
5
5
|
|
|
6
6
|
##[Unreleased]
|
|
7
7
|
|
|
8
|
-
## [12.7.2-snapshot.30]
|
|
9
|
-
- Updated package podasync-ws-only to version 2.9.0-snapshot.4 to fix retryStep
|
|
10
|
-
|
|
11
|
-
## [12.7.2-snapshot.29]
|
|
12
|
-
- Rollback get user on each socket reconnect to previous functionality
|
|
13
|
-
- Updated package podasync-ws-only to fix retryStep
|
|
14
|
-
|
|
15
|
-
## [12.7.2-snapshot.28]
|
|
16
|
-
- Changes to not prevent get user info requests when chat is not ready (but async is ready) Which causes faster get user on reconnects
|
|
17
|
-
|
|
18
|
-
## [12.7.2-snapshot.27]
|
|
19
|
-
- Changed functionality to get user on each socket reconnect (Temporarily)
|
|
20
|
-
- Fixed functionality of method enableParticipantsVideoReceive (Was fixed in other versions and merged here)
|
|
21
|
-
|
|
22
|
-
## [12.7.2-snapshot.26]
|
|
23
|
-
- Added additional check to make sure SDK does well even if chat server sends participant instead of participantVO in new messages or history
|
|
24
|
-
|
|
25
|
-
## [12.7.2-snapshot.24]
|
|
26
|
-
- Fixed screenShare problem
|
|
27
|
-
- Consider the call as started when SDK receives 74:START_CALL event instead of waiting for response of CREATE_SESSION
|
|
28
|
-
|
|
29
|
-
|
|
30
8
|
## [12.7.2-snapshot.0] - 2022-11-01
|
|
31
9
|
### Added
|
|
32
10
|
- Added possibility to accept incoming call while user is in an existing call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"12.7.2-snapshot.
|
|
1
|
+
{"version":"12.7.2-snapshot.35","date":"۱۴۰۲/۳/۲۰","VersionInfo":"Release: false, Snapshot: true, Is For Test: true"}
|
package/dist/node/chat.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _podasyncWsOnly=_interopRequireDefault(require("podasync-ws-only"));var _utility=_interopRequireDefault(require("./utility/utility"));var _dexie=_interopRequireDefault(require("dexie"));var _call=_interopRequireDefault(require("./call.module"));var _events=_interopRequireWildcard(require("./events.module"));var _messaging=_interopRequireDefault(require("./messaging.module"));var _buildConfig=_interopRequireDefault(require("./buildConfig.json"));var _constants=require("./lib/constants");var _deviceManager=_interopRequireDefault(require("./lib/call/deviceManager.js"));
|
|
1
|
+
'use strict';var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _podasyncWsOnly=_interopRequireDefault(require("podasync-ws-only"));var _utility=_interopRequireDefault(require("./utility/utility"));var _dexie=_interopRequireDefault(require("dexie"));var _call=_interopRequireDefault(require("./call.module"));var _events=_interopRequireWildcard(require("./events.module"));var _messaging=_interopRequireDefault(require("./messaging.module"));var _buildConfig=_interopRequireDefault(require("./buildConfig.json"));var _constants=require("./lib/constants");var _deviceManager=_interopRequireDefault(require("./lib/call/deviceManager.js"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof3(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function Chat(params){/*******************************************************
|
|
2
2
|
* P R I V A T E V A R I A B L E S *
|
|
3
3
|
*******************************************************/var asyncClient,peerId,oldPeerId,token=params.token||"111",generalTypeCode=params.typeCode||'default',typeCodeOwnerId=params.typeCodeOwnerId||null,mapApiKey=params.mapApiKey||'8b77db18704aa646ee5aaea13e7370f4f88b9e8c',deviceId,productEnv=typeof navigator!='undefined'?navigator.product:'undefined',db,queueDb,forceWaitQueueInMemory=params.forceWaitQueueInMemory&&typeof params.forceWaitQueueInMemory==='boolean'?params.forceWaitQueueInMemory:false,hasCache=productEnv!=='ReactNative'&&typeof _dexie["default"]!='undefined',cacheInMemory=forceWaitQueueInMemory?true:!hasCache,enableCache=params.enableCache&&typeof params.enableCache==='boolean'?params.enableCache:false,canUseCache=hasCache&&enableCache,isCacheReady=false,cacheDeletingInProgress=false,cacheExpireTime=params.cacheExpireTime||2*24*60*60*1000,cacheSecret='VjaaS9YxNdVVAd3cAsRPcU5FyxRcyyV6tG6bFGjjK5RV8JJjLrXNbS5zZxnqUT6Y',cacheSyncWorker,grantDeviceIdFromSSO=params.grantDeviceIdFromSSO&&typeof params.grantDeviceIdFromSSO==='boolean'?params.grantDeviceIdFromSSO:false,messagesDelivery={},messagesSeen={},deliveryInterval,deliveryIntervalPitch=params.deliveryIntervalPitch||2000,seenInterval,seenIntervalPitch=params.seenIntervalPitch||2000,getImageFromLinkObjects={},locationPingTypes={'CHAT':1,'THREAD':2,'CONTACTS':3},systemMessageIntervalPitch=params.systemMessageIntervalPitch||1000,isTypingInterval,protocol=params.protocol||'websocket',queueHost=params.queueHost,queuePort=params.queuePort,queueUsername=params.queueUsername,queuePassword=params.queuePassword,queueReceive=params.queueReceive,queueSend=params.queueSend,queueConnectionTimeout=params.queueConnectionTimeout,socketAddress=params.socketAddress,serverName=params.serverName||'',wsConnectionWaitTime=params.wsConnectionWaitTime,connectionRetryInterval=params.connectionRetryInterval,msgPriority=params.msgPriority||1,messageTtl=params.messageTtl||10000,reconnectOnClose=params.reconnectOnClose,asyncLogging=params.asyncLogging,chatPingMessageInterval=20000,getUserInfoTimeout,config={getHistoryCount:50},SERVICE_ADDRESSES={SSO_ADDRESS:params.ssoHost||'https://accounts.pod.ir',PLATFORM_ADDRESS:params.platformHost||'https://api.pod.ir/srv/core',FILESERVER_ADDRESS:params.fileServer||'https://core.pod.ir',PODSPACE_FILESERVER_ADDRESS:params.podSpaceFileServer||'https://podspace.pod.ir',MAP_ADDRESS:params.mapServer||'https://api.neshan.org/v2'},SERVICES_PATH={// Grant Devices
|
|
4
4
|
SSO_DEVICES:'/oauth2/grants/devices',SSO_GENERATE_KEY:'/handshake/users/',SSO_GET_KEY:'/handshake/keys/',// Contacts
|
|
@@ -317,7 +317,7 @@ sendMessageCallbacksHandler(_constants.chatMessageVOTypes.DELIVERY,threadId,uniq
|
|
|
317
317
|
* Type 28 Edit Message
|
|
318
318
|
*/case _constants.chatMessageVOTypes.EDIT_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}chatEditMessageHandler(threadId,messageContent);break;/**
|
|
319
319
|
* Type 29 Delete Message
|
|
320
|
-
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}
|
|
320
|
+
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}if(messageContent.pinned){unPinMessage({messageId:messageContent.id,notifyAll:true});}/**
|
|
321
321
|
* Remove Message from cache
|
|
322
322
|
*/if(canUseCache&&cacheSecret.length>0){if(db){db.messages.where('id').equals(messageContent).and(function(message){return message.owner===chatMessaging.userInfo.id;})["delete"]()["catch"](function(error){_events.chatEvents.fireEvent('error',{code:6602,message:CHAT_ERRORS[6602],error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}if(fullResponseObject){var time,timeMiliSeconds;if(messageContent.time.toString().length>14){time=messageContent.time;timeMiliSeconds=parseInt(messageContent.time/1000000);}else{time=messageContent.timeNanos?parseInt(parseInt(messageContent.time)/1000)*1000000000+parseInt(messageContent.timeNanos):parseInt(pushMessageVO.time);timeMiliSeconds=parseInt(messageContent.time);}getThreads({threadIds:[threadId]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_DELETE',result:{message:{id:messageContent.id,pinned:messageContent.pinned,threadId:threadId,time:time,timeMiliSeconds:timeMiliSeconds,timeNanos:messageContent.timeNanos}}});if(messageContent.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threads[0]}});}}});}else{_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_DELETE',result:{message:{id:messageContent.id,pinned:messageContent.pinned,threadId:threadId,time:time,timeMiliSeconds:timeMiliSeconds,timeNanos:messageContent.timeNanos}}});if(messageContent.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadId}});}}break;/**
|
|
323
323
|
* Type 30 Thread Info Updated
|
|
@@ -370,7 +370,7 @@ var thread=formatDataToMakeConversation(messageContent);/**
|
|
|
370
370
|
// }
|
|
371
371
|
_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});break;/**
|
|
372
372
|
* Type 31 Thread Last Seen Updated
|
|
373
|
-
*/case _constants.chatMessageVOTypes.LAST_SEEN_UPDATED:var threadObject=messageContent;threadObject.unreadCount=messageContent.unreadCount?messageContent.unreadCount:0;
|
|
373
|
+
*/case _constants.chatMessageVOTypes.LAST_SEEN_UPDATED:var threadObject=messageContent;threadObject.unreadCount=messageContent.unreadCount?messageContent.unreadCount:0;_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_SEEN_UPDATED',result:{thread:threadObject,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});// if (fullResponseObject) {
|
|
374
374
|
// getThreads({
|
|
375
375
|
// threadIds: [messageContent.id]
|
|
376
376
|
// }, function (threadsResult) {
|
|
@@ -459,7 +459,7 @@ break;/**
|
|
|
459
459
|
* Type 65 Stop Bot
|
|
460
460
|
*/case _constants.chatMessageVOTypes.STOP_BOT:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}break;/**
|
|
461
461
|
* Type 66 Last Message Deleted
|
|
462
|
-
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_DELETED:
|
|
462
|
+
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_DELETED:new Promise(function(resolve,reject){if(fullResponseObject){getThreads({threadIds:[messageContent.id]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){resolve(threads[0]);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:threads[0]}});}});}else{var thread=formatDataToMakeConversation(messageContent);resolve(thread);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});}}).then(function(thread){if(typeof messageContent.unreadCount!=="undefined"){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:thread,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});}});break;/**
|
|
463
463
|
* Type 67 Last Message Edited
|
|
464
464
|
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_EDITED:if(fullResponseObject){getThreads({threadIds:[messageContent.id]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:threads[0]}});}});}else{var thread=formatDataToMakeConversation(messageContent);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});}break;/**
|
|
465
465
|
* Type 68 Get Bot Commands List
|
|
@@ -567,8 +567,7 @@ break;/**
|
|
|
567
567
|
*/if(canUseCache&&cacheSecret.length>0){if(db){/**
|
|
568
568
|
* Insert new messages into cache database
|
|
569
569
|
* after deleting old messages from cache
|
|
570
|
-
*/var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=parseInt(message.id);tempData.owner=parseInt(chatMessaging.userInfo.id);tempData.threadId=parseInt(message.threadId);tempData.time=message.time;tempData.message=_utility["default"].crypt(message.message,cacheSecret,salt);tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(message)),cacheSecret,salt);tempData.salt=salt;tempData.sendStatus='sent';}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_NEW',cache:false,result:{message:message}});var threadObject=message.conversation;var lastMessageVoCopy=Object.assign({},message);lastMessageVoCopy.conversation&&delete lastMessageVoCopy.conversation;threadObject.lastParticipantImage=!!message.participant&&message.participant.hasOwnProperty('image')?message.participant.image:'';threadObject.lastMessageVO=lastMessageVoCopy;threadObject.lastParticipantName=!!message.participant&&message.participant.hasOwnProperty('name')?message.participant.name:'';threadObject.lastMessage=message.hasOwnProperty('message')?message.message:'';_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:threadObject.unreadCount?threadObject.unreadCount:0}});
|
|
571
|
-
if(message.ownerId!=chatMessaging.userInfo.id){if(unreadCount){storeThread.unreadCount.set(unreadCount);}else{if(!storeThread.unreadCount.get())storeThread.unreadCount.set(1);else storeThread.unreadCount.increase();}}else{storeThread.unreadCount.set(0);}_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadObject}});// if (fullResponseObject) {
|
|
570
|
+
*/var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=parseInt(message.id);tempData.owner=parseInt(chatMessaging.userInfo.id);tempData.threadId=parseInt(message.threadId);tempData.time=message.time;tempData.message=_utility["default"].crypt(message.message,cacheSecret,salt);tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(message)),cacheSecret,salt);tempData.salt=salt;tempData.sendStatus='sent';}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_NEW',cache:false,result:{message:message}});var threadObject=message.conversation;var lastMessageVoCopy=Object.assign({},message);lastMessageVoCopy.conversation&&delete lastMessageVoCopy.conversation;threadObject.lastParticipantImage=!!message.participant&&message.participant.hasOwnProperty('image')?message.participant.image:'';threadObject.lastMessageVO=lastMessageVoCopy;threadObject.lastParticipantName=!!message.participant&&message.participant.hasOwnProperty('name')?message.participant.name:'';threadObject.lastMessage=message.hasOwnProperty('message')?message.message:'';_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:threadObject.unreadCount?threadObject.unreadCount:0}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadObject}});// if (fullResponseObject) {
|
|
572
571
|
// getThreads({
|
|
573
572
|
// threadIds: [threadId]
|
|
574
573
|
// }, function (threadsResult) {
|
|
@@ -931,7 +930,7 @@ return JSON.parse(JSON.stringify(message));},/**
|
|
|
931
930
|
* - sender {int}
|
|
932
931
|
* - text {string}
|
|
933
932
|
* - notifyAll {boolean}
|
|
934
|
-
*/var pinMessage={threadId:threadId,time:pushMessageVO.time,sender:pushMessageVO.sender,messageId:pushMessageVO.messageId,text:pushMessageVO.text
|
|
933
|
+
*/var pinMessage={threadId:threadId,time:pushMessageVO.time,sender:pushMessageVO.sender,messageId:pushMessageVO.messageId,text:pushMessageVO.text};if(typeof pushMessageVO.notifyAll==='boolean'){pinMessage.notifyAll=pushMessageVO.notifyAll;}// return pinMessage;
|
|
935
934
|
return JSON.parse(JSON.stringify(pinMessage));},/**
|
|
936
935
|
* Reformat Thread History
|
|
937
936
|
*
|
|
@@ -1003,7 +1002,7 @@ content:content};/**
|
|
|
1003
1002
|
*/if(functionLevelCache&&canUseCache&&cacheSecret.length>0){if(db){var thenAble;if(Object.keys(whereClause).length===0){thenAble=db.threads.where('[owner+time]').between([chatMessaging.userInfo.id,minIntegerValue],[chatMessaging.userInfo.id,maxIntegerValue*1000]).reverse();}else{if(whereClause.hasOwnProperty('threadIds')){thenAble=db.threads.where('id').anyOf(whereClause.threadIds).and(function(thread){return thread.owner===chatMessaging.userInfo.id;});}if(whereClause.hasOwnProperty('name')){thenAble=db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).filter(function(thread){var reg=new RegExp(whereClause.name);return reg.test(chatDecrypt(thread.title,cacheSecret,thread.salt));});}if(whereClause.hasOwnProperty('creatorCoreUserId')){thenAble=db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).filter(function(thread){var threadObject=JSON.parse(chatDecrypt(thread.data,cacheSecret,thread.salt),false);return parseInt(threadObject.inviter.coreUserId)===parseInt(whereClause.creatorCoreUserId);});}}thenAble.offset(offset).limit(count).toArray().then(function(threads){db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).count().then(function(threadsCount){var cacheData=[];for(var i=0;i<threads.length;i++){try{cacheData.push(createThread(JSON.parse(chatDecrypt(threads[i].data,cacheSecret,threads[i].salt)),false));}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}}var returnData={hasError:false,cache:true,errorCode:0,errorMessage:'',result:{threads:cacheData,contentCount:threadsCount,hasNext:!(threads.length<count),nextOffset:offset*1+threads.length}};if(cacheData.length>0){callback&&callback(returnData);callback=undefined;returnCache=true;}});})["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}/**
|
|
1004
1003
|
* Retrive get threads response from server
|
|
1005
1004
|
*/return chatMessaging.sendMessage(sendMessageParams,{onResult:function onResult(result){var returnData={hasError:result.hasError,cache:false,errorMessage:result.errorMessage,errorCode:result.errorCode,uniqueId:result.uniqueId};if(!returnData.hasError){var messageContent=result.result,messageLength=messageContent.length,resultData={threads:[],contentCount:result.contentCount,hasNext:messageContent&&!(messageLength<count),//(offset + count < result.contentCount && messageLength > 0),
|
|
1006
|
-
nextOffset:offset*1+messageLength*1},threadData;for(var i=0;i<messageLength;i++){threadData=createThread(messageContent[i],false);if(threadData){resultData.threads.push(threadData);}}
|
|
1005
|
+
nextOffset:offset*1+messageLength*1},threadData;for(var i=0;i<messageLength;i++){threadData=createThread(messageContent[i],false);if(threadData){resultData.threads.push(threadData);}}returnData.result=resultData;/**
|
|
1007
1006
|
* Updating cache on separated worker to find and
|
|
1008
1007
|
* delete all messages that have been deleted from
|
|
1009
1008
|
* thread's last section
|
|
@@ -2178,6 +2177,6 @@ pc.onicecandidate=function(ice){//listen for candidate events
|
|
|
2178
2177
|
if(promiseResolved||!ice||!ice.candidate||!ice.candidate.candidate||!(ice.candidate.candidate.indexOf('typ relay')>-1))return;promiseResolved=true;resolve(true);};});};publicized.getCustomerInfo=function(params,callback){var userId=params.userId||chatMessaging.userInfo.id,sendData={chatMessageVOType:_constants.chatMessageVOTypes.CUSTOMER_INFO,typeCode:generalTypeCode,//params.typeCode,
|
|
2179
2178
|
content:[userId],token:token};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.archiveThread=function(_ref,callback){var threadId=_ref.threadId;var sendData={chatMessageVOType:_constants.chatMessageVOTypes.ARCHIVE_THREAD,typeCode:generalTypeCode,//params.typeCode,
|
|
2180
2179
|
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.unArchiveThread=function(_ref2,callback){var threadId=_ref2.threadId;var sendData={chatMessageVOType:_constants.chatMessageVOTypes.UNARCHIVE_THREAD,typeCode:generalTypeCode,//params.typeCode,
|
|
2181
|
-
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.version=function(){console.log("%c[SDK] Version: podchat-browser@"+_buildConfig["default"].version,"color:green; font-size:13px");console.log("%c[SDK] Build date:"+_buildConfig["default"].date,"color:green;font-size:13px");console.log("%c[SDK] Additional info: "+_buildConfig["default"].VersionInfo,"color:green;font-size:13px");return _buildConfig["default"];};publicized.changeProtocol=function(){var proto=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"websocket";if(["webrtc","websocket"].includes(proto)){if(proto!=protocol){protocol=proto.toLowerCase();asyncClient.logout();initAsync();}else{console.warn("SDK is currently using the ".concat(proto," protocol. Nothing to do."));}}else{console.error("Protocol ".concat(proto," is not supported in SDK. Valid protocols: \"webrtc\", \"websocket\""));}};
|
|
2180
|
+
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.version=function(){console.log("%c[SDK] Version: podchat-browser@"+_buildConfig["default"].version,"color:green; font-size:13px");console.log("%c[SDK] Build date:"+_buildConfig["default"].date,"color:green;font-size:13px");console.log("%c[SDK] Additional info: "+_buildConfig["default"].VersionInfo,"color:green;font-size:13px");return _buildConfig["default"];};publicized.changeProtocol=function(){var proto=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"websocket";if(["webrtc","websocket"].includes(proto)){if(proto!=protocol){protocol=proto.toLowerCase();asyncClient.logout();initAsync();}else{console.warn("SDK is currently using the ".concat(proto," protocol. Nothing to do."));}}else{console.error("Protocol ".concat(proto," is not supported in SDK. Valid protocols: \"webrtc\", \"websocket\""));}};init();return publicized;}if(window){if(!window.POD){window.POD={};}window.POD.Chat=Chat;//For backward compatibility
|
|
2182
2181
|
window.PodChat=Chat;}var _default=Chat;// })();
|
|
2183
2182
|
exports["default"]=_default;
|
|
@@ -39064,7 +39064,8 @@ module.exports = function (thing, encoding, name) {
|
|
|
39064
39064
|
message: {},
|
|
39065
39065
|
asyncReady: {},
|
|
39066
39066
|
stateChange: {},
|
|
39067
|
-
error: {}
|
|
39067
|
+
error: {},
|
|
39068
|
+
msgLogs: {}
|
|
39068
39069
|
},
|
|
39069
39070
|
ackCallback = {},
|
|
39070
39071
|
socket,
|
|
@@ -39419,6 +39420,11 @@ module.exports = function (thing, encoding, name) {
|
|
|
39419
39420
|
});
|
|
39420
39421
|
},
|
|
39421
39422
|
handleSocketMessage = function (msg) {
|
|
39423
|
+
fireEvent("msgLogs", {
|
|
39424
|
+
msg,
|
|
39425
|
+
direction: "receive",
|
|
39426
|
+
time: new Date().getTime()
|
|
39427
|
+
});
|
|
39422
39428
|
var ack;
|
|
39423
39429
|
if (msg.type === asyncMessageType.MESSAGE_ACK_NEEDED || msg.type === asyncMessageType.MESSAGE_SENDER_ACK_NEEDED) {
|
|
39424
39430
|
ack = function () {
|
|
@@ -39613,6 +39619,11 @@ module.exports = function (thing, encoding, name) {
|
|
|
39613
39619
|
}
|
|
39614
39620
|
},
|
|
39615
39621
|
pushSendData = function (msg) {
|
|
39622
|
+
fireEvent("msgLogs", {
|
|
39623
|
+
msg,
|
|
39624
|
+
direction: "send",
|
|
39625
|
+
time: new Date().getTime()
|
|
39626
|
+
});
|
|
39616
39627
|
if (onSendLogging) {
|
|
39617
39628
|
asyncLogger('Send', msg);
|
|
39618
39629
|
}
|
|
@@ -39735,7 +39746,7 @@ module.exports = function (thing, encoding, name) {
|
|
|
39735
39746
|
peerId: peerId
|
|
39736
39747
|
});
|
|
39737
39748
|
socketReconnectRetryInterval && clearTimeout(socketReconnectRetryInterval);
|
|
39738
|
-
socket.close();
|
|
39749
|
+
socket && socket.close();
|
|
39739
39750
|
break;
|
|
39740
39751
|
case 'webrtc':
|
|
39741
39752
|
socketState = socketStateType.CLOSED;
|
|
@@ -39747,7 +39758,7 @@ module.exports = function (thing, encoding, name) {
|
|
|
39747
39758
|
peerId: peerId
|
|
39748
39759
|
});
|
|
39749
39760
|
socketReconnectRetryInterval && clearTimeout(socketReconnectRetryInterval);
|
|
39750
|
-
webRTCClass.close();
|
|
39761
|
+
webRTCClass && webRTCClass.close();
|
|
39751
39762
|
break;
|
|
39752
39763
|
}
|
|
39753
39764
|
};
|
|
@@ -39774,7 +39785,7 @@ module.exports = function (thing, encoding, name) {
|
|
|
39774
39785
|
reconnOnClose.set(false);
|
|
39775
39786
|
// reconnectOnClose = false;
|
|
39776
39787
|
|
|
39777
|
-
socket.close();
|
|
39788
|
+
socket && socket.close();
|
|
39778
39789
|
break;
|
|
39779
39790
|
case 'webrtc':
|
|
39780
39791
|
socketState = socketStateType.CLOSED;
|
|
@@ -39787,7 +39798,7 @@ module.exports = function (thing, encoding, name) {
|
|
|
39787
39798
|
});
|
|
39788
39799
|
reconnOnClose.set(false);
|
|
39789
39800
|
// reconnectOnClose = false;
|
|
39790
|
-
webRTCClass.close();
|
|
39801
|
+
webRTCClass && webRTCClass.close();
|
|
39791
39802
|
break;
|
|
39792
39803
|
}
|
|
39793
39804
|
};
|
|
@@ -39806,7 +39817,7 @@ module.exports = function (thing, encoding, name) {
|
|
|
39806
39817
|
peerId: peerId
|
|
39807
39818
|
});
|
|
39808
39819
|
socketReconnectRetryInterval && clearTimeout(socketReconnectRetryInterval);
|
|
39809
|
-
if (protocol === "websocket") socket.close();else if (protocol == "webrtc") webRTCClass.close();
|
|
39820
|
+
if (protocol === "websocket") socket && socket.close();else if (protocol == "webrtc") webRTCClass && webRTCClass.close();
|
|
39810
39821
|
|
|
39811
39822
|
// let tmpReconnectOnClose = reconnectOnClose;
|
|
39812
39823
|
// reconnectOnClose = false;
|
|
@@ -40306,12 +40317,14 @@ let dataChannelCallbacks = {
|
|
|
40306
40317
|
},
|
|
40307
40318
|
onmessage: function (event) {
|
|
40308
40319
|
variables.pingController.resetPingLoop();
|
|
40309
|
-
|
|
40310
|
-
|
|
40311
|
-
|
|
40320
|
+
decompressResponse(event.data).then(result => {
|
|
40321
|
+
var messageData = JSON.parse(result);
|
|
40322
|
+
console.log("[Async][WebRTC] Receive ", result);
|
|
40323
|
+
eventCallback["message"](messageData);
|
|
40324
|
+
});
|
|
40312
40325
|
},
|
|
40313
40326
|
onerror: function (error) {
|
|
40314
|
-
logLevel.debug && console.debug("[Async][Socket.js] dataChannel.onerror happened. EventData:", event);
|
|
40327
|
+
defaultConfig.logLevel.debug && console.debug("[Async][Socket.js] dataChannel.onerror happened. EventData:", event);
|
|
40315
40328
|
eventCallback["error"](event);
|
|
40316
40329
|
},
|
|
40317
40330
|
onclose: function (event) {
|
|
@@ -40442,9 +40455,9 @@ function resetVariables() {
|
|
|
40442
40455
|
console.log("resetVariables");
|
|
40443
40456
|
eventCallback["close"]();
|
|
40444
40457
|
variables.pingController.stopPingLoop();
|
|
40445
|
-
variables.dataChannel.close();
|
|
40458
|
+
variables.dataChannel && variables.dataChannel.close();
|
|
40446
40459
|
variables.dataChannel = null;
|
|
40447
|
-
variables.peerConnection.close();
|
|
40460
|
+
variables.peerConnection && variables.peerConnection.close();
|
|
40448
40461
|
variables.peerConnection = null;
|
|
40449
40462
|
variables.candidatesQueue = [];
|
|
40450
40463
|
variables.clientId = null;
|
|
@@ -40492,6 +40505,59 @@ let publicized = {
|
|
|
40492
40505
|
resetVariables();
|
|
40493
40506
|
}
|
|
40494
40507
|
};
|
|
40508
|
+
|
|
40509
|
+
/**
|
|
40510
|
+
* Decompress results
|
|
40511
|
+
*/
|
|
40512
|
+
function decompress(byteArray, encoding) {
|
|
40513
|
+
const cs = new DecompressionStream(encoding);
|
|
40514
|
+
const writer = cs.writable.getWriter();
|
|
40515
|
+
writer.write(byteArray);
|
|
40516
|
+
writer.close();
|
|
40517
|
+
return new Response(cs.readable).arrayBuffer().then(function (arrayBuffer) {
|
|
40518
|
+
return new TextDecoder().decode(arrayBuffer);
|
|
40519
|
+
});
|
|
40520
|
+
}
|
|
40521
|
+
async function decompressResponse(compressedData) {
|
|
40522
|
+
return await decompress(_base64UrlToArrayBuffer(compressedData), 'gzip');
|
|
40523
|
+
}
|
|
40524
|
+
|
|
40525
|
+
//utility
|
|
40526
|
+
|
|
40527
|
+
/**
|
|
40528
|
+
* Array buffer to base64Url string
|
|
40529
|
+
* - arrBuff->byte[]->biStr->b64->b64u
|
|
40530
|
+
* @param arrayBuffer
|
|
40531
|
+
* @returns {string}
|
|
40532
|
+
* @private
|
|
40533
|
+
*/
|
|
40534
|
+
function _arrayBufferToBase64Url(arrayBuffer) {
|
|
40535
|
+
console.log('base64Url from array buffer:', arrayBuffer);
|
|
40536
|
+
let base64Url = window.btoa(String.fromCodePoint(...new Uint8Array(arrayBuffer)));
|
|
40537
|
+
base64Url = base64Url.replaceAll('+', '-');
|
|
40538
|
+
base64Url = base64Url.replaceAll('/', '_');
|
|
40539
|
+
console.log('base64Url:', base64Url);
|
|
40540
|
+
return base64Url;
|
|
40541
|
+
}
|
|
40542
|
+
|
|
40543
|
+
/**
|
|
40544
|
+
* Base64Url string to array buffer
|
|
40545
|
+
* - b64u->b64->biStr->byte[]->arrBuff
|
|
40546
|
+
* @param base64Url
|
|
40547
|
+
* @returns {ArrayBufferLike}
|
|
40548
|
+
* @private
|
|
40549
|
+
*/
|
|
40550
|
+
function _base64UrlToArrayBuffer(base64) {
|
|
40551
|
+
console.log('array buffer from base64Url:', base64);
|
|
40552
|
+
const binaryString = window.atob(base64);
|
|
40553
|
+
const length = binaryString.length;
|
|
40554
|
+
const bytes = new Uint8Array(length);
|
|
40555
|
+
for (let i = 0; i < length; i++) {
|
|
40556
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
40557
|
+
}
|
|
40558
|
+
console.log('array buffer:', bytes.buffer);
|
|
40559
|
+
return bytes.buffer;
|
|
40560
|
+
}
|
|
40495
40561
|
module.exports = WebRTCClass;
|
|
40496
40562
|
},{}],212:[function(require,module,exports){
|
|
40497
40563
|
function LogLevel(logLevel) {
|
|
@@ -45793,7 +45859,7 @@ WildEmitter.mixin = function (constructor) {
|
|
|
45793
45859
|
WildEmitter.mixin(WildEmitter);
|
|
45794
45860
|
|
|
45795
45861
|
},{}],267:[function(require,module,exports){
|
|
45796
|
-
module.exports={"version":"12.7.2-snapshot.
|
|
45862
|
+
module.exports={"version":"12.7.2-snapshot.35","date":"۱۴۰۲/۳/۲۰","VersionInfo":"Release: false, Snapshot: true, Is For Test: true"}
|
|
45797
45863
|
},{}],268:[function(require,module,exports){
|
|
45798
45864
|
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _constants=require("./lib/constants");var _kurentoUtils=_interopRequireDefault(require("kurento-utils"));var _utility=_interopRequireDefault(require("./utility/utility"));var _eventsModule=require("./events.module.js");var _deviceManager=_interopRequireDefault(require("./lib/call/deviceManager.js"));var _errorHandler=_interopRequireWildcard(require("./lib/errorHandler"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof3(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function ChatCall(params){var _params$asyncLogging,_params$asyncLogging2,_params$asyncLogging3,_params$callOptions,_params$callOptions2;var//Utility = params.Utility,
|
|
45799
45865
|
currentModuleInstance=this,asyncClient=params.asyncClient,//chatEvents = params.chatEvents,
|
|
@@ -46535,8 +46601,8 @@ invitees.forEach(function(item){item.idType=_constants.inviteeVOidTypes[item.idT
|
|
|
46535
46601
|
}
|
|
46536
46602
|
}*/return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};this.deviceManager=_deviceManager["default"];this.resetCallStream=function(_ref9,callback){var userId=_ref9.userId,_ref9$streamType=_ref9.streamType,streamType=_ref9$streamType===void 0?'audio':_ref9$streamType;return new Promise(function(resolve,reject){if(userId==='screenShare'||streamType==='video'){if(callUsers[userId]){callUsers[userId].videoTopicManager.recreateTopic().then(function(){resolve();callback&&callback({hasError:false});})["catch"](function(){reject();callback&&callback({hasError:true});});}}else{callUsers[userId].audioTopicManager.recreateTopic().then(function(){resolve();callback&&callback({hasError:false});})["catch"](function(){reject();callback&&callback({hasError:true});});}});};this.callStop=callStop;this.restartMedia=restartMedia;}var _default=ChatCall;exports["default"]=_default;
|
|
46537
46603
|
|
|
46538
|
-
},{"./events.module.js":270,"./lib/call/deviceManager.js":271,"./lib/constants":272,"./lib/errorHandler":273,"./utility/utility":
|
|
46539
|
-
'use strict';var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _podasyncWsOnly=_interopRequireDefault(require("podasync-ws-only"));var _utility=_interopRequireDefault(require("./utility/utility"));var _dexie=_interopRequireDefault(require("dexie"));var _call=_interopRequireDefault(require("./call.module"));var _events=_interopRequireWildcard(require("./events.module"));var _messaging=_interopRequireDefault(require("./messaging.module"));var _buildConfig=_interopRequireDefault(require("./buildConfig.json"));var _constants=require("./lib/constants");var _deviceManager=_interopRequireDefault(require("./lib/call/deviceManager.js"));
|
|
46604
|
+
},{"./events.module.js":270,"./lib/call/deviceManager.js":271,"./lib/constants":272,"./lib/errorHandler":273,"./utility/utility":275,"@babel/runtime/helpers/asyncToGenerator":3,"@babel/runtime/helpers/interopRequireDefault":5,"@babel/runtime/helpers/toConsumableArray":9,"@babel/runtime/helpers/typeof":10,"@babel/runtime/regenerator":12,"kurento-utils":190}],269:[function(require,module,exports){
|
|
46605
|
+
'use strict';var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _podasyncWsOnly=_interopRequireDefault(require("podasync-ws-only"));var _utility=_interopRequireDefault(require("./utility/utility"));var _dexie=_interopRequireDefault(require("dexie"));var _call=_interopRequireDefault(require("./call.module"));var _events=_interopRequireWildcard(require("./events.module"));var _messaging=_interopRequireDefault(require("./messaging.module"));var _buildConfig=_interopRequireDefault(require("./buildConfig.json"));var _constants=require("./lib/constants");var _deviceManager=_interopRequireDefault(require("./lib/call/deviceManager.js"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof3(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function Chat(params){/*******************************************************
|
|
46540
46606
|
* P R I V A T E V A R I A B L E S *
|
|
46541
46607
|
*******************************************************/var asyncClient,peerId,oldPeerId,token=params.token||"111",generalTypeCode=params.typeCode||'default',typeCodeOwnerId=params.typeCodeOwnerId||null,mapApiKey=params.mapApiKey||'8b77db18704aa646ee5aaea13e7370f4f88b9e8c',deviceId,productEnv=typeof navigator!='undefined'?navigator.product:'undefined',db,queueDb,forceWaitQueueInMemory=params.forceWaitQueueInMemory&&typeof params.forceWaitQueueInMemory==='boolean'?params.forceWaitQueueInMemory:false,hasCache=productEnv!=='ReactNative'&&typeof _dexie["default"]!='undefined',cacheInMemory=forceWaitQueueInMemory?true:!hasCache,enableCache=params.enableCache&&typeof params.enableCache==='boolean'?params.enableCache:false,canUseCache=hasCache&&enableCache,isCacheReady=false,cacheDeletingInProgress=false,cacheExpireTime=params.cacheExpireTime||2*24*60*60*1000,cacheSecret='VjaaS9YxNdVVAd3cAsRPcU5FyxRcyyV6tG6bFGjjK5RV8JJjLrXNbS5zZxnqUT6Y',cacheSyncWorker,grantDeviceIdFromSSO=params.grantDeviceIdFromSSO&&typeof params.grantDeviceIdFromSSO==='boolean'?params.grantDeviceIdFromSSO:false,messagesDelivery={},messagesSeen={},deliveryInterval,deliveryIntervalPitch=params.deliveryIntervalPitch||2000,seenInterval,seenIntervalPitch=params.seenIntervalPitch||2000,getImageFromLinkObjects={},locationPingTypes={'CHAT':1,'THREAD':2,'CONTACTS':3},systemMessageIntervalPitch=params.systemMessageIntervalPitch||1000,isTypingInterval,protocol=params.protocol||'websocket',queueHost=params.queueHost,queuePort=params.queuePort,queueUsername=params.queueUsername,queuePassword=params.queuePassword,queueReceive=params.queueReceive,queueSend=params.queueSend,queueConnectionTimeout=params.queueConnectionTimeout,socketAddress=params.socketAddress,serverName=params.serverName||'',wsConnectionWaitTime=params.wsConnectionWaitTime,connectionRetryInterval=params.connectionRetryInterval,msgPriority=params.msgPriority||1,messageTtl=params.messageTtl||10000,reconnectOnClose=params.reconnectOnClose,asyncLogging=params.asyncLogging,chatPingMessageInterval=20000,getUserInfoTimeout,config={getHistoryCount:50},SERVICE_ADDRESSES={SSO_ADDRESS:params.ssoHost||'https://accounts.pod.ir',PLATFORM_ADDRESS:params.platformHost||'https://api.pod.ir/srv/core',FILESERVER_ADDRESS:params.fileServer||'https://core.pod.ir',PODSPACE_FILESERVER_ADDRESS:params.podSpaceFileServer||'https://podspace.pod.ir',MAP_ADDRESS:params.mapServer||'https://api.neshan.org/v2'},SERVICES_PATH={// Grant Devices
|
|
46542
46608
|
SSO_DEVICES:'/oauth2/grants/devices',SSO_GENERATE_KEY:'/handshake/users/',SSO_GET_KEY:'/handshake/keys/',// Contacts
|
|
@@ -46855,7 +46921,7 @@ sendMessageCallbacksHandler(_constants.chatMessageVOTypes.DELIVERY,threadId,uniq
|
|
|
46855
46921
|
* Type 28 Edit Message
|
|
46856
46922
|
*/case _constants.chatMessageVOTypes.EDIT_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}chatEditMessageHandler(threadId,messageContent);break;/**
|
|
46857
46923
|
* Type 29 Delete Message
|
|
46858
|
-
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}
|
|
46924
|
+
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}if(messageContent.pinned){unPinMessage({messageId:messageContent.id,notifyAll:true});}/**
|
|
46859
46925
|
* Remove Message from cache
|
|
46860
46926
|
*/if(canUseCache&&cacheSecret.length>0){if(db){db.messages.where('id').equals(messageContent).and(function(message){return message.owner===chatMessaging.userInfo.id;})["delete"]()["catch"](function(error){_events.chatEvents.fireEvent('error',{code:6602,message:CHAT_ERRORS[6602],error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}if(fullResponseObject){var time,timeMiliSeconds;if(messageContent.time.toString().length>14){time=messageContent.time;timeMiliSeconds=parseInt(messageContent.time/1000000);}else{time=messageContent.timeNanos?parseInt(parseInt(messageContent.time)/1000)*1000000000+parseInt(messageContent.timeNanos):parseInt(pushMessageVO.time);timeMiliSeconds=parseInt(messageContent.time);}getThreads({threadIds:[threadId]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_DELETE',result:{message:{id:messageContent.id,pinned:messageContent.pinned,threadId:threadId,time:time,timeMiliSeconds:timeMiliSeconds,timeNanos:messageContent.timeNanos}}});if(messageContent.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threads[0]}});}}});}else{_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_DELETE',result:{message:{id:messageContent.id,pinned:messageContent.pinned,threadId:threadId,time:time,timeMiliSeconds:timeMiliSeconds,timeNanos:messageContent.timeNanos}}});if(messageContent.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadId}});}}break;/**
|
|
46861
46927
|
* Type 30 Thread Info Updated
|
|
@@ -46908,7 +46974,7 @@ var thread=formatDataToMakeConversation(messageContent);/**
|
|
|
46908
46974
|
// }
|
|
46909
46975
|
_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});break;/**
|
|
46910
46976
|
* Type 31 Thread Last Seen Updated
|
|
46911
|
-
*/case _constants.chatMessageVOTypes.LAST_SEEN_UPDATED:var threadObject=messageContent;threadObject.unreadCount=messageContent.unreadCount?messageContent.unreadCount:0;
|
|
46977
|
+
*/case _constants.chatMessageVOTypes.LAST_SEEN_UPDATED:var threadObject=messageContent;threadObject.unreadCount=messageContent.unreadCount?messageContent.unreadCount:0;_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_SEEN_UPDATED',result:{thread:threadObject,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});// if (fullResponseObject) {
|
|
46912
46978
|
// getThreads({
|
|
46913
46979
|
// threadIds: [messageContent.id]
|
|
46914
46980
|
// }, function (threadsResult) {
|
|
@@ -46997,7 +47063,7 @@ break;/**
|
|
|
46997
47063
|
* Type 65 Stop Bot
|
|
46998
47064
|
*/case _constants.chatMessageVOTypes.STOP_BOT:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}break;/**
|
|
46999
47065
|
* Type 66 Last Message Deleted
|
|
47000
|
-
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_DELETED:
|
|
47066
|
+
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_DELETED:new Promise(function(resolve,reject){if(fullResponseObject){getThreads({threadIds:[messageContent.id]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){resolve(threads[0]);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:threads[0]}});}});}else{var thread=formatDataToMakeConversation(messageContent);resolve(thread);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});}}).then(function(thread){if(typeof messageContent.unreadCount!=="undefined"){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:thread,unreadCount:messageContent.unreadCount?messageContent.unreadCount:0}});}});break;/**
|
|
47001
47067
|
* Type 67 Last Message Edited
|
|
47002
47068
|
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_EDITED:if(fullResponseObject){getThreads({threadIds:[messageContent.id]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:threads[0]}});}});}else{var thread=formatDataToMakeConversation(messageContent);_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});}break;/**
|
|
47003
47069
|
* Type 68 Get Bot Commands List
|
|
@@ -47105,8 +47171,7 @@ break;/**
|
|
|
47105
47171
|
*/if(canUseCache&&cacheSecret.length>0){if(db){/**
|
|
47106
47172
|
* Insert new messages into cache database
|
|
47107
47173
|
* after deleting old messages from cache
|
|
47108
|
-
*/var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=parseInt(message.id);tempData.owner=parseInt(chatMessaging.userInfo.id);tempData.threadId=parseInt(message.threadId);tempData.time=message.time;tempData.message=_utility["default"].crypt(message.message,cacheSecret,salt);tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(message)),cacheSecret,salt);tempData.salt=salt;tempData.sendStatus='sent';}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_NEW',cache:false,result:{message:message}});var threadObject=message.conversation;var lastMessageVoCopy=Object.assign({},message);lastMessageVoCopy.conversation&&delete lastMessageVoCopy.conversation;threadObject.lastParticipantImage=!!message.participant&&message.participant.hasOwnProperty('image')?message.participant.image:'';threadObject.lastMessageVO=lastMessageVoCopy;threadObject.lastParticipantName=!!message.participant&&message.participant.hasOwnProperty('name')?message.participant.name:'';threadObject.lastMessage=message.hasOwnProperty('message')?message.message:'';_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:threadObject.unreadCount?threadObject.unreadCount:0}});
|
|
47109
|
-
if(message.ownerId!=chatMessaging.userInfo.id){if(unreadCount){storeThread.unreadCount.set(unreadCount);}else{if(!storeThread.unreadCount.get())storeThread.unreadCount.set(1);else storeThread.unreadCount.increase();}}else{storeThread.unreadCount.set(0);}_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadObject}});// if (fullResponseObject) {
|
|
47174
|
+
*/var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=parseInt(message.id);tempData.owner=parseInt(chatMessaging.userInfo.id);tempData.threadId=parseInt(message.threadId);tempData.time=message.time;tempData.message=_utility["default"].crypt(message.message,cacheSecret,salt);tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(message)),cacheSecret,salt);tempData.salt=salt;tempData.sendStatus='sent';}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_NEW',cache:false,result:{message:message}});var threadObject=message.conversation;var lastMessageVoCopy=Object.assign({},message);lastMessageVoCopy.conversation&&delete lastMessageVoCopy.conversation;threadObject.lastParticipantImage=!!message.participant&&message.participant.hasOwnProperty('image')?message.participant.image:'';threadObject.lastMessageVO=lastMessageVoCopy;threadObject.lastParticipantName=!!message.participant&&message.participant.hasOwnProperty('name')?message.participant.name:'';threadObject.lastMessage=message.hasOwnProperty('message')?message.message:'';_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNREAD_COUNT_UPDATED',result:{thread:threadObject,unreadCount:threadObject.unreadCount?threadObject.unreadCount:0}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadObject}});// if (fullResponseObject) {
|
|
47110
47175
|
// getThreads({
|
|
47111
47176
|
// threadIds: [threadId]
|
|
47112
47177
|
// }, function (threadsResult) {
|
|
@@ -47469,7 +47534,7 @@ return JSON.parse(JSON.stringify(message));},/**
|
|
|
47469
47534
|
* - sender {int}
|
|
47470
47535
|
* - text {string}
|
|
47471
47536
|
* - notifyAll {boolean}
|
|
47472
|
-
*/var pinMessage={threadId:threadId,time:pushMessageVO.time,sender:pushMessageVO.sender,messageId:pushMessageVO.messageId,text:pushMessageVO.text
|
|
47537
|
+
*/var pinMessage={threadId:threadId,time:pushMessageVO.time,sender:pushMessageVO.sender,messageId:pushMessageVO.messageId,text:pushMessageVO.text};if(typeof pushMessageVO.notifyAll==='boolean'){pinMessage.notifyAll=pushMessageVO.notifyAll;}// return pinMessage;
|
|
47473
47538
|
return JSON.parse(JSON.stringify(pinMessage));},/**
|
|
47474
47539
|
* Reformat Thread History
|
|
47475
47540
|
*
|
|
@@ -47541,7 +47606,7 @@ content:content};/**
|
|
|
47541
47606
|
*/if(functionLevelCache&&canUseCache&&cacheSecret.length>0){if(db){var thenAble;if(Object.keys(whereClause).length===0){thenAble=db.threads.where('[owner+time]').between([chatMessaging.userInfo.id,minIntegerValue],[chatMessaging.userInfo.id,maxIntegerValue*1000]).reverse();}else{if(whereClause.hasOwnProperty('threadIds')){thenAble=db.threads.where('id').anyOf(whereClause.threadIds).and(function(thread){return thread.owner===chatMessaging.userInfo.id;});}if(whereClause.hasOwnProperty('name')){thenAble=db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).filter(function(thread){var reg=new RegExp(whereClause.name);return reg.test(chatDecrypt(thread.title,cacheSecret,thread.salt));});}if(whereClause.hasOwnProperty('creatorCoreUserId')){thenAble=db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).filter(function(thread){var threadObject=JSON.parse(chatDecrypt(thread.data,cacheSecret,thread.salt),false);return parseInt(threadObject.inviter.coreUserId)===parseInt(whereClause.creatorCoreUserId);});}}thenAble.offset(offset).limit(count).toArray().then(function(threads){db.threads.where('owner').equals(parseInt(chatMessaging.userInfo.id)).count().then(function(threadsCount){var cacheData=[];for(var i=0;i<threads.length;i++){try{cacheData.push(createThread(JSON.parse(chatDecrypt(threads[i].data,cacheSecret,threads[i].salt)),false));}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}}var returnData={hasError:false,cache:true,errorCode:0,errorMessage:'',result:{threads:cacheData,contentCount:threadsCount,hasNext:!(threads.length<count),nextOffset:offset*1+threads.length}};if(cacheData.length>0){callback&&callback(returnData);callback=undefined;returnCache=true;}});})["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}/**
|
|
47542
47607
|
* Retrive get threads response from server
|
|
47543
47608
|
*/return chatMessaging.sendMessage(sendMessageParams,{onResult:function onResult(result){var returnData={hasError:result.hasError,cache:false,errorMessage:result.errorMessage,errorCode:result.errorCode,uniqueId:result.uniqueId};if(!returnData.hasError){var messageContent=result.result,messageLength=messageContent.length,resultData={threads:[],contentCount:result.contentCount,hasNext:messageContent&&!(messageLength<count),//(offset + count < result.contentCount && messageLength > 0),
|
|
47544
|
-
nextOffset:offset*1+messageLength*1},threadData;for(var i=0;i<messageLength;i++){threadData=createThread(messageContent[i],false);if(threadData){resultData.threads.push(threadData);}}
|
|
47609
|
+
nextOffset:offset*1+messageLength*1},threadData;for(var i=0;i<messageLength;i++){threadData=createThread(messageContent[i],false);if(threadData){resultData.threads.push(threadData);}}returnData.result=resultData;/**
|
|
47545
47610
|
* Updating cache on separated worker to find and
|
|
47546
47611
|
* delete all messages that have been deleted from
|
|
47547
47612
|
* thread's last section
|
|
@@ -48716,11 +48781,11 @@ pc.onicecandidate=function(ice){//listen for candidate events
|
|
|
48716
48781
|
if(promiseResolved||!ice||!ice.candidate||!ice.candidate.candidate||!(ice.candidate.candidate.indexOf('typ relay')>-1))return;promiseResolved=true;resolve(true);};});};publicized.getCustomerInfo=function(params,callback){var userId=params.userId||chatMessaging.userInfo.id,sendData={chatMessageVOType:_constants.chatMessageVOTypes.CUSTOMER_INFO,typeCode:generalTypeCode,//params.typeCode,
|
|
48717
48782
|
content:[userId],token:token};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.archiveThread=function(_ref,callback){var threadId=_ref.threadId;var sendData={chatMessageVOType:_constants.chatMessageVOTypes.ARCHIVE_THREAD,typeCode:generalTypeCode,//params.typeCode,
|
|
48718
48783
|
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.unArchiveThread=function(_ref2,callback){var threadId=_ref2.threadId;var sendData={chatMessageVOType:_constants.chatMessageVOTypes.UNARCHIVE_THREAD,typeCode:generalTypeCode,//params.typeCode,
|
|
48719
|
-
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.version=function(){console.log("%c[SDK] Version: podchat-browser@"+_buildConfig["default"].version,"color:green; font-size:13px");console.log("%c[SDK] Build date:"+_buildConfig["default"].date,"color:green;font-size:13px");console.log("%c[SDK] Additional info: "+_buildConfig["default"].VersionInfo,"color:green;font-size:13px");return _buildConfig["default"];};publicized.changeProtocol=function(){var proto=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"websocket";if(["webrtc","websocket"].includes(proto)){if(proto!=protocol){protocol=proto.toLowerCase();asyncClient.logout();initAsync();}else{console.warn("SDK is currently using the ".concat(proto," protocol. Nothing to do."));}}else{console.error("Protocol ".concat(proto," is not supported in SDK. Valid protocols: \"webrtc\", \"websocket\""));}};
|
|
48784
|
+
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.version=function(){console.log("%c[SDK] Version: podchat-browser@"+_buildConfig["default"].version,"color:green; font-size:13px");console.log("%c[SDK] Build date:"+_buildConfig["default"].date,"color:green;font-size:13px");console.log("%c[SDK] Additional info: "+_buildConfig["default"].VersionInfo,"color:green;font-size:13px");return _buildConfig["default"];};publicized.changeProtocol=function(){var proto=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"websocket";if(["webrtc","websocket"].includes(proto)){if(proto!=protocol){protocol=proto.toLowerCase();asyncClient.logout();initAsync();}else{console.warn("SDK is currently using the ".concat(proto," protocol. Nothing to do."));}}else{console.error("Protocol ".concat(proto," is not supported in SDK. Valid protocols: \"webrtc\", \"websocket\""));}};init();return publicized;}if(window){if(!window.POD){window.POD={};}window.POD.Chat=Chat;//For backward compatibility
|
|
48720
48785
|
window.PodChat=Chat;}var _default=Chat;// })();
|
|
48721
48786
|
exports["default"]=_default;
|
|
48722
48787
|
|
|
48723
|
-
},{"./buildConfig.json":267,"./call.module":268,"./events.module":270,"./lib/call/deviceManager.js":271,"./lib/constants":272,"./
|
|
48788
|
+
},{"./buildConfig.json":267,"./call.module":268,"./events.module":270,"./lib/call/deviceManager.js":271,"./lib/constants":272,"./messaging.module":274,"./utility/utility":275,"@babel/runtime/helpers/interopRequireDefault":5,"@babel/runtime/helpers/toConsumableArray":9,"@babel/runtime/helpers/typeof":10,"dexie":125,"podasync-ws-only":209}],270:[function(require,module,exports){
|
|
48724
48789
|
"use strict";
|
|
48725
48790
|
|
|
48726
48791
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -48846,7 +48911,7 @@ function initEventHandler(params) {
|
|
|
48846
48911
|
var _default = ChatEvents;
|
|
48847
48912
|
exports["default"] = _default;
|
|
48848
48913
|
|
|
48849
|
-
},{"./utility/utility":
|
|
48914
|
+
},{"./utility/utility":275,"@babel/runtime/helpers/interopRequireDefault":5}],271:[function(require,module,exports){
|
|
48850
48915
|
"use strict";
|
|
48851
48916
|
|
|
48852
48917
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -49597,228 +49662,6 @@ exports["default"] = _default;
|
|
|
49597
49662
|
|
|
49598
49663
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
49599
49664
|
|
|
49600
|
-
Object.defineProperty(exports, "__esModule", {
|
|
49601
|
-
value: true
|
|
49602
|
-
});
|
|
49603
|
-
exports.storeEvents = void 0;
|
|
49604
|
-
|
|
49605
|
-
var _events = _interopRequireDefault(require("events"));
|
|
49606
|
-
|
|
49607
|
-
var Emitter = new _events["default"]();
|
|
49608
|
-
var storeEvents = {
|
|
49609
|
-
on: function on(eventName, callback) {
|
|
49610
|
-
Emitter.on(eventName, callback);
|
|
49611
|
-
},
|
|
49612
|
-
off: function off(eventName) {
|
|
49613
|
-
Emitter.off(eventName);
|
|
49614
|
-
},
|
|
49615
|
-
emit: function emit(eventName, data) {
|
|
49616
|
-
Emitter.emit(eventName, data);
|
|
49617
|
-
}
|
|
49618
|
-
};
|
|
49619
|
-
exports.storeEvents = storeEvents;
|
|
49620
|
-
|
|
49621
|
-
},{"@babel/runtime/helpers/interopRequireDefault":5,"events":149}],275:[function(require,module,exports){
|
|
49622
|
-
"use strict";
|
|
49623
|
-
|
|
49624
|
-
Object.defineProperty(exports, "__esModule", {
|
|
49625
|
-
value: true
|
|
49626
|
-
});
|
|
49627
|
-
exports.store = void 0;
|
|
49628
|
-
|
|
49629
|
-
var _threads = require("./threads");
|
|
49630
|
-
|
|
49631
|
-
var _eventEmitter = require("./eventEmitter");
|
|
49632
|
-
|
|
49633
|
-
var store = {
|
|
49634
|
-
threads: _threads.threadsList,
|
|
49635
|
-
events: _eventEmitter.storeEvents
|
|
49636
|
-
};
|
|
49637
|
-
exports.store = store;
|
|
49638
|
-
|
|
49639
|
-
},{"./eventEmitter":274,"./threads":276}],276:[function(require,module,exports){
|
|
49640
|
-
"use strict";
|
|
49641
|
-
|
|
49642
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
49643
|
-
|
|
49644
|
-
Object.defineProperty(exports, "__esModule", {
|
|
49645
|
-
value: true
|
|
49646
|
-
});
|
|
49647
|
-
exports.threadsList = void 0;
|
|
49648
|
-
|
|
49649
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
49650
|
-
|
|
49651
|
-
var _eventEmitter = require("./eventEmitter");
|
|
49652
|
-
|
|
49653
|
-
function ownKeys(object, enumerableOnly) {
|
|
49654
|
-
var keys = Object.keys(object);
|
|
49655
|
-
|
|
49656
|
-
if (Object.getOwnPropertySymbols) {
|
|
49657
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
49658
|
-
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
49659
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
49660
|
-
})), keys.push.apply(keys, symbols);
|
|
49661
|
-
}
|
|
49662
|
-
|
|
49663
|
-
return keys;
|
|
49664
|
-
}
|
|
49665
|
-
|
|
49666
|
-
function _objectSpread(target) {
|
|
49667
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
49668
|
-
var source = null != arguments[i] ? arguments[i] : {};
|
|
49669
|
-
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
49670
|
-
(0, _defineProperty2["default"])(target, key, source[key]);
|
|
49671
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
49672
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49673
|
-
});
|
|
49674
|
-
}
|
|
49675
|
-
|
|
49676
|
-
return target;
|
|
49677
|
-
}
|
|
49678
|
-
|
|
49679
|
-
var list = [];
|
|
49680
|
-
var eventsList = {
|
|
49681
|
-
SINGLE_THREAD_UPDATE: "singleThreadUpdate",
|
|
49682
|
-
UNREAD_COUNT_UPDATED: 'unreadCountUpdated',
|
|
49683
|
-
LAST_SEEN_MESSAGE_TIME_UPDATED: 'lastSeenMessageTimeUpdated'
|
|
49684
|
-
};
|
|
49685
|
-
var threadsList = {
|
|
49686
|
-
eventsList: eventsList,
|
|
49687
|
-
get: function get(id) {
|
|
49688
|
-
return list[threadsList.findIndex(id)];
|
|
49689
|
-
},
|
|
49690
|
-
getAll: function getAll() {
|
|
49691
|
-
return list;
|
|
49692
|
-
},
|
|
49693
|
-
findIndex: function findIndex(threadId) {
|
|
49694
|
-
return list.findIndex(function (item) {
|
|
49695
|
-
return (item === null || item === void 0 ? void 0 : item.get().id) == threadId;
|
|
49696
|
-
});
|
|
49697
|
-
},
|
|
49698
|
-
save: function save(thread) {
|
|
49699
|
-
var localThread;
|
|
49700
|
-
var localThreadIndex = threadsList.findIndex(thread.id);
|
|
49701
|
-
|
|
49702
|
-
if (localThreadIndex > -1) {
|
|
49703
|
-
list[localThreadIndex].set(thread);
|
|
49704
|
-
localThread = list[localThreadIndex];
|
|
49705
|
-
} else {
|
|
49706
|
-
localThread = new ThreadObject(thread);
|
|
49707
|
-
list = [localThread].concat(list);
|
|
49708
|
-
}
|
|
49709
|
-
|
|
49710
|
-
_eventEmitter.storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, localThread.get());
|
|
49711
|
-
},
|
|
49712
|
-
saveMany: function saveMany(newThreads) {
|
|
49713
|
-
if (Array.isArray(newThreads)) {
|
|
49714
|
-
var nonExistingThreads = [];
|
|
49715
|
-
|
|
49716
|
-
for (var item in newThreads) {
|
|
49717
|
-
var localThreadIndex = threadsList.findIndex(newThreads[item].id);
|
|
49718
|
-
|
|
49719
|
-
if (localThreadIndex > -1) {
|
|
49720
|
-
list[localThreadIndex].set(newThreads[item]);
|
|
49721
|
-
} else {
|
|
49722
|
-
nonExistingThreads.push(new ThreadObject(newThreads[item]));
|
|
49723
|
-
}
|
|
49724
|
-
}
|
|
49725
|
-
|
|
49726
|
-
if (nonExistingThreads.length) {
|
|
49727
|
-
list = nonExistingThreads.concat(list);
|
|
49728
|
-
}
|
|
49729
|
-
}
|
|
49730
|
-
},
|
|
49731
|
-
remove: function remove(id) {
|
|
49732
|
-
var localThreadIndex = threadsList.findIndex(id);
|
|
49733
|
-
|
|
49734
|
-
if (localThreadIndex > -1) {
|
|
49735
|
-
delete list[localThreadIndex];
|
|
49736
|
-
}
|
|
49737
|
-
}
|
|
49738
|
-
};
|
|
49739
|
-
exports.threadsList = threadsList;
|
|
49740
|
-
|
|
49741
|
-
function ThreadObject(thread) {
|
|
49742
|
-
var config = {
|
|
49743
|
-
thread: thread,
|
|
49744
|
-
latestReceivedMessage: null
|
|
49745
|
-
};
|
|
49746
|
-
|
|
49747
|
-
function makeSureUnreadCountExists(thread) {
|
|
49748
|
-
if (!thread.unreadCount) {
|
|
49749
|
-
if (config.thread.unreadCount) thread.unreadCount = config.thread.unreadCount;else thread.unreadCount = 0;
|
|
49750
|
-
}
|
|
49751
|
-
}
|
|
49752
|
-
|
|
49753
|
-
makeSureUnreadCountExists(config.thread);
|
|
49754
|
-
return {
|
|
49755
|
-
set: function set(thread) {
|
|
49756
|
-
makeSureUnreadCountExists(thread);
|
|
49757
|
-
config.thread = _objectSpread(_objectSpread({}, config.thread), thread);
|
|
49758
|
-
},
|
|
49759
|
-
get: function get() {
|
|
49760
|
-
return config.thread;
|
|
49761
|
-
},
|
|
49762
|
-
update: function update(field, newValue) {
|
|
49763
|
-
config.thread[field] = newValue;
|
|
49764
|
-
|
|
49765
|
-
_eventEmitter.storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, config.thread);
|
|
49766
|
-
},
|
|
49767
|
-
unreadCount: {
|
|
49768
|
-
set: function set(count) {
|
|
49769
|
-
config.thread.unreadCount = count;
|
|
49770
|
-
|
|
49771
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
49772
|
-
},
|
|
49773
|
-
get: function get() {
|
|
49774
|
-
return config.thread.unreadCount;
|
|
49775
|
-
},
|
|
49776
|
-
increase: function increase() {
|
|
49777
|
-
config.thread.unreadCount++;
|
|
49778
|
-
|
|
49779
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
49780
|
-
},
|
|
49781
|
-
decrease: function decrease(time) {
|
|
49782
|
-
if (time > config.thread.lastSeenMessageTime && config.thread.unreadCount > 0) {
|
|
49783
|
-
config.thread.unreadCount--;
|
|
49784
|
-
|
|
49785
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
49786
|
-
}
|
|
49787
|
-
}
|
|
49788
|
-
},
|
|
49789
|
-
lastSeenMessageTime: {
|
|
49790
|
-
set: function set(number) {
|
|
49791
|
-
if (number > config.thread.lastSeenMessageTime) {
|
|
49792
|
-
config.thread.lastSeenMessageTime = number;
|
|
49793
|
-
}
|
|
49794
|
-
},
|
|
49795
|
-
get: function get() {
|
|
49796
|
-
return config.thread.lastSeenMessageTime;
|
|
49797
|
-
}
|
|
49798
|
-
},
|
|
49799
|
-
|
|
49800
|
-
/**
|
|
49801
|
-
* local helper to detect and always replace the correct lastMessageVO in thread
|
|
49802
|
-
*/
|
|
49803
|
-
latestReceivedMessage: {
|
|
49804
|
-
getTime: function getTime() {
|
|
49805
|
-
return config.latestReceivedMessage ? config.latestReceivedMessage.time : 0;
|
|
49806
|
-
},
|
|
49807
|
-
get: function get() {
|
|
49808
|
-
return config.latestReceivedMessage;
|
|
49809
|
-
},
|
|
49810
|
-
set: function set(message) {
|
|
49811
|
-
config.latestReceivedMessage = message;
|
|
49812
|
-
}
|
|
49813
|
-
}
|
|
49814
|
-
};
|
|
49815
|
-
}
|
|
49816
|
-
|
|
49817
|
-
},{"./eventEmitter":274,"@babel/runtime/helpers/defineProperty":4,"@babel/runtime/helpers/interopRequireDefault":5}],277:[function(require,module,exports){
|
|
49818
|
-
"use strict";
|
|
49819
|
-
|
|
49820
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
49821
|
-
|
|
49822
49665
|
Object.defineProperty(exports, "__esModule", {
|
|
49823
49666
|
value: true
|
|
49824
49667
|
});
|
|
@@ -50170,7 +50013,7 @@ function ChatMessaging(params) {
|
|
|
50170
50013
|
var _default = ChatMessaging;
|
|
50171
50014
|
exports["default"] = _default;
|
|
50172
50015
|
|
|
50173
|
-
},{"./lib/constants":272,"./lib/errorHandler":273,"./utility/utility":
|
|
50016
|
+
},{"./lib/constants":272,"./lib/errorHandler":273,"./utility/utility":275,"@babel/runtime/helpers/interopRequireDefault":5,"@babel/runtime/helpers/typeof":10,"dompurify":131}],275:[function(require,module,exports){
|
|
50174
50017
|
(function (global){(function (){
|
|
50175
50018
|
"use strict";
|
|
50176
50019
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "podchat-browser",
|
|
3
|
-
"version": "12.7.2-snapshot.
|
|
3
|
+
"version": "12.7.2-snapshot.35",
|
|
4
4
|
"description": "Javascript SDK to use POD's Chat Service - Browser Only",
|
|
5
5
|
"main": "./dist/node/chat.js",
|
|
6
6
|
"scripts": {
|
|
@@ -45,24 +45,24 @@
|
|
|
45
45
|
},
|
|
46
46
|
"homepage": "https://github.com/FanapSoft/pod-chat-browser-js-sdk#readme",
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"crypto-js": "4.0.0",
|
|
48
|
+
"crypto-js": "^4.0.0",
|
|
49
49
|
"dexie": "^2.0.4",
|
|
50
50
|
"dompurify": "^2.3.3",
|
|
51
51
|
"faker": "^5.5.3",
|
|
52
52
|
"kurento-utils": "^6.16.0",
|
|
53
53
|
"node-rsa": "^1.1.1",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
54
|
+
"podasync-ws-only": "2.9.0-snapshot.7",
|
|
55
|
+
"webrtc-adapter": "^8.0.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"mocha": "^8.1.1",
|
|
59
58
|
"@babel/cli": "^7.17.6",
|
|
60
59
|
"@babel/core": "^7.17.9",
|
|
61
60
|
"@babel/plugin-transform-runtime": "^7.17.10",
|
|
62
61
|
"@babel/preset-env": "^7.16.11",
|
|
63
62
|
"babelify": "^10.0.0",
|
|
64
|
-
"
|
|
65
|
-
"npm-watch": "^0.11.0"
|
|
63
|
+
"mocha": "^8.1.1",
|
|
64
|
+
"npm-watch": "^0.11.0",
|
|
65
|
+
"watchify": "^4.0.0"
|
|
66
66
|
},
|
|
67
67
|
"directories": {
|
|
68
68
|
"example": "examples",
|
package/src/buildConfig.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"12.7.2-snapshot.
|
|
1
|
+
{"version":"12.7.2-snapshot.35","date":"۱۴۰۲/۳/۲۰","VersionInfo":"Release: false, Snapshot: true, Is For Test: true"}
|
package/src/chat.js
CHANGED
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
} from "./lib/constants";
|
|
22
22
|
|
|
23
23
|
import deviceManager from "./lib/call/deviceManager.js";
|
|
24
|
-
import {store} from "./lib/store";
|
|
25
24
|
|
|
26
25
|
function Chat(params) {
|
|
27
26
|
/*******************************************************
|
|
@@ -2002,9 +2001,6 @@ function Chat(params) {
|
|
|
2002
2001
|
chatMessaging.messagesCallbacks[uniqueId](Utility.createReturnData(false, '', 0, messageContent, contentCount));
|
|
2003
2002
|
}
|
|
2004
2003
|
|
|
2005
|
-
let msgTime = (parseInt(parseInt(messageContent.time) / 1000) * 1000000000) + parseInt(messageContent.timeNanos);
|
|
2006
|
-
store.threads.get(threadId).unreadCount.decrease(msgTime);
|
|
2007
|
-
|
|
2008
2004
|
if (messageContent.pinned) {
|
|
2009
2005
|
unPinMessage({
|
|
2010
2006
|
messageId: messageContent.id,
|
|
@@ -2173,10 +2169,6 @@ function Chat(params) {
|
|
|
2173
2169
|
var threadObject = messageContent;
|
|
2174
2170
|
threadObject.unreadCount = (messageContent.unreadCount) ? messageContent.unreadCount : 0;
|
|
2175
2171
|
|
|
2176
|
-
let localThreadLastSeenUpdated = JSON.parse(JSON.stringify(messageContent));
|
|
2177
|
-
store.threads.save(localThreadLastSeenUpdated);
|
|
2178
|
-
store.threads.get(threadId).unreadCount.set(messageContent.unreadCount)
|
|
2179
|
-
|
|
2180
2172
|
chatEvents.fireEvent('threadEvents', {
|
|
2181
2173
|
type: 'THREAD_UNREAD_COUNT_UPDATED',
|
|
2182
2174
|
result: {
|
|
@@ -2635,9 +2627,7 @@ function Chat(params) {
|
|
|
2635
2627
|
* Type 66 Last Message Deleted
|
|
2636
2628
|
*/
|
|
2637
2629
|
case chatMessageVOTypes.LAST_MESSAGE_DELETED:
|
|
2638
|
-
|
|
2639
|
-
let threadOfDeletedMessage = formatDataToMakeConversation(messageContent);
|
|
2640
|
-
store.threads.save(threadOfDeletedMessage);
|
|
2630
|
+
|
|
2641
2631
|
new Promise((resolve, reject)=> {
|
|
2642
2632
|
if (fullResponseObject) {
|
|
2643
2633
|
getThreads({
|
|
@@ -3361,27 +3351,6 @@ function Chat(params) {
|
|
|
3361
3351
|
}
|
|
3362
3352
|
});
|
|
3363
3353
|
|
|
3364
|
-
let storeThread = store.threads.get(threadObject.id);
|
|
3365
|
-
if(!storeThread) {
|
|
3366
|
-
store.threads.save(threadObject);
|
|
3367
|
-
storeThread = store.threads.get(threadObject.id);
|
|
3368
|
-
}
|
|
3369
|
-
|
|
3370
|
-
let unreadCount = message.conversation.unreadCount;
|
|
3371
|
-
// store.threads.get(threadObject.id).unreadCount.set();
|
|
3372
|
-
if(message.ownerId != chatMessaging.userInfo.id) {
|
|
3373
|
-
if(unreadCount) {
|
|
3374
|
-
storeThread.unreadCount.set(unreadCount);
|
|
3375
|
-
} else {
|
|
3376
|
-
if(!storeThread.unreadCount.get())
|
|
3377
|
-
storeThread.unreadCount.set(1);
|
|
3378
|
-
else
|
|
3379
|
-
storeThread.unreadCount.increase();
|
|
3380
|
-
}
|
|
3381
|
-
} else {
|
|
3382
|
-
storeThread.unreadCount.set(0);
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
3354
|
chatEvents.fireEvent('threadEvents', {
|
|
3386
3355
|
type: 'THREAD_LAST_ACTIVITY_TIME',
|
|
3387
3356
|
result: {
|
|
@@ -4286,9 +4255,7 @@ function Chat(params) {
|
|
|
4286
4255
|
time: pushMessageVO.time,
|
|
4287
4256
|
sender: pushMessageVO.sender,
|
|
4288
4257
|
messageId: pushMessageVO.messageId,
|
|
4289
|
-
text: pushMessageVO.text
|
|
4290
|
-
metadata: pushMessageVO.metadata,
|
|
4291
|
-
systemMetadata: pushMessageVO.systemMetadata,
|
|
4258
|
+
text: pushMessageVO.text
|
|
4292
4259
|
};
|
|
4293
4260
|
|
|
4294
4261
|
if (typeof pushMessageVO.notifyAll === 'boolean') {
|
|
@@ -4625,7 +4592,6 @@ function Chat(params) {
|
|
|
4625
4592
|
}
|
|
4626
4593
|
}
|
|
4627
4594
|
|
|
4628
|
-
store.threads.saveMany(resultData.threads);
|
|
4629
4595
|
returnData.result = resultData;
|
|
4630
4596
|
|
|
4631
4597
|
/**
|
|
@@ -14289,16 +14255,6 @@ function Chat(params) {
|
|
|
14289
14255
|
}
|
|
14290
14256
|
}
|
|
14291
14257
|
|
|
14292
|
-
store.events.on(store.threads.eventsList.UNREAD_COUNT_UPDATED, (thread) => {
|
|
14293
|
-
chatEvents.fireEvent('threadEvents', {
|
|
14294
|
-
type: 'UNREAD_COUNT_UPDATED',
|
|
14295
|
-
result: {
|
|
14296
|
-
threadId: thread.id,
|
|
14297
|
-
unreadCount: thread.unreadCount || 0
|
|
14298
|
-
}
|
|
14299
|
-
});
|
|
14300
|
-
});
|
|
14301
|
-
|
|
14302
14258
|
init();
|
|
14303
14259
|
|
|
14304
14260
|
return publicized;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.storeEvents = void 0;
|
|
9
|
-
|
|
10
|
-
var _events = _interopRequireDefault(require("events"));
|
|
11
|
-
|
|
12
|
-
var Emitter = new _events["default"]();
|
|
13
|
-
var storeEvents = {
|
|
14
|
-
on: function on(eventName, callback) {
|
|
15
|
-
Emitter.on(eventName, callback);
|
|
16
|
-
},
|
|
17
|
-
off: function off(eventName) {
|
|
18
|
-
Emitter.off(eventName);
|
|
19
|
-
},
|
|
20
|
-
emit: function emit(eventName, data) {
|
|
21
|
-
Emitter.emit(eventName, data);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
exports.storeEvents = storeEvents;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.store = void 0;
|
|
7
|
-
|
|
8
|
-
var _threads = require("./threads");
|
|
9
|
-
|
|
10
|
-
var _eventEmitter = require("./eventEmitter");
|
|
11
|
-
|
|
12
|
-
var store = {
|
|
13
|
-
threads: _threads.threadsList,
|
|
14
|
-
events: _eventEmitter.storeEvents
|
|
15
|
-
};
|
|
16
|
-
exports.store = store;
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.threadsList = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _eventEmitter = require("./eventEmitter");
|
|
13
|
-
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
-
|
|
18
|
-
var list = [];
|
|
19
|
-
var eventsList = {
|
|
20
|
-
SINGLE_THREAD_UPDATE: "singleThreadUpdate",
|
|
21
|
-
UNREAD_COUNT_UPDATED: 'unreadCountUpdated',
|
|
22
|
-
LAST_SEEN_MESSAGE_TIME_UPDATED: 'lastSeenMessageTimeUpdated'
|
|
23
|
-
};
|
|
24
|
-
var threadsList = {
|
|
25
|
-
eventsList: eventsList,
|
|
26
|
-
get: function get(id) {
|
|
27
|
-
return list[threadsList.findIndex(id)];
|
|
28
|
-
},
|
|
29
|
-
getAll: function getAll() {
|
|
30
|
-
return list;
|
|
31
|
-
},
|
|
32
|
-
findIndex: function findIndex(threadId) {
|
|
33
|
-
return list.findIndex(function (item) {
|
|
34
|
-
return (item === null || item === void 0 ? void 0 : item.get().id) == threadId;
|
|
35
|
-
});
|
|
36
|
-
},
|
|
37
|
-
save: function save(thread) {
|
|
38
|
-
var localThread;
|
|
39
|
-
var localThreadIndex = threadsList.findIndex(thread.id);
|
|
40
|
-
|
|
41
|
-
if (localThreadIndex > -1) {
|
|
42
|
-
list[localThreadIndex].set(thread);
|
|
43
|
-
localThread = list[localThreadIndex];
|
|
44
|
-
} else {
|
|
45
|
-
localThread = new ThreadObject(thread);
|
|
46
|
-
list = [localThread].concat(list);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
_eventEmitter.storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, localThread.get());
|
|
50
|
-
},
|
|
51
|
-
saveMany: function saveMany(newThreads) {
|
|
52
|
-
if (Array.isArray(newThreads)) {
|
|
53
|
-
var nonExistingThreads = [];
|
|
54
|
-
|
|
55
|
-
for (var item in newThreads) {
|
|
56
|
-
var localThreadIndex = threadsList.findIndex(newThreads[item].id);
|
|
57
|
-
|
|
58
|
-
if (localThreadIndex > -1) {
|
|
59
|
-
list[localThreadIndex].set(newThreads[item]);
|
|
60
|
-
} else {
|
|
61
|
-
nonExistingThreads.push(new ThreadObject(newThreads[item]));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (nonExistingThreads.length) {
|
|
66
|
-
list = nonExistingThreads.concat(list);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
remove: function remove(id) {
|
|
71
|
-
var localThreadIndex = threadsList.findIndex(id);
|
|
72
|
-
|
|
73
|
-
if (localThreadIndex > -1) {
|
|
74
|
-
delete list[localThreadIndex];
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
exports.threadsList = threadsList;
|
|
79
|
-
|
|
80
|
-
function ThreadObject(thread) {
|
|
81
|
-
var config = {
|
|
82
|
-
thread: thread,
|
|
83
|
-
latestReceivedMessage: null
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
function makeSureUnreadCountExists(thread) {
|
|
87
|
-
if (!thread.unreadCount) {
|
|
88
|
-
if (config.thread.unreadCount) thread.unreadCount = config.thread.unreadCount;else thread.unreadCount = 0;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
makeSureUnreadCountExists(config.thread);
|
|
93
|
-
return {
|
|
94
|
-
set: function set(thread) {
|
|
95
|
-
makeSureUnreadCountExists(thread);
|
|
96
|
-
config.thread = _objectSpread(_objectSpread({}, config.thread), thread);
|
|
97
|
-
},
|
|
98
|
-
get: function get() {
|
|
99
|
-
return config.thread;
|
|
100
|
-
},
|
|
101
|
-
update: function update(field, newValue) {
|
|
102
|
-
config.thread[field] = newValue;
|
|
103
|
-
|
|
104
|
-
_eventEmitter.storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, config.thread);
|
|
105
|
-
},
|
|
106
|
-
unreadCount: {
|
|
107
|
-
set: function set(count) {
|
|
108
|
-
config.thread.unreadCount = count;
|
|
109
|
-
|
|
110
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
111
|
-
},
|
|
112
|
-
get: function get() {
|
|
113
|
-
return config.thread.unreadCount;
|
|
114
|
-
},
|
|
115
|
-
increase: function increase() {
|
|
116
|
-
config.thread.unreadCount++;
|
|
117
|
-
|
|
118
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
119
|
-
},
|
|
120
|
-
decrease: function decrease(time) {
|
|
121
|
-
if (time > config.thread.lastSeenMessageTime && config.thread.unreadCount > 0) {
|
|
122
|
-
config.thread.unreadCount--;
|
|
123
|
-
|
|
124
|
-
_eventEmitter.storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
lastSeenMessageTime: {
|
|
129
|
-
set: function set(number) {
|
|
130
|
-
if (number > config.thread.lastSeenMessageTime) {
|
|
131
|
-
config.thread.lastSeenMessageTime = number;
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
get: function get() {
|
|
135
|
-
return config.thread.lastSeenMessageTime;
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* local helper to detect and always replace the correct lastMessageVO in thread
|
|
141
|
-
*/
|
|
142
|
-
latestReceivedMessage: {
|
|
143
|
-
getTime: function getTime() {
|
|
144
|
-
return config.latestReceivedMessage ? config.latestReceivedMessage.time : 0;
|
|
145
|
-
},
|
|
146
|
-
get: function get() {
|
|
147
|
-
return config.latestReceivedMessage;
|
|
148
|
-
},
|
|
149
|
-
set: function set(message) {
|
|
150
|
-
config.latestReceivedMessage = message;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import EventEmitter from "events";
|
|
2
|
-
const Emitter = new EventEmitter();
|
|
3
|
-
|
|
4
|
-
const storeEvents = {
|
|
5
|
-
on(eventName, callback) {
|
|
6
|
-
Emitter.on(eventName, callback)
|
|
7
|
-
},
|
|
8
|
-
off(eventName) {
|
|
9
|
-
Emitter.off(eventName);
|
|
10
|
-
},
|
|
11
|
-
emit(eventName, data) {
|
|
12
|
-
Emitter.emit(eventName, data);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export {storeEvents}
|
package/src/lib/store/index.js
DELETED
package/src/lib/store/threads.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import {storeEvents} from "./eventEmitter";
|
|
2
|
-
|
|
3
|
-
let list = [];
|
|
4
|
-
const eventsList = {
|
|
5
|
-
SINGLE_THREAD_UPDATE: "singleThreadUpdate",
|
|
6
|
-
UNREAD_COUNT_UPDATED: 'unreadCountUpdated',
|
|
7
|
-
LAST_SEEN_MESSAGE_TIME_UPDATED: 'lastSeenMessageTimeUpdated',
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const threadsList = {
|
|
11
|
-
eventsList,
|
|
12
|
-
get(id) {
|
|
13
|
-
return list[threadsList.findIndex(id)];
|
|
14
|
-
},
|
|
15
|
-
getAll() {
|
|
16
|
-
return list;
|
|
17
|
-
},
|
|
18
|
-
findIndex(threadId) {
|
|
19
|
-
return list.findIndex(item => item?.get().id == threadId);
|
|
20
|
-
},
|
|
21
|
-
save(thread) {
|
|
22
|
-
let localThread;
|
|
23
|
-
let localThreadIndex = threadsList.findIndex(thread.id);
|
|
24
|
-
if (localThreadIndex > -1) {
|
|
25
|
-
list[localThreadIndex].set(thread)
|
|
26
|
-
localThread = list[localThreadIndex];
|
|
27
|
-
} else {
|
|
28
|
-
localThread = new ThreadObject(thread);
|
|
29
|
-
list = [localThread].concat(list);
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, localThread.get());
|
|
33
|
-
},
|
|
34
|
-
saveMany(newThreads) {
|
|
35
|
-
if (Array.isArray(newThreads)) {
|
|
36
|
-
let nonExistingThreads = [];
|
|
37
|
-
for (let item in newThreads) {
|
|
38
|
-
let localThreadIndex = threadsList.findIndex(newThreads[item].id);
|
|
39
|
-
if (localThreadIndex > -1) {
|
|
40
|
-
list[localThreadIndex].set(newThreads[item]);
|
|
41
|
-
} else {
|
|
42
|
-
nonExistingThreads.push(new ThreadObject(newThreads[item]));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (nonExistingThreads.length) {
|
|
46
|
-
list = nonExistingThreads.concat(list);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
remove(id) {
|
|
51
|
-
let localThreadIndex = threadsList.findIndex(id);
|
|
52
|
-
if(localThreadIndex > -1) {
|
|
53
|
-
delete list[localThreadIndex];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function ThreadObject(thread) {
|
|
59
|
-
let config = {
|
|
60
|
-
thread,
|
|
61
|
-
latestReceivedMessage: null
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
function makeSureUnreadCountExists(thread){
|
|
66
|
-
if(!thread.unreadCount){
|
|
67
|
-
if(config.thread.unreadCount)
|
|
68
|
-
thread.unreadCount = config.thread.unreadCount;
|
|
69
|
-
else
|
|
70
|
-
thread.unreadCount = 0;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
makeSureUnreadCountExists(config.thread);
|
|
75
|
-
|
|
76
|
-
return {
|
|
77
|
-
set(thread) {
|
|
78
|
-
makeSureUnreadCountExists(thread)
|
|
79
|
-
config.thread = {...config.thread, ...thread}
|
|
80
|
-
},
|
|
81
|
-
get() {
|
|
82
|
-
return config.thread;
|
|
83
|
-
},
|
|
84
|
-
update(field, newValue) {
|
|
85
|
-
config.thread[field] = newValue;
|
|
86
|
-
storeEvents.emit(eventsList.SINGLE_THREAD_UPDATE, config.thread)
|
|
87
|
-
},
|
|
88
|
-
unreadCount: {
|
|
89
|
-
set(count) {
|
|
90
|
-
config.thread.unreadCount = count;
|
|
91
|
-
storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
92
|
-
},
|
|
93
|
-
get() {
|
|
94
|
-
return config.thread.unreadCount;
|
|
95
|
-
},
|
|
96
|
-
increase() {
|
|
97
|
-
config.thread.unreadCount++;
|
|
98
|
-
storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
99
|
-
},
|
|
100
|
-
decrease(time) {
|
|
101
|
-
if (time > config.thread.lastSeenMessageTime && config.thread.unreadCount > 0) {
|
|
102
|
-
config.thread.unreadCount--;
|
|
103
|
-
storeEvents.emit(eventsList.UNREAD_COUNT_UPDATED, config.thread);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
lastSeenMessageTime: {
|
|
108
|
-
set(number) {
|
|
109
|
-
if(number > config.thread.lastSeenMessageTime) {
|
|
110
|
-
config.thread.lastSeenMessageTime = number;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
get() {
|
|
114
|
-
return config.thread.lastSeenMessageTime
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
/**
|
|
118
|
-
* local helper to detect and always replace the correct lastMessageVO in thread
|
|
119
|
-
*/
|
|
120
|
-
latestReceivedMessage: {
|
|
121
|
-
getTime() {
|
|
122
|
-
return (config.latestReceivedMessage ? config.latestReceivedMessage.time : 0)
|
|
123
|
-
},
|
|
124
|
-
get(){
|
|
125
|
-
return config.latestReceivedMessage
|
|
126
|
-
},
|
|
127
|
-
set(message) {
|
|
128
|
-
config.latestReceivedMessage = message
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export {threadsList}
|
package/src.zip
DELETED
|
Binary file
|