social_stream-presence 0.13.2 → 0.13.3

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.
@@ -69,6 +69,7 @@ PRESENCE.XMPPClient = (function(P,$,undefined){
69
69
  this.affiliation = "none";
70
70
  this.role = "none";
71
71
  this.nick = getBaseNickFromUserName();
72
+ this.lastMessageId = null;
72
73
  }
73
74
 
74
75
 
@@ -360,7 +361,6 @@ PRESENCE.XMPPClient = (function(P,$,undefined){
360
361
 
361
362
  //Chat messages handler
362
363
  var onMessage = function(msg) {
363
-
364
364
  var from = msg.getAttribute('from');
365
365
  var type = msg.getAttribute('type');
366
366
  var elems = msg.getElementsByTagName('body');
@@ -895,17 +895,27 @@ PRESENCE.XMPPClient = (function(P,$,undefined){
895
895
  ///////
896
896
 
897
897
  //MUC Messages
898
- var onRoomMessage = function(msg) {
898
+ var onRoomMessage = function(roomMsg) {
899
+
899
900
  //from=roomSlug@conference.domain/from_slug
900
- var from = msg.getAttribute('from');
901
- var type = msg.getAttribute('type');
902
- var elems = msg.getElementsByTagName('body');
901
+ var from = roomMsg.getAttribute('from');
902
+ var type = roomMsg.getAttribute('type');
903
+ var elems = roomMsg.getElementsByTagName('body');
903
904
 
904
905
  if (type == "groupchat" && elems.length > 0) {
905
906
  var body = elems[0];
906
907
  var user_nick = getNickFromChatRoomJid(from)
907
908
  var msg = Strophe.getText(body);
908
- PRESENCE.UIMANAGER.afterReceivedGroupChatMessage(from,msg)
909
+
910
+ //Prevent repeated messages
911
+ var roomSlug = getSlugFromJid(from);
912
+ var id = roomMsg.getAttribute('id');
913
+ if((roomSlug in roomsInfo)&&(roomsInfo[roomSlug].lastMessageId != null)&&(roomsInfo[roomSlug].lastMessageId == id)){
914
+ return true;
915
+ }
916
+ roomsInfo[roomSlug].lastMessageId = id;
917
+
918
+ PRESENCE.UIMANAGER.afterReceivedGroupChatMessage(from,msg)
909
919
  }
910
920
  return true;
911
921
  }
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Presence
3
- VERSION = "0.13.2"
3
+ VERSION = "0.13.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,8 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream-presence
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.13.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 13
8
+ - 3
9
+ version: 0.13.3
6
10
  platform: ruby
7
11
  authors:
8
12
  - Aldo Gordillo
@@ -10,7 +14,8 @@ autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
16
 
13
- date: 2012-05-16 00:00:00 Z
17
+ date: 2012-05-16 00:00:00 +02:00
18
+ default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: social_stream-base
@@ -20,6 +25,10 @@ dependencies:
20
25
  requirements:
21
26
  - - ~>
22
27
  - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 20
31
+ - 1
23
32
  version: 0.20.1
24
33
  type: :runtime
25
34
  version_requirements: *id001
@@ -31,6 +40,8 @@ dependencies:
31
40
  requirements:
32
41
  - - ">="
33
42
  - !ruby/object:Gem::Version
43
+ segments:
44
+ - 0
34
45
  version: "0"
35
46
  type: :runtime
36
47
  version_requirements: *id002
@@ -42,6 +53,8 @@ dependencies:
42
53
  requirements:
43
54
  - - ">="
44
55
  - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
45
58
  version: "0"
46
59
  type: :runtime
47
60
  version_requirements: *id003
@@ -53,6 +66,8 @@ dependencies:
53
66
  requirements:
54
67
  - - ">="
55
68
  - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
56
71
  version: "0"
57
72
  type: :runtime
58
73
  version_requirements: *id004
@@ -64,6 +79,8 @@ dependencies:
64
79
  requirements:
65
80
  - - ">="
66
81
  - !ruby/object:Gem::Version
82
+ segments:
83
+ - 0
67
84
  version: "0"
68
85
  type: :development
69
86
  version_requirements: *id005
@@ -272,6 +289,7 @@ files:
272
289
  - vendor/assets/javascripts/strophe.muc.js
273
290
  - vendor/assets/stylesheets/flexselect.css
274
291
  - vendor/assets/stylesheets/jquery.ui.chatbox.css
292
+ has_rdoc: true
275
293
  homepage: https://github.com/ging/social_stream/wiki/Getting-Started-With-Social-Stream-Presence
276
294
  licenses: []
277
295
 
@@ -285,17 +303,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
285
303
  requirements:
286
304
  - - ">="
287
305
  - !ruby/object:Gem::Version
306
+ segments:
307
+ - 0
288
308
  version: "0"
289
309
  required_rubygems_version: !ruby/object:Gem::Requirement
290
310
  none: false
291
311
  requirements:
292
312
  - - ">="
293
313
  - !ruby/object:Gem::Version
314
+ segments:
315
+ - 0
294
316
  version: "0"
295
317
  requirements: []
296
318
 
297
319
  rubyforge_project: social_stream-presence
298
- rubygems_version: 1.8.24
320
+ rubygems_version: 1.3.7
299
321
  signing_key:
300
322
  specification_version: 3
301
323
  summary: Presence capabilities for Social Stream, the core for building social network websites.