podchat-browser 11.3.2-snapshot.0 → 11.3.2

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.
@@ -30,7 +30,7 @@
30
30
  <script type="text/javascript">
31
31
  // Developement
32
32
  var PodChat = window.POD.Chat;
33
- var env = 'sandbox'; // main | sandbox | integration
33
+ var env = 'main'; // main | sandbox | integration
34
34
 
35
35
  var params = {
36
36
  appId: new Date().getTime(),
@@ -1922,6 +1922,20 @@ Thread: <input type="text" id="threadInput" autocomplete="on" width="500">
1922
1922
  <hr>
1923
1923
  <br>
1924
1924
 
1925
+ <form>
1926
+ <fieldset>
1927
+ <legend>Forward Message</legend>
1928
+ <label for="sendTextThread">Thread Id</label>
1929
+ <input type="text" name="sendTextThread" id="forwardMessageDestinationThreadId" class="custom-thread-id" value="952801">
1930
+ <input type="text" placeholder="messageId1, messageId2" id="forwardMessageMessageIds" value="2660372, 2660335">
1931
+ <button type="button" name="button" id="forwardMessage">Forward Message(s)</button>
1932
+ </fieldset>
1933
+ </form>
1934
+
1935
+ <br>
1936
+ <hr>
1937
+ <br>
1938
+
1925
1939
  <form>
1926
1940
  <fieldset>
1927
1941
  <legend>Resend Message by UniqueId</legend>
@@ -3081,6 +3095,19 @@ Thread: <input type="text" id="threadInput" autocomplete="on" width="500">
3081
3095
  });
3082
3096
  });
3083
3097
 
3098
+ document.getElementById("forwardMessage").addEventListener("click", function (event) {
3099
+ event.preventDefault();
3100
+ var threadId = document.getElementById("forwardMessageDestinationThreadId").value;
3101
+ var messageIds = document.getElementById("forwardMessageMessageIds").value;
3102
+ messageIds = messageIds.split(",").map(function(item) {
3103
+ return Number(item);
3104
+ });
3105
+
3106
+ chatAgent.forwardMessage({
3107
+ threadId: Number(threadId),
3108
+ messageIds: messageIds instanceof Array ? messageIds : [ messageIds ],
3109
+ }, {})
3110
+ })
3084
3111
  </script>
3085
3112
 
3086
3113
  </html>
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "podchat-browser",
3
- "version": "11.3.2-snapshot.0",
3
+ "version": "11.3.2",
4
4
  "description": "Javascript SDK to use POD's Chat Service - Browser Only",
5
5
  "main": "./src/chat.js",
6
6
  "scripts": {
7
7
  "test": "mocha --reporter spec --exit",
8
- "bundle": "browserify browser-bundling.js -o ./dist/podchat-11.3.1.js",
8
+ "bundle": "browserify browser-bundling.js -o ./dist/podchat-11.3.2.js",
9
9
  "publish:snapshot": "npm run version:snapshot && npm publish --tag snapshot",
10
10
  "version:snapshot": "npm version prerelease --preid snapshot",
11
11
  "publish:release": "npm run version:release && npm publish",
12
- "version:release": "npm version 11.3.1"
12
+ "version:release": "npm version 11.3.2"
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
@@ -1370,7 +1370,25 @@
1370
1370
  }
1371
1371
  }
1372
1372
  },
1373
+ activateParticipantStream: function (userId, mediaType, direction, topicNameKey, sendTopic, mediaKey) {
1374
+ if(callUsers[userId]) {
1375
+ callUsers[userId][mediaKey] = (mediaKey !== 'mute');
1376
+ callUsers[userId][topicNameKey] = (mediaType === 'audio'? 'Vo-': 'Vi-') + sendTopic;
1373
1377
 
1378
+ var user = callUsers[userId];
1379
+ callStateController.appendUserToCallDiv(userId, callStateController.generateHTMLElements(userId));
1380
+ setTimeout(function () {
1381
+ callStateController.createTopic(userId, user[topicNameKey], mediaType, direction);
1382
+ })
1383
+ }
1384
+ },
1385
+ deactivateParticipantStream: function (userId, topicNameKey, mediaKey) {
1386
+ callUsers[userId][mediaKey] = false;
1387
+ var user = callUsers[userId];
1388
+ clearInterval(callUsers[userId].topicMetaData[user[topicNameKey]].interval)
1389
+ callStateController.removeTopic(userId, user[topicNameKey]);
1390
+ callStateController.removeStreamFromWebRTC(userId, user[topicNameKey]);
1391
+ },
1374
1392
  setMediaBitrates: function (sdp) {
1375
1393
  return this.setMediaBitrate(this.setMediaBitrate(sdp, "video", 400), "audio", 50);
1376
1394
  },
@@ -1411,7 +1429,7 @@
1411
1429
  newLines = newLines.concat(lines.slice(line, lines.length));
1412
1430
  consoleLogging && console.debug("[SDK][setMediaBitrate] output: ", newLines.join("\n"));
