podchat-browser 12.7.2-snapshot.21 → 12.7.2-snapshot.23
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/_buildInfo.js +20 -0
- package/dist/node/buildConfig.json +1 -0
- package/dist/node/call.module.js +1 -1
- package/dist/node/chat.js +73 -231
- package/dist/node/lib/constants.js +1 -0
- package/dist/node/lib/errorHandler.js +0 -4
- package/dist/podchat-browser-bundle.js +1035 -706
- package/examples/index.html +12 -0
- package/package.json +6 -7
- package/src/buildConfig.json +1 -0
- package/src/call.module.js +1 -1
- package/src/chat.js +325 -407
- package/src/lib/constants.js +1 -0
- package/src/lib/errorHandler.js +0 -4
- 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 -121
- package/src/lib/store/eventEmitter.js +0 -16
- package/src/lib/store/index.js +0 -9
- package/src/lib/store/threads.js +0 -99
package/_buildInfo.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const packageJSON = require("./package.json");
|
|
2
|
+
// const srcVersion = require("./src/buildConfig.json");
|
|
3
|
+
const fs = require("fs")
|
|
4
|
+
|
|
5
|
+
const isSnapshot = packageJSON.version.indexOf("snapshot") !== -1
|
|
6
|
+
const srcVersion = {
|
|
7
|
+
version: packageJSON.version,
|
|
8
|
+
date: new Date().toLocaleDateString("fa-IR"),
|
|
9
|
+
VersionInfo: `Release: ${!isSnapshot}, Snapshot: ${isSnapshot}, Is For Test: ${isSnapshot}`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
fs.writeFile("./src/buildConfig.json", JSON.stringify(srcVersion), 'utf8', (err)=>{
|
|
13
|
+
if (err) {
|
|
14
|
+
console.error("[Builder] Build info failed.")
|
|
15
|
+
return console.error(err);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
console.log("[Builder] Build info done.")
|
|
19
|
+
});
|
|
20
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"12.7.2-snapshot.23","date":"۱۴۰۲/۲/۱۷","VersionInfo":"Release: false, Snapshot: true, Is For Test: true"}
|
package/dist/node/call.module.js
CHANGED
|
@@ -2754,7 +2754,7 @@ function ChatCall(params) {
|
|
|
2754
2754
|
|
|
2755
2755
|
|
|
2756
2756
|
latestCallRequestId = messageContent.callId; // }
|
|
2757
|
-
} else {
|
|
2757
|
+
} else if (callRequestController.iRequestedCall) {
|
|
2758
2758
|
_eventsModule.chatEvents.fireEvent('callEvents', {
|
|
2759
2759
|
type: 'PARTNER_RECEIVED_YOUR_CALL',
|
|
2760
2760
|
result: messageContent
|
package/dist/node/chat.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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
|
|
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
|
-
*******************************************************/var asyncClient,peerId,oldPeerId,token=params.token,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
|
|
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
|
|
5
5
|
ADD_CONTACTS:'/nzh/addContacts',UPDATE_CONTACTS:'/nzh/updateContacts',REMOVE_CONTACTS:'/nzh/removeContacts',SEARCH_CONTACTS:'/nzh/listContacts',// File/Image Upload and Download
|
|
6
6
|
UPLOAD_IMAGE:'/nzh/uploadImage',GET_IMAGE:'/nzh/image/',UPLOAD_FILE:'/nzh/uploadFile',GET_FILE:'/nzh/file/',// POD Drive Services
|
|
@@ -20,7 +20,7 @@ REVERSE:'/reverse',SEARCH:'/search',ROUTING:'/routing',STATIC_IMAGE:'/static'},C
|
|
|
20
20
|
6300:'Error in uploading File!',6301:'Not an image!',6302:'No file has been selected!',6303:'File upload has been canceled!',6304:'User Group Hash is needed for file sharing!',// Cache Database Errors
|
|
21
21
|
6600:'Your Environment doesn\'t have Databse compatibility',6601:'Database is not defined! (missing db)',6602:'Database Error',// Map Errors
|
|
22
22
|
6700:'You should Enter a Center Location like {lat: " ", lng: " "}'},getUserInfoRetry=5,getUserInfoRetryCount=0,chatFullStateObject={},httpRequestObject={},connectionCheckTimeout=params.connectionCheckTimeout,connectionCheckTimeoutThreshold=params.connectionCheckTimeoutThreshold,httpRequestTimeout=params.httpRequestTimeout>=0?params.httpRequestTimeout:0,asyncRequestTimeout=typeof params.asyncRequestTimeout==='number'&¶ms.asyncRequestTimeout>=0?params.asyncRequestTimeout:0,//callRequestTimeout = (typeof params.callRequestTimeout === 'number' && params.callRequestTimeout >= 0) ? params.callRequestTimeout : 10000,
|
|
23
|
-
httpUploadRequestTimeout=params.httpUploadRequestTimeout>=0?params.httpUploadRequestTimeout:0,actualTimingLog=params.asyncLogging.actualTiming&&typeof params.asyncLogging.actualTiming==='boolean'?params.asyncLogging.actualTiming:false,consoleLogging=params.asyncLogging.consoleLogging&&typeof params.asyncLogging.consoleLogging==='boolean'?params.asyncLogging.consoleLogging:false,minIntegerValue=Number.MAX_SAFE_INTEGER*-1,maxIntegerValue=Number.MAX_SAFE_INTEGER,chatSendQueue=[],chatWaitQueue=[],chatUploadQueue=[],fullResponseObject=params.fullResponseObject||false;if(!consoleLogging){/**
|
|
23
|
+
httpUploadRequestTimeout=params.httpUploadRequestTimeout>=0?params.httpUploadRequestTimeout:0,actualTimingLog=params.asyncLogging.actualTiming&&typeof params.asyncLogging.actualTiming==='boolean'?params.asyncLogging.actualTiming:false,consoleLogging=params.asyncLogging.consoleLogging&&typeof params.asyncLogging.consoleLogging==='boolean'?params.asyncLogging.consoleLogging:false,minIntegerValue=Number.MAX_SAFE_INTEGER*-1,maxIntegerValue=Number.MAX_SAFE_INTEGER,chatSendQueue=[],chatWaitQueue=[],chatUploadQueue=[],fullResponseObject=params.fullResponseObject||false,webrtcConfig=params.webrtcConfig?params.webrtcConfig:null;if(!consoleLogging){/**
|
|
24
24
|
* Disable kurento-utils logs
|
|
25
25
|
*/window.Logger={error:function error(){},log:function log(){},debug:function debug(){}};}(0,_events.initEventHandler)(Object.assign(params,{consoleLogging:consoleLogging}));var/*chatEvents = new ChatEvents(Object.assign(params, {
|
|
26
26
|
|
|
@@ -41,13 +41,8 @@ consoleLogging:consoleLogging,chatEvents:_events.chatEvents,asyncClient:asyncCli
|
|
|
41
41
|
*
|
|
42
42
|
* @return {undefined}
|
|
43
43
|
* @return {undefined}
|
|
44
|
-
*/initAsync=function initAsync(){var asyncGetReadyTime=new Date().getTime();asyncClient=new _podasyncWsOnly["default"]({protocol:protocol,queueHost:queueHost,queuePort:queuePort,queueUsername:queueUsername,queuePassword:queuePassword,queueReceive:queueReceive,queueSend:queueSend,queueConnectionTimeout:queueConnectionTimeout,socketAddress:socketAddress,serverName:serverName,deviceId:deviceId,wsConnectionWaitTime:wsConnectionWaitTime,connectionRetryInterval:connectionRetryInterval,connectionCheckTimeout:connectionCheckTimeout,connectionCheckTimeoutThreshold:connectionCheckTimeoutThreshold,messageTtl:messageTtl,reconnectOnClose:reconnectOnClose,asyncLogging:asyncLogging,logLevel:consoleLogging?3:1});callModule.asyncInitialized(asyncClient);chatMessaging.asyncInitialized(asyncClient);asyncClient.on('asyncReady',function(){if(actualTimingLog){_utility["default"].chatStepLogger('Async Connection ',new Date().getTime()-asyncGetReadyTime);}peerId=asyncClient.getPeerId();if(!chatMessaging.userInfo){var getUserInfoTime=
|
|
45
|
-
|
|
46
|
-
// cache: false
|
|
47
|
-
// });
|
|
48
|
-
/**
|
|
49
|
-
* Check if user has KeyId stored in their cache or not?
|
|
50
|
-
*/if(canUseCache){if(db){db.users.where('id').equals(parseInt(chatMessaging.userInfo.id)).toArray().then(function(users){if(users.length>0&&typeof users[0].keyId!='undefined'){var user=users[0];getEncryptionKey({keyId:user.keyId},function(result){if(!result.hasError){cacheSecret=result.secretKey;chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();}else{if(result.message!==''){try{var response=JSON.parse(result.message);if(response.error==='invalid_param'){generateEncryptionKey({keyAlgorithm:'AES',keySize:256},function(){chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();});}}catch(e){consoleLogging&&console.log(e);}}}});}else{generateEncryptionKey({keyAlgorithm:'AES',keySize:256},function(){chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();});}})["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.errorCode,message:error.errorMessage,error:error});});}else{_events.chatEvents.fireEvent('error',{code:6601,message:CHAT_ERRORS[6601],error:null});}}else{chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();}}});}else if(chatMessaging.userInfo.id>0){chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();}deliveryInterval&&clearInterval(deliveryInterval);deliveryInterval=setInterval(function(){if(Object.keys(messagesDelivery).length){messagesDeliveryQueueHandler();}},deliveryIntervalPitch);seenInterval&&clearInterval(seenInterval);seenInterval=setInterval(function(){if(Object.keys(messagesSeen).length){messagesSeenQueueHandler();}},seenIntervalPitch);//shouldReconnectCall();
|
|
44
|
+
*/initAsync=function initAsync(){var asyncGetReadyTime=new Date().getTime();asyncClient=new _podasyncWsOnly["default"]({protocol:protocol,queueHost:queueHost,queuePort:queuePort,queueUsername:queueUsername,queuePassword:queuePassword,queueReceive:queueReceive,queueSend:queueSend,queueConnectionTimeout:queueConnectionTimeout,socketAddress:socketAddress,serverName:serverName,deviceId:deviceId,wsConnectionWaitTime:wsConnectionWaitTime,connectionRetryInterval:connectionRetryInterval,connectionCheckTimeout:connectionCheckTimeout,connectionCheckTimeoutThreshold:connectionCheckTimeoutThreshold,messageTtl:messageTtl,reconnectOnClose:reconnectOnClose,asyncLogging:asyncLogging,logLevel:consoleLogging?3:1,webrtcConfig:webrtcConfig});callModule.asyncInitialized(asyncClient);chatMessaging.asyncInitialized(asyncClient);asyncClient.on('asyncReady',function(){if(actualTimingLog){_utility["default"].chatStepLogger('Async Connection ',new Date().getTime()-asyncGetReadyTime);}peerId=asyncClient.getPeerId();if(!chatMessaging.userInfo){// var getUserInfoTime = new Date().getTime();
|
|
45
|
+
getUserAndUpdateSDKState();}else if(chatMessaging.userInfo.id>0){chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();}deliveryInterval&&clearInterval(deliveryInterval);deliveryInterval=setInterval(function(){if(Object.keys(messagesDelivery).length){messagesDeliveryQueueHandler();}},deliveryIntervalPitch);seenInterval&&clearInterval(seenInterval);seenInterval=setInterval(function(){if(Object.keys(messagesSeen).length){messagesSeenQueueHandler();}},seenIntervalPitch);//shouldReconnectCall();
|
|
51
46
|
});asyncClient.on('stateChange',function(state){_events.chatEvents.fireEvent('chatState',state);chatFullStateObject=state;switch(state.socketState){case 1:// CONNECTED
|
|
52
47
|
if(state.deviceRegister&&state.serverRegister){chatMessaging.chatState=true;// chatMessaging.ping();
|
|
53
48
|
chatMessaging.startChatPing();}break;case 0:// CONNECTING
|
|
@@ -55,7 +50,11 @@ chatMessaging.chatState=false;chatMessaging.stopChatPing();break;case 2:// CLOSI
|
|
|
55
50
|
chatMessaging.chatState=false;chatMessaging.stopChatPing();break;case 3:// CLOSED
|
|
56
51
|
chatMessaging.chatState=false;chatMessaging.stopChatPing();// TODO: Check if this is OK or not?!
|
|
57
52
|
//chatMessaging.sendPingTimeout && clearTimeout(chatMessaging.sendPingTimeout);
|
|
58
|
-
break;}});asyncClient.on('connect',function(newPeerId){asyncGetReadyTime=new Date().getTime();peerId=newPeerId;_events.chatEvents.fireEvent('connect');chatMessaging.ping();});asyncClient.on('disconnect',function(event){oldPeerId=peerId;peerId=undefined;_events.chatEvents.fireEvent('disconnect',event);_events.chatEvents.fireEvent('callEvents',{type:'CALL_ERROR',code:7000,message:'Call Socket is closed!',error:event});});asyncClient.on('reconnect',function(newPeerId){peerId=newPeerId;_events.chatEvents.fireEvent('reconnect');});asyncClient.on('message',function(params,ack){receivedAsyncMessageHandler(params);ack&&ack();});asyncClient.on('error',function(error){
|
|
53
|
+
break;}});asyncClient.on('connect',function(newPeerId){asyncGetReadyTime=new Date().getTime();peerId=newPeerId;_events.chatEvents.fireEvent('connect');chatMessaging.ping();});asyncClient.on('disconnect',function(event){oldPeerId=peerId;peerId=undefined;_events.chatEvents.fireEvent('disconnect',event);_events.chatEvents.fireEvent('callEvents',{type:'CALL_ERROR',code:7000,message:'Call Socket is closed!',error:event});});asyncClient.on('reconnect',function(newPeerId){peerId=newPeerId;_events.chatEvents.fireEvent('reconnect');});asyncClient.on('message',function(params,ack){receivedAsyncMessageHandler(params);ack&&ack();});asyncClient.on('error',function(error){_events.chatEvents.fireEvent('error',{code:error.errorCode,message:error.errorMessage,error:error.errorEvent});});},getUserAndUpdateSDKState=function getUserAndUpdateSDKState(){var getUserInfoTime=new Date().getTime();getUserInfo(function(userInfoResult){if(actualTimingLog){_utility["default"].chatStepLogger('Get User Info ',new Date().getTime()-getUserInfoTime);}if(!userInfoResult.hasError){chatMessaging.userInfo=userInfoResult.result.user;// getAllThreads({
|
|
54
|
+
// summary: true,
|
|
55
|
+
// cache: false
|
|
56
|
+
// });
|
|
57
|
+
chatMessaging.chatState=true;_events.chatEvents.fireEvent('chatReady');chatSendQueueHandler();}});},/**
|
|
59
58
|
* Get Device Id With Token
|
|
60
59
|
*
|
|
61
60
|
* If ssoGrantDevicesAddress set as TRUE, chat agent gets Device ID
|
|
@@ -256,7 +255,7 @@ sendMessageCallbacksHandler(_constants.chatMessageVOTypes.DELIVERY,threadId,uniq
|
|
|
256
255
|
* Type 8 Unblock Blocked User
|
|
257
256
|
*/case _constants.chatMessageVOTypes.UNBLOCK:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}break;/**
|
|
258
257
|
* Type 9 Leave Thread
|
|
259
|
-
*/case _constants.chatMessageVOTypes.LEAVE_THREAD:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}
|
|
258
|
+
*/case _constants.chatMessageVOTypes.LEAVE_THREAD:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}/**
|
|
260
259
|
* Remove the participant from cache
|
|
261
260
|
*/if(canUseCache){if(db){/**
|
|
262
261
|
* Remove the participant from participants
|
|
@@ -270,7 +269,7 @@ sendMessageCallbacksHandler(_constants.chatMessageVOTypes.DELIVERY,threadId,uniq
|
|
|
270
269
|
*/db.threads.where('[owner+id]').equals([chatMessaging.userInfo.id,threadId])["delete"]()["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});/**
|
|
271
270
|
* Remove all messages of the thread which
|
|
272
271
|
* this user left
|
|
273
|
-
*/db.messages.where('threadId').equals(parseInt(threadId)).and(function(message){return message.owner===chatMessaging.userInfo.id;})["delete"]()["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});}}if(fullResponseObject){getThreads({threadIds:[threadId]},function(threadsResult){if(!threadsResult.cache){var threads=threadsResult.result.threads;if(threads.length>0){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LEAVE_PARTICIPANT',result:{thread:threads[0],participant:
|
|
272
|
+
*/db.messages.where('threadId').equals(parseInt(threadId)).and(function(message){return message.owner===chatMessaging.userInfo.id;})["delete"]()["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});}}if(fullResponseObject){getThreads({threadIds:[threadId]},function(threadsResult){if(!threadsResult.cache){var threads=threadsResult.result.threads;if(threads.length>0){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LEAVE_PARTICIPANT',result:{thread:threads[0],participant:formatDataToMakeParticipant(messageContent,threadId)}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threads[0]}});}else{_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LEAVE_PARTICIPANT',result:{threadId:threadId,participant:formatDataToMakeParticipant(messageContent,threadId)}});}}});}else{_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LEAVE_PARTICIPANT',result:{thread:threadId,participant:formatDataToMakeParticipant(messageContent,threadId)}});_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadId}});}break;/**
|
|
274
273
|
* Type 11 Add Participant to Thread
|
|
275
274
|
*/case _constants.chatMessageVOTypes.ADD_PARTICIPANT:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}/**
|
|
276
275
|
* Add participants into cache
|
|
@@ -304,70 +303,9 @@ sendMessageCallbacksHandler(_constants.chatMessageVOTypes.DELIVERY,threadId,uniq
|
|
|
304
303
|
* Type 20 Unmute muted Thread
|
|
305
304
|
*/case _constants.chatMessageVOTypes.UNMUTE_THREAD:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}if(fullResponseObject){getThreads({threadIds:[threadId]},function(threadsResult){var thread=threadsResult.result.threads[0];thread.mute=false;_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNMUTE',result:{thread:thread}});});}else{_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_UNMUTE',result:{thread:threadId}});}break;/**
|
|
306
305
|
* Type 21 Update Thread Info
|
|
307
|
-
*/case _constants.chatMessageVOTypes.UPDATE_THREAD_INFO:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
// cache: false
|
|
311
|
-
// }, function (threadsResult) {
|
|
312
|
-
// var thread = formatDataToMakeConversation(threadsResult.result.threads[0]);
|
|
313
|
-
//
|
|
314
|
-
// /**
|
|
315
|
-
// * Add Updated Thread into cache database #cache
|
|
316
|
-
// */
|
|
317
|
-
// if (canUseCache && cacheSecret.length > 0) {
|
|
318
|
-
// if (db) {
|
|
319
|
-
// var tempData = {};
|
|
320
|
-
//
|
|
321
|
-
// try {
|
|
322
|
-
// var salt = Utility.generateUUID();
|
|
323
|
-
//
|
|
324
|
-
// tempData.id = thread.id;
|
|
325
|
-
// tempData.owner = chatMessaging.userInfo.id;
|
|
326
|
-
// tempData.title = Utility.crypt(thread.title, cacheSecret, salt);
|
|
327
|
-
// tempData.time = thread.time;
|
|
328
|
-
// tempData.data = Utility.crypt(JSON.stringify(unsetNotSeenDuration(thread)), cacheSecret, salt);
|
|
329
|
-
// tempData.salt = salt;
|
|
330
|
-
// } catch (error) {
|
|
331
|
-
// chatEvents.fireEvent('error', {
|
|
332
|
-
// code: error.code,
|
|
333
|
-
// message: error.message,
|
|
334
|
-
// error: error
|
|
335
|
-
// });
|
|
336
|
-
// }
|
|
337
|
-
//
|
|
338
|
-
// db.threads.put(tempData)
|
|
339
|
-
// .catch(function (error) {
|
|
340
|
-
// chatEvents.fireEvent('error', {
|
|
341
|
-
// code: error.code,
|
|
342
|
-
// message: error.message,
|
|
343
|
-
// error: error
|
|
344
|
-
// });
|
|
345
|
-
// });
|
|
346
|
-
// } else {
|
|
347
|
-
// chatEvents.fireEvent('error', {
|
|
348
|
-
// code: 6601,
|
|
349
|
-
// message: CHAT_ERRORS[6601],
|
|
350
|
-
// error: null
|
|
351
|
-
// });
|
|
352
|
-
// }
|
|
353
|
-
// }
|
|
354
|
-
//
|
|
355
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
356
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
357
|
-
// result: {
|
|
358
|
-
// thread: thread
|
|
359
|
-
// }
|
|
360
|
-
// });
|
|
361
|
-
// });
|
|
362
|
-
// } else {
|
|
363
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
364
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
365
|
-
// result: {
|
|
366
|
-
// thread: messageContent
|
|
367
|
-
// }
|
|
368
|
-
// });
|
|
369
|
-
// }
|
|
370
|
-
break;/**
|
|
306
|
+
*/case _constants.chatMessageVOTypes.UPDATE_THREAD_INFO:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}if(fullResponseObject){getThreads({threadIds:[messageContent.id],cache:false},function(threadsResult){var thread=formatDataToMakeConversation(threadsResult.result.threads[0]);/**
|
|
307
|
+
* Add Updated Thread into cache database #cache
|
|
308
|
+
*/if(canUseCache&&cacheSecret.length>0){if(db){var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=thread.id;tempData.owner=chatMessaging.userInfo.id;tempData.title=_utility["default"].crypt(thread.title,cacheSecret,salt);tempData.time=thread.time;tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(thread)),cacheSecret,salt);tempData.salt=salt;}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.threads.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('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});});}else{_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:messageContent}});}break;/**
|
|
371
309
|
* Type 22 Forward Multiple Messages
|
|
372
310
|
*/case _constants.chatMessageVOTypes.FORWARD_MESSAGE:newMessageHandler(threadId,messageContent);break;/**
|
|
373
311
|
* Type 23 User Info
|
|
@@ -379,61 +317,60 @@ break;/**
|
|
|
379
317
|
* Type 28 Edit Message
|
|
380
318
|
*/case _constants.chatMessageVOTypes.EDIT_MESSAGE:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}chatEditMessageHandler(threadId,messageContent);break;/**
|
|
381
319
|
* Type 29 Delete Message
|
|
382
|
-
*/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});}/**
|
|
383
321
|
* Remove Message from cache
|
|
384
|
-
*/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});}}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
//
|
|
388
|
-
//
|
|
389
|
-
//
|
|
390
|
-
// time = (messageContent.timeNanos)
|
|
391
|
-
// ? (parseInt(parseInt(messageContent.time) / 1000) * 1000000000) + parseInt(messageContent.timeNanos)
|
|
392
|
-
// : (parseInt(pushMessageVO.time));
|
|
393
|
-
// timeMiliSeconds = parseInt(messageContent.time);
|
|
394
|
-
// }
|
|
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
|
+
* Type 30 Thread Info Updated
|
|
324
|
+
*/case _constants.chatMessageVOTypes.THREAD_INFO_UPDATED:// TODO: Check this line again
|
|
325
|
+
// if (!messageContent.conversation && !messageContent.conversation.id) {
|
|
326
|
+
// messageContent.conversation.id = threadId;
|
|
327
|
+
// }
|
|
395
328
|
//
|
|
396
|
-
//
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
//
|
|
400
|
-
//
|
|
401
|
-
//
|
|
402
|
-
//
|
|
403
|
-
//
|
|
404
|
-
//
|
|
405
|
-
//
|
|
406
|
-
//
|
|
407
|
-
//
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
//
|
|
329
|
+
// var thread = formatDataToMakeConversation(messageContent.conversation);
|
|
330
|
+
var thread=formatDataToMakeConversation(messageContent);/**
|
|
331
|
+
* Add Updated Thread into cache database #cache
|
|
332
|
+
*/ // if (canUseCache && cacheSecret.length > 0) {
|
|
333
|
+
// if (db) {
|
|
334
|
+
// var tempData = {};
|
|
335
|
+
//
|
|
336
|
+
// try {
|
|
337
|
+
// var salt = Utility.generateUUID();
|
|
338
|
+
//
|
|
339
|
+
// tempData.id = thread.id;
|
|
340
|
+
// tempData.owner = chatMessaging.userInfo.id;
|
|
341
|
+
// tempData.title = Utility.crypt(thread.title, cacheSecret, salt);
|
|
342
|
+
// tempData.time = thread.time;
|
|
343
|
+
// tempData.data = Utility.crypt(JSON.stringify(unsetNotSeenDuration(thread)), cacheSecret, salt);
|
|
344
|
+
// tempData.salt = salt;
|
|
345
|
+
// }
|
|
346
|
+
// catch (error) {
|
|
347
|
+
// chatEvents.fireEvent('error', {
|
|
348
|
+
// code: error.code,
|
|
349
|
+
// message: error.message,
|
|
350
|
+
// error: error
|
|
413
351
|
// });
|
|
414
|
-
// if (messageContent.pinned) {
|
|
415
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
416
|
-
// type: 'THREAD_LAST_ACTIVITY_TIME',
|
|
417
|
-
// result: {
|
|
418
|
-
// thread: threads[0]
|
|
419
|
-
// }
|
|
420
|
-
// });
|
|
421
|
-
// }
|
|
422
352
|
// }
|
|
423
|
-
//
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
//
|
|
431
|
-
//
|
|
432
|
-
// thread: threadObject,
|
|
433
|
-
// unreadCount: (messageContent.unreadCount) ? messageContent.unreadCount : 0
|
|
353
|
+
//
|
|
354
|
+
// db.threads.put(tempData)
|
|
355
|
+
// .catch(function (error) {
|
|
356
|
+
// chatEvents.fireEvent('error', {
|
|
357
|
+
// code: error.code,
|
|
358
|
+
// message: error.message,
|
|
359
|
+
// error: error
|
|
360
|
+
// });
|
|
361
|
+
// });
|
|
434
362
|
// }
|
|
435
|
-
//
|
|
436
|
-
|
|
363
|
+
// else {
|
|
364
|
+
// chatEvents.fireEvent('error', {
|
|
365
|
+
// code: 6601,
|
|
366
|
+
// message: CHAT_ERRORS[6601],
|
|
367
|
+
// error: null
|
|
368
|
+
// });
|
|
369
|
+
// }
|
|
370
|
+
// }
|
|
371
|
+
_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_INFO_UPDATED',result:{thread:thread}});break;/**
|
|
372
|
+
* Type 31 Thread Last Seen Updated
|
|
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) {
|
|
437
374
|
// getThreads({
|
|
438
375
|
// threadIds: [messageContent.id]
|
|
439
376
|
// }, function (threadsResult) {
|
|
@@ -522,72 +459,9 @@ break;/**
|
|
|
522
459
|
* Type 65 Stop Bot
|
|
523
460
|
*/case _constants.chatMessageVOTypes.STOP_BOT:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}break;/**
|
|
524
461
|
* Type 66 Last Message Deleted
|
|
525
|
-
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_DELETED:
|
|
526
|
-
// if (fullResponseObject) {
|
|
527
|
-
// getThreads({
|
|
528
|
-
// threadIds: [messageContent.id]
|
|
529
|
-
// }, function (threadsResult) {
|
|
530
|
-
// var threads = threadsResult.result.threads;
|
|
531
|
-
//
|
|
532
|
-
// if (!threadsResult.cache) {
|
|
533
|
-
// resolve(threads[0])
|
|
534
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
535
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
536
|
-
// result: {
|
|
537
|
-
// thread: threads[0]
|
|
538
|
-
// }
|
|
539
|
-
// });
|
|
540
|
-
// }
|
|
541
|
-
// });
|
|
542
|
-
// } else {
|
|
543
|
-
// var thread = formatDataToMakeConversation(messageContent);
|
|
544
|
-
// resolve(thread);
|
|
545
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
546
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
547
|
-
// result: {
|
|
548
|
-
// thread: thread
|
|
549
|
-
// }
|
|
550
|
-
// });
|
|
551
|
-
// }
|
|
552
|
-
// }).then(thread => {
|
|
553
|
-
// if(typeof messageContent.unreadCount !== "undefined") {
|
|
554
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
555
|
-
// type: 'THREAD_UNREAD_COUNT_UPDATED',
|
|
556
|
-
// result: {
|
|
557
|
-
// thread: thread,
|
|
558
|
-
// unreadCount: (messageContent.unreadCount) ? messageContent.unreadCount : 0
|
|
559
|
-
// }
|
|
560
|
-
// });
|
|
561
|
-
// }
|
|
562
|
-
// })
|
|
563
|
-
break;/**
|
|
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;/**
|
|
564
463
|
* Type 67 Last Message Edited
|
|
565
|
-
*/case _constants.chatMessageVOTypes.LAST_MESSAGE_EDITED:
|
|
566
|
-
// getThreads({
|
|
567
|
-
// threadIds: [messageContent.id]
|
|
568
|
-
// }, function (threadsResult) {
|
|
569
|
-
// var threads = threadsResult.result.threads;
|
|
570
|
-
//
|
|
571
|
-
// if (!threadsResult.cache) {
|
|
572
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
573
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
574
|
-
// result: {
|
|
575
|
-
// thread: threads[0]
|
|
576
|
-
// }
|
|
577
|
-
// });
|
|
578
|
-
// }
|
|
579
|
-
// });
|
|
580
|
-
// } else {
|
|
581
|
-
// var thread = formatDataToMakeConversation(messageContent);
|
|
582
|
-
//
|
|
583
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
584
|
-
// type: 'THREAD_INFO_UPDATED',
|
|
585
|
-
// result: {
|
|
586
|
-
// thread: thread
|
|
587
|
-
// }
|
|
588
|
-
// });
|
|
589
|
-
// }
|
|
590
|
-
break;/**
|
|
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;/**
|
|
591
465
|
* Type 68 Get Bot Commands List
|
|
592
466
|
*/case _constants.chatMessageVOTypes.BOT_COMMANDS:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount));}break;/**
|
|
593
467
|
* Type 69 Get Thread All Bots
|
|
@@ -631,7 +505,7 @@ break;/**
|
|
|
631
505
|
* Type 145 Delete Tag
|
|
632
506
|
*/case _constants.chatMessageVOTypes.GET_TAG_LIST:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}_events.chatEvents.fireEvent('threadEvents',{type:'TAG_LIST',result:messageContent});break;/**
|
|
633
507
|
* Type 151 Delete Message Thread
|
|
634
|
-
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE_THREAD:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}
|
|
508
|
+
*/case _constants.chatMessageVOTypes.DELETE_MESSAGE_THREAD:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent));}_events.chatEvents.fireEvent('threadEvents',{type:'DELETE_THREAD',result:messageContent});break;/**
|
|
635
509
|
* Type 152 Gives us a json to export for user
|
|
636
510
|
*/case _constants.chatMessageVOTypes.EXPORT_CHAT:if(chatMessaging.messagesCallbacks[uniqueId]){chatMessaging.messagesCallbacks[uniqueId](_utility["default"].createReturnData(false,'',0,messageContent,contentCount,uniqueId));}break;/**
|
|
637
511
|
* Type 200 Adding a user to contacts list
|
|
@@ -693,15 +567,7 @@ break;/**
|
|
|
693
567
|
*/if(canUseCache&&cacheSecret.length>0){if(db){/**
|
|
694
568
|
* Insert new messages into cache database
|
|
695
569
|
* after deleting old messages from cache
|
|
696
|
-
*/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});}}
|
|
697
|
-
_store.store.threads.get(threadId).unreadCount.set(0);}message.conversation.unreadCount=_store.store.threads.get(threadId).unreadCount.get();}_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:'';// chatEvents.fireEvent('threadEvents', {
|
|
698
|
-
// type: 'THREAD_UNREAD_COUNT_UPDATED',
|
|
699
|
-
// result: {
|
|
700
|
-
// thread: threadObject,
|
|
701
|
-
// unreadCount: (threadObject.unreadCount) ? threadObject.unreadCount : 0
|
|
702
|
-
// }
|
|
703
|
-
// });
|
|
704
|
-
_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) {
|
|
705
571
|
// getThreads({
|
|
706
572
|
// threadIds: [threadId]
|
|
707
573
|
// }, function (threadsResult) {
|
|
@@ -756,31 +622,7 @@ _events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',re
|
|
|
756
622
|
* Update Message on cache
|
|
757
623
|
*/if(canUseCache&&cacheSecret.length>0){if(db){try{var tempData={},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;/**
|
|
758
624
|
* Insert Message into cache database
|
|
759
|
-
*/db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}catch(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});}}if(
|
|
760
|
-
// getThreads({
|
|
761
|
-
// threadIds: [threadId]
|
|
762
|
-
// }, function (threadsResult) {
|
|
763
|
-
// var threads = threadsResult.result.threads;
|
|
764
|
-
// if (!threadsResult.cache) {
|
|
765
|
-
// chatEvents.fireEvent('messageEvents', {
|
|
766
|
-
// type: 'MESSAGE_EDIT',
|
|
767
|
-
// result: {
|
|
768
|
-
// message: message
|
|
769
|
-
// }
|
|
770
|
-
// });
|
|
771
|
-
// if (message.pinned) {
|
|
772
|
-
// chatEvents.fireEvent('threadEvents', {
|
|
773
|
-
// type: 'THREAD_LAST_ACTIVITY_TIME',
|
|
774
|
-
// result: {
|
|
775
|
-
// thread: threads[0]
|
|
776
|
-
// }
|
|
777
|
-
// });
|
|
778
|
-
// }
|
|
779
|
-
// }
|
|
780
|
-
// });
|
|
781
|
-
// } else {
|
|
782
|
-
_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_EDIT',result:{message:message}});if(message.pinned){var thread=_store.store.threads.get(threadId);if(thread)thread=thread.get();_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:thread?thread:threadId}});}// }
|
|
783
|
-
},/**
|
|
625
|
+
*/db.messages.put(tempData)["catch"](function(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});});}catch(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});}}if(fullResponseObject){getThreads({threadIds:[threadId]},function(threadsResult){var threads=threadsResult.result.threads;if(!threadsResult.cache){_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_EDIT',result:{message:message}});if(message.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threads[0]}});}}});}else{_events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_EDIT',result:{message:message}});if(message.pinned){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_LAST_ACTIVITY_TIME',result:{thread:threadId}});}}},/**
|
|
784
626
|
* Create Thread
|
|
785
627
|
*
|
|
786
628
|
* Makes formatted Thread Object out of given contentCount,
|
|
@@ -794,7 +636,7 @@ _events.chatEvents.fireEvent('messageEvents',{type:'MESSAGE_EDIT',result:{messag
|
|
|
794
636
|
*
|
|
795
637
|
* @param showThread
|
|
796
638
|
* @return {object} Formatted Thread Object
|
|
797
|
-
*/createThread=function createThread(messageContent,addFromService,showThread){var threadData=formatDataToMakeConversation(messageContent);var redirectToThread=showThread===true?showThread:false;if(addFromService){
|
|
639
|
+
*/createThread=function createThread(messageContent,addFromService,showThread){var threadData=formatDataToMakeConversation(messageContent);var redirectToThread=showThread===true?showThread:false;if(addFromService){_events.chatEvents.fireEvent('threadEvents',{type:'THREAD_NEW',redirectToThread:redirectToThread,result:{thread:threadData}});/**
|
|
798
640
|
* Add New Thread into cache database #cache
|
|
799
641
|
*/if(canUseCache&&cacheSecret.length>0){if(db){var tempData={};try{var salt=_utility["default"].generateUUID();tempData.id=threadData.id;tempData.owner=chatMessaging.userInfo.id;tempData.title=_utility["default"].crypt(threadData.title,cacheSecret,salt);tempData.time=threadData.time;tempData.data=_utility["default"].crypt(JSON.stringify(unsetNotSeenDuration(threadData)),cacheSecret,salt);tempData.salt=salt;}catch(error){_events.chatEvents.fireEvent('error',{code:error.code,message:error.message,error:error});}db.threads.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});}}}return threadData;},/**
|
|
800
642
|
* Format Data To Make Linked User
|
|
@@ -1160,7 +1002,7 @@ content:content};/**
|
|
|
1160
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});}}/**
|
|
1161
1003
|
* Retrive get threads response from server
|
|
1162
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),
|
|
1163
|
-
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;/**
|
|
1164
1006
|
* Updating cache on separated worker to find and
|
|
1165
1007
|
* delete all messages that have been deleted from
|
|
1166
1008
|
* thread's last section
|
|
@@ -2317,7 +2159,7 @@ content:{count:count,offset:offset}};if(params){if((0,_typeof2["default"])(param
|
|
|
2317
2159
|
* + locationPingRequest {object}
|
|
2318
2160
|
* + content {list} A map of { location: string, locationId: int }
|
|
2319
2161
|
*/var locationPingData={chatMessageVOType:_constants.chatMessageVOTypes.LOCATION_PING,typeCode:generalTypeCode,//params.typeCode,
|
|
2320
|
-
pushMsgType:3,token:token},content={};if(params){if(typeof params.location==='string'&&locationPingTypes.hasOwnProperty(params.location.toUpperCase())){content.location=locationPingTypes[params.location.toUpperCase()];if(params.location.toUpperCase()==='THREAD'){if(typeof params.threadId==='number'&¶ms.threadId>0){content.locationId=+params.threadId;}else{_events.chatEvents.fireEvent('error',{code:999,message:'You set the location to be a thread, you have to send a valid ThreadId'});return;}}}else{_events.chatEvents.fireEvent('error',{code:999,message:'Send a valid location type (CHAT / THREAD / CONTACTS)'});return;}locationPingData.content=JSON.stringify(content);}else{_events.chatEvents.fireEvent('error',{code:999,message:'No params have been sent to LocationPing!'});return;}return chatMessaging.sendMessage(locationPingData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.clearChatServerCaches=clearChatServerCaches;publicized.deleteCacheDatabases=deleteCacheDatabases;publicized.clearCacheDatabasesOfUser=clearCacheDatabasesOfUser;publicized.getChatState=function(){return chatFullStateObject;};publicized.reconnect=function(){asyncClient.reconnectSocket();};publicized.setToken=function(newToken){if(typeof newToken!=='undefined'){token=newToken;callModule.updateToken(token);chatMessaging.updateToken(token);_events.chatEvents.updateToken(token);}};publicized.generateUUID=_utility["default"].generateUUID;publicized.logout=function(){clearChatServerCaches();_events.chatEvents.clearEventCallbacks();chatMessaging.messagesCallbacks={};chatMessaging.sendMessageCallbacks={};chatMessaging.threadCallbacks={};chatMessaging.stopChatPing();asyncClient.logout();};publicized.inviteeIdTypes=_constants.inviteeVOidTypes;/**
|
|
2162
|
+
pushMsgType:3,token:token},content={};if(params){if(typeof params.location==='string'&&locationPingTypes.hasOwnProperty(params.location.toUpperCase())){content.location=locationPingTypes[params.location.toUpperCase()];if(params.location.toUpperCase()==='THREAD'){if(typeof params.threadId==='number'&¶ms.threadId>0){content.locationId=+params.threadId;}else{_events.chatEvents.fireEvent('error',{code:999,message:'You set the location to be a thread, you have to send a valid ThreadId'});return;}}}else{_events.chatEvents.fireEvent('error',{code:999,message:'Send a valid location type (CHAT / THREAD / CONTACTS)'});return;}locationPingData.content=JSON.stringify(content);}else{_events.chatEvents.fireEvent('error',{code:999,message:'No params have been sent to LocationPing!'});return;}return chatMessaging.sendMessage(locationPingData,{onResult:function onResult(result){callback&&callback(result);}});};publicized.clearChatServerCaches=clearChatServerCaches;publicized.deleteCacheDatabases=deleteCacheDatabases;publicized.clearCacheDatabasesOfUser=clearCacheDatabasesOfUser;publicized.getChatState=function(){return chatFullStateObject;};publicized.reconnect=function(){asyncClient.reconnectSocket();};publicized.setToken=function(newToken){if(typeof newToken!=='undefined'){token=newToken;callModule.updateToken(token);chatMessaging.updateToken(token);_events.chatEvents.updateToken(token);if(!chatMessaging.userInfo||!chatMessaging.userInfo.id){getUserAndUpdateSDKState();}}};publicized.generateUUID=_utility["default"].generateUUID;publicized.logout=function(){clearChatServerCaches();_events.chatEvents.clearEventCallbacks();chatMessaging.messagesCallbacks={};chatMessaging.sendMessageCallbacks={};chatMessaging.threadCallbacks={};chatMessaging.stopChatPing();asyncClient.logout();};publicized.inviteeIdTypes=_constants.inviteeVOidTypes;/**
|
|
2321
2163
|
* Check a turn server availability
|
|
2322
2164
|
*
|
|
2323
2165
|
* @param turnIp
|
|
@@ -2335,6 +2177,6 @@ pc.onicecandidate=function(ice){//listen for candidate events
|
|
|
2335
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,
|
|
2336
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,
|
|
2337
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,
|
|
2338
|
-
token:token,subjectId:threadId};return chatMessaging.sendMessage(sendData,{onResult:function onResult(result){callback&&callback(result);}});};
|
|
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
|
|
2339
2181
|
window.PodChat=Chat;}var _default=Chat;// })();
|
|
2340
2182
|
exports["default"]=_default;
|