selfsdk 0.0.171 → 0.0.172
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 +4 -4
- data/lib/messages/authentication_req.rb +1 -1
- data/lib/messages/base.rb +10 -1
- data/lib/messages/fact_request.rb +1 -1
- data/lib/messaging.rb +16 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e68f10b976ff9d53d2a5983300d48d1893ea831b18128198ee022e7191f9184
|
4
|
+
data.tar.gz: bf4d068f07d59e804700b278d1f12062301fdb4922960f71c7f6fbefd30a81fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b9d95c1241a0852ed1b8a11965fbab426f380929ffa27dbce41b2a761b6aacaa971fdc608aaeefc90d605646f03fa798bde4491def9b98dbbb01a2c1070289f
|
7
|
+
data.tar.gz: 93615191987f3bbce66d7f544afefc66869a740864a910666cb4b4374f580cd75dacd3a9b4a624b93c7569008ff73b1ffb598fd8fd775793b2a76ab58e268d59
|
@@ -43,7 +43,7 @@ module SelfSDK
|
|
43
43
|
def proto(to_device)
|
44
44
|
Msgproto::Message.new(type: Msgproto::MsgType::MSG,
|
45
45
|
sender: "#{@jwt.id}:#{@messaging.device_id}",
|
46
|
-
id:
|
46
|
+
id: SecureRandom.uuid,
|
47
47
|
recipient: "#{@to}:#{to_device}",
|
48
48
|
ciphertext: encrypt_message(@jwt.prepare(body), @to, to_device))
|
49
49
|
end
|
data/lib/messages/base.rb
CHANGED
@@ -21,8 +21,13 @@ module SelfSDK
|
|
21
21
|
msgs = []
|
22
22
|
devices.each do |d|
|
23
23
|
msgs << proto(d)
|
24
|
-
SelfSDK.logger.info "synchronously messaging to #{@to}:#{d}"
|
25
24
|
end
|
25
|
+
current_devices.each do |d|
|
26
|
+
if d != @messaging.device_id
|
27
|
+
msgs << proto(d)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
SelfSDK.logger.info "synchronously messaging to #{@to}"
|
26
31
|
res = @messaging.send_and_wait_for_response(msgs, self)
|
27
32
|
res
|
28
33
|
end
|
@@ -84,6 +89,10 @@ module SelfSDK
|
|
84
89
|
@client.devices(@intermediary)
|
85
90
|
end
|
86
91
|
|
92
|
+
def current_devices
|
93
|
+
@client.devices(@jwt.id)
|
94
|
+
end
|
95
|
+
|
87
96
|
def check_credits!
|
88
97
|
app = @client.app(@jwt.id)
|
89
98
|
raise "Your credits have expired, please log in to the developer portal and top up your account." if app[:paid_actions] == false
|
data/lib/messaging.rb
CHANGED
@@ -101,15 +101,27 @@ module SelfSDK
|
|
101
101
|
# @param type [string] message type
|
102
102
|
# @param request [hash] original message requesing information
|
103
103
|
def send_custom(recipient, request_body)
|
104
|
-
|
105
|
-
|
106
|
-
send_message msg = Msgproto::Message.new(
|
104
|
+
@client.devices(recipient).each do |to_device|
|
105
|
+
send_message Msgproto::Message.new(
|
107
106
|
type: Msgproto::MsgType::MSG,
|
108
107
|
id: SecureRandom.uuid,
|
109
108
|
sender: "#{@jwt.id}:#{@device_id}",
|
110
|
-
recipient: "#{recipient}:#{
|
109
|
+
recipient: "#{recipient}:#{to_device}",
|
111
110
|
ciphertext: @jwt.prepare(request_body),
|
112
111
|
)
|
112
|
+
end
|
113
|
+
|
114
|
+
@client.devices(@jwt.id).each do |to_device|
|
115
|
+
if to-device != @device_id
|
116
|
+
send_message Msgproto::Message.new(
|
117
|
+
type: Msgproto::MsgType::MSG,
|
118
|
+
id: SecureRandom.uuid,
|
119
|
+
sender: "#{@jwt.id}:#{@device_id}",
|
120
|
+
recipient: "#{recipient}:#{to_device}",
|
121
|
+
ciphertext: @jwt.prepare(request_body),
|
122
|
+
)
|
123
|
+
end
|
124
|
+
end
|
113
125
|
end
|
114
126
|
|
115
127
|
# Allows incomming messages from the given identity
|
@@ -281,10 +293,6 @@ module SelfSDK
|
|
281
293
|
loop { sleep 10; clean_timeouts }
|
282
294
|
end
|
283
295
|
|
284
|
-
Thread.new do
|
285
|
-
loop { sleep 30; ping }
|
286
|
-
end
|
287
|
-
|
288
296
|
@mon.synchronize do
|
289
297
|
@acks[auth_id][:waiting_cond].wait_while { @acks[auth_id][:waiting] }
|
290
298
|
@acks.delete(auth_id)
|
@@ -351,11 +359,6 @@ module SelfSDK
|
|
351
359
|
end
|
352
360
|
end
|
353
361
|
|
354
|
-
# Pings the websocket server to keep the connection alive.
|
355
|
-
def ping
|
356
|
-
# SelfSDK.logger.info "ping"
|
357
|
-
@ws&.ping
|
358
|
-
end
|
359
362
|
|
360
363
|
# Process an event when it arrives through the websocket connection.
|
361
364
|
def on_message(event)
|