1413
1431
  return newLines.join("\n")
1414
- }
1432
+ },
1415
1433
  },
1416
1434
 
1417
1435
  sendCallSocketError = function (message) {
@@ -2129,14 +2147,19 @@
2129
2147
  } else {
2130
2148
  if(Array.isArray(messageContent)){
2131
2149
  for(var i in messageContent) {
2132
- if(callUsers[messageContent[i].userId]) {
2150
+ callStateController.deactivateParticipantStream(
2151
+ messageContent[i].userId,
2152
+ 'audioTopicName',
2153
+ 'mute'
2154
+ )
2155
+ /*if(callUsers[messageContent[i].userId]) {
2133
2156
  callUsers[messageContent[i].userId].mute = true;
2134
2157
 
2135
2158
  var user = callUsers[messageContent[i].userId];
2136
2159
  clearInterval(callUsers[messageContent[i].userId].topicMetaData[user.audioTopicName].interval)
2137
2160
  callStateController.removeTopic(messageContent[i].userId, user.audioTopicName);
2138
2161
  callStateController.removeStreamFromWebRTC(messageContent[i].userId, user.audioTopicName);
2139
- }
2162
+ }*/
2140
2163
  }
2141
2164
  }
2142
2165
  }
@@ -2157,7 +2180,15 @@
2157
2180
  } else {
2158
2181
  if(Array.isArray(messageContent)) {
2159
2182
  for(var i in messageContent) {
2160
- if(callUsers[messageContent[i].userId]) {
2183
+ callStateController.activateParticipantStream(
2184
+ messageContent[i].userId,
2185
+ 'audio',
2186
+ 'receive',
2187
+ 'audioTopicName',
2188
+ messageContent[i].sendTopic,
2189
+ 'mute'
2190
+ );
2191
+ /*if(callUsers[messageContent[i].userId]) {
2161
2192
  callUsers[messageContent[i].userId].mute = false;
2162
2193
  callUsers[messageContent[i].userId].audioTopicName = 'Vo-' + messageContent[i].sendTopic;
2163
2194
 
@@ -2167,7 +2198,7 @@
2167
2198
  callStateController.createTopic(messageContent[i].userId, user.audioTopicName, 'audio', 'receive');
2168
2199
 
2169
2200
  })
2170
- }
2201
+ }*/
2171
2202
  }
2172
2203
  }
2173
2204
  }
@@ -2213,7 +2244,15 @@
2213
2244
  } else {
2214
2245
  if(Array.isArray(messageContent)) {
2215
2246
  for(var i in messageContent) {
2216
- if(callUsers[messageContent[i].userId]) {
2247
+ callStateController.activateParticipantStream(
2248
+ messageContent[i].userId,
2249
+ 'video',
2250
+ 'receive',
2251
+ 'videoTopicName',
2252
+ messageContent[i].sendTopic,
2253
+ 'video'
2254
+ );
2255
+ /*if(callUsers[messageContent[i].userId]) {
2217
2256
  callUsers[messageContent[i].userId].video = true;
2218
2257
  callUsers[messageContent[i].userId].videoTopicName = 'Vi-' + messageContent[i].sendTopic;
2219
2258
 
@@ -2222,7 +2261,7 @@
2222
2261
  setTimeout(function () {
2223
2262
  callStateController.createTopic(messageContent[i].userId, user.videoTopicName, 'video', 'receive');
2224
2263
  })
2225
- }
2264
+ }*/
2226
2265
  }
2227
2266
  }
2228
2267
  }
@@ -2250,13 +2289,18 @@
2250
2289
  } else {
2251
2290
  if(Array.isArray(messageContent)){
2252
2291
  for(var i in messageContent) {
2253
- if(callUsers[messageContent[i].userId]) {
2292
+ callStateController.deactivateParticipantStream(
2293
+ messageContent[i].userId,
2294
+ 'videoTopicName',
2295
+ 'video'
2296
+ )
2297
+ /* if(callUsers[messageContent[i].userId]) {
2254
2298
  callUsers[messageContent[i].userId].video = false;
2255
2299
  var user = callUsers[messageContent[i].userId];
2256
2300
  clearInterval(callUsers[messageContent[i].userId].topicMetaData[user.videoTopicName].interval)
2257
2301
  callStateController.removeTopic(messageContent[i].userId, user.videoTopicName);
2258
2302
  callStateController.removeStreamFromWebRTC(messageContent[i].userId, user.videoTopicName);
2259
- }
2303
+ }*/
2260
2304
  }
2261
2305
  }
2262
2306
  }
@@ -3127,8 +3171,15 @@
3127
3171
  sendMessageParams.content = params.userIds;
3128
3172
  }
3129
3173
  }
