misc. fixes -- messaging

This commit is contained in:
G. Gibson 2025-08-30 17:35:52 -07:00
parent c1b8397275
commit 2f6cf12ddd
3 changed files with 21 additions and 2 deletions

View file

@ -1152,6 +1152,21 @@ module GxG
GxG::CONNECTION.push(the_message)
end
end
# Normally encrypts socket traffic
# Send format: channel.socket.send({ :payload => the_message.export.to_s.encrypt(channel.secret).encode64 }.to_json.encode64, :text)
::GxG::SOCKET_MONITOR.on(:payload) do |the_data|
the_message = ::GxG::Events::Message::import(the_data.to_s.decode64.decrypt(@csrf))
if the_message.is_a?(::GxG::Events::Message)
the_channel = ::GxG::CHANNELS.fetch_channel(the_message[:to])
unless the_channel
::GxG::CHANNELS.create_channel(the_message[:to])
the_channel = ::GxG::CHANNELS.fetch_channel(the_message[:to])
end
if the_channel
the_channel.write(the_message)
end
end
end
::GxG::DISPATCHER.add_periodic_timer({:interval => 0.333}) do
::GxG::SOCKET_MONITOR.follow_up
end

View file

@ -33,8 +33,11 @@ module GxG
channel = self.fetch_channel(destination.to_s.to_sym)
if channel
channel.write(the_message)
result = true
else
# Send format: channel.socket.send({ :payload => the_message.export.to_s.encrypt(channel.secret).encode64 }.to_json.encode64, :text)
socket.send({ :payload => the_message.export.to_s.encrypt(connector.secret).encode64 }.to_json.encode64, :text)
end
result = true
end
# email address -- TODO
end
@ -100,7 +103,7 @@ module GxG
unless args[0].is_a?(::Hash)
raise ArgumentError, "you must pass a Hash to create the message"
end
@data = {:sender => nil, :id => (::GxG.uuid_generate().to_s.to_sym), :subject => args[1], :body => nil, :on_success => nil, :on_fail => nil}.merge(args[0])
@data = {:sender => nil. :id => GxG::uuid_generate().to_s.to_sym, :subject => args[1], :body => nil, :on_success => nil, :on_fail => nil}.merge(args[0])
unless @data[:sender]
raise ArgumentError, "you must set the :sender key in the argument Hash"
end

View file

@ -1,5 +1,6 @@
#!/bin/bash
source /etc/profile
rm ./gxg.js
#opal -I ./gxg -I ./gxg/deps -I ./gxg/standard --compile gxg_web.rb > gxg.js
opal -I ./gxg -I ./gxg/deps -I ./gxg/standard --compile gxg_web.rb > gxg.js
# minify ./gxg.js > ../src/main/gxg.js