summaryrefslogtreecommitdiff
path: root/controllers/session.rb
diff options
context:
space:
mode:
Diffstat (limited to 'controllers/session.rb')
-rw-r--r--controllers/session.rb16
1 files changed, 9 insertions, 7 deletions
diff --git a/controllers/session.rb b/controllers/session.rb
index d61fdd5..3d5d707 100644
--- a/controllers/session.rb
+++ b/controllers/session.rb
@@ -82,17 +82,19 @@ module NanoBot
ready = false
@provider.evaluate(input) do |output, finished|
- output = Logic::Cartridge::Interaction.output(
- @cartridge, mode.to_sym, output, streaming, finished
- )
-
- output[:message] = Components::Adapter.apply(:output, output[:message])
-
updated_at = Time.now
if finished
- @state[:history] << output
+ @state[:history] << Marshal.load(Marshal.dump(output))
+
+ output = Logic::Cartridge::Interaction.output(
+ @cartridge, mode.to_sym, output, streaming, finished
+ )
+
+ output[:message] = Components::Adapter.apply(:output, output[:message])
+
self.print(output[:message]) unless streaming
+
ready = true
flush
elsif streaming