realtimex 2.0.0 → 2.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8401391664a412d0b303e7b627ec75580d6d56f1d6b20d4cccb5b537d0f3f07a
4
- data.tar.gz: 984978e072d033e17394e63a14c57228dad5851be3ac854fb965079d12cec125
3
+ metadata.gz: 9fe93a87a37917d71f417e879a14a8c30a561fa65caeccf2e8448764e19b3459
4
+ data.tar.gz: 3f3ca0cd8cd25a19942ea75ee5130b66b477059be6358040d630450b210b8803
5
5
  SHA512:
6
- metadata.gz: d6a3aba3f5638d32dc590e89bdf84ca32f750eed94decc155aab2c96f3ed42ceeec4fe0f71b3de63899cba5e9f4880b55563090dad817e9e2fc37453e8a74fec
7
- data.tar.gz: fc0dd351bdffaddedc26493265acc6f3a9489455ee76f2b4fe6f62b76090705cf97956f6305811a08be4d693d0c92c4f31cacec1cea4857eecac5bd6c09e5745
6
+ metadata.gz: f7a41f4a01cdddfc78e40cb9bb4634067c83969a7da8cbe9c44c1b66ce9bc608134b091c8d1a11a7be3fcbab79ae84f524689d3f700ba17e11c2c7292a6ae7bb
7
+ data.tar.gz: ffcce8f81349772680fc2e52119e35aa842412c7ddcc04da39d2ddbe8d2bd1f6fe76f95354ee6427b0da3e01153de10c6d09ee3e49b53e2e22f2a9ac2fc89f2d
@@ -49,13 +49,26 @@ class RealtimeX::Connection
49
49
  end
50
50
 
51
51
  def handle_message(data)
52
+ return unless data.is_a?(String)
53
+
54
+ puts "[RealtimeX] Parsing message: #{data}" if @debug
55
+
52
56
  # Parse Socket.IO message format: 42["event",{data}]
53
57
  if data.start_with?('42[')
54
- json_part = data[3..-2] # Remove '42[' and ']'
55
- parts = JSON.parse("[#{json_part}]")
58
+ # Extract JSON part safely
59
+ json_start = data.index('[', 2)
60
+ return unless json_start
61
+
62
+ json_part = data[json_start..-1]
63
+ parts = JSON.parse(json_part)
64
+
65
+ return unless parts.is_a?(Array) && parts.length >= 2
66
+
56
67
  event = parts[0]
57
68
  event_data = parts[1]
58
69
 
70
+ puts "[RealtimeX] Parsed event: #{event}" if @debug
71
+
59
72
  case event
60
73
  when 'server-event'
61
74
  emit('message', event_data)
@@ -64,7 +77,9 @@ class RealtimeX::Connection
64
77
  end
65
78
  end
66
79
  rescue JSON::ParserError => e
67
- puts "[RealtimeX] Failed to parse message: #{e.message}" if @debug
80
+ puts "[RealtimeX] JSON parse error: #{e.message}" if @debug
81
+ rescue => e
82
+ puts "[RealtimeX] Message handling error: #{e.message}" if @debug
68
83
  end
69
84
 
70
85
  def send_subscribe(channel)
@@ -1,3 +1,3 @@
1
1
  class RealtimeX
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: realtimex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - RealtimeX Team