3174
+ callStateController.deactivateParticipantStream(
3175
+ chatMessaging.userInfo.id,
3176
+ 'audioTopicName',
3177
+ 'mute'
3178
+ )
3179
+ /*
3130
3180
  callStateController.removeTopic(chatMessaging.userInfo.id, callUsers[chatMessaging.userInfo.id].audioTopicName)
3131
3181
  callStateController.removeStreamFromWebRTC(chatMessaging.userInfo.id, callUsers[chatMessaging.userInfo.id].audioTopicName)
3182
+ */
3132
3183
 
3133
3184
  return chatMessaging.sendMessage(sendMessageParams, {
3134
3185
  onResult: function (result) {
@@ -3170,6 +3221,26 @@
3170
3221
  sendMessageParams.content = params.userIds;
3171
3222
  }
3172
3223
  }
3224
+ var myId = chatMessaging.userInfo.id;
3225
+
3226
+ callStateController.activateParticipantStream(
3227
+ myId,
3228
+ 'audio',
3229
+ 'send',
3230
+ 'audioTopicName',
3231
+ callUsers[myId].topicSend,
3232
+ 'mute'
3233
+ );
3234
+ /*if(callUsers[myId]) {
3235
+ callUsers[myId].mute = false;
3236
+ callUsers[myId].audioTopicName = 'Vo-' + callUsers[myId].topicSend;
3237
+
3238
+ var user = callUsers[myId];
3239
+ callStateController.appendUserToCallDiv(myId, callStateController.generateHTMLElements(myId));
3240
+ setTimeout(function () {
3241
+ callStateController.createTopic(myId, user.audioTopicName, 'audio', 'send');
3242
+ })
3243
+ }*/
3173
3244
 
3174
3245
  return chatMessaging.sendMessage(sendMessageParams, {
3175
3246
  onResult: function (result) {
@@ -3183,6 +3254,19 @@
3183
3254
  // TODO : What is the result?!
3184
3255
  var messageContent = result.result;
3185
3256
  returnData.result = messageContent;
3257
+
3258
+ /*for(var i in result.result) {
3259
+ if(callUsers[result.result[i].userId]) {
3260
+ callUsers[result.result[i].userId].mute = false;
3261
+ callUsers[result.result[i].userId].audioTopicName = 'Vo-' + result.result[i].sendTopic;
3262
+
3263
+ var user = callUsers[result.result[i].userId];
3264
+ callStateController.appendUserToCallDiv(result.result[i].userId, callStateController.generateHTMLElements(result.result[i].userId));
3265
+ setTimeout(function () {
3266
+ callStateController.createTopic(result.result[i].userId, user.audioTopicName, 'audio', 'send');
3267
+ })
3268
+ }
3269
+ }*/
3186
3270
  }
3187
3271
  callback && callback(returnData);
3188
3272
  }
@@ -3219,7 +3303,15 @@
3219
3303
  onResult: function (result) {
3220
3304
  if(!result.hasError && Array.isArray(result.result)) {
3221
3305
  for(var i in result.result) {
3222
- if(callUsers[result.result[i].userId]) {
3306
+ callStateController.activateParticipantStream(
3307
+ result.result[i].userId,
3308
+ 'video',
3309
+ 'send',
3310
+ 'videoTopicName',
3311
+ result.result[i].sendTopic,
3312
+ 'video'
3313
+ );
3314
+ /*if(callUsers[result.result[i].userId]) {
3223
3315
  callUsers[result.result[i].userId].video = true;
3224
3316
  callUsers[result.result[i].userId].mute = result.result[i].mute;
3225
3317
  callUsers[result.result[i].userId].videoTopicName = 'Vi-' + result.result[i].sendTopic;
@@ -3229,7 +3321,7 @@
3229
3321
  setTimeout(function () {
3230
3322
  callStateController.createTopic(result.result[i].userId, user.videoTopicName, 'video', 'send');
3231
3323
  })
3232
- }
3324
+ }*/
3233
3325
  }
3234
3326
  }
3235
3327
  callback && callback(result);
@@ -3262,8 +3354,16 @@
3262
3354
  });
3263
3355
  return;
3264
3356
  }
3357
+
3358
+ callStateController.deactivateParticipantStream(
3359
+ chatMessaging.userInfo.id,
3360
+ 'videoTopicName',
3361
+ 'video'
3362
+ )
3363
+ /*
3265
3364
  callStateController.removeTopic(chatMessaging.userInfo.id, callUsers[chatMessaging.userInfo.id].videoTopicName)
3266
3365
  callStateController.removeStreamFromWebRTC(chatMessaging.userInfo.id, callUsers[chatMessaging.userInfo.id].videoTopicName)
3366
+ */
3267
3367
 
3268
3368
  return chatMessaging.sendMessage(turnOffVideoData, {
3269
3369
  onResult: function (result) {
package/src/chat.js CHANGED
@@ -11389,7 +11389,7 @@
11389
11389
  callbacks: callbacks
11390
11390
  }, function () {
11391
11391
  chatSendQueueHandler();
11392
- });
11392
+ }, true);
11393
11393
  };
11394
11394
 
11395
11395
  this.deliver = function (params) {