actionmcp 0.31.0 → 0.31.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: 92a0e52de9e401a8e10b8aa49d40cba39769e58f4206c7810face00774e9a5ab
4
- data.tar.gz: a0e4fd9420fc44688ea20bb4d4697fbd009594a6d414bafc13563523ed9c5c8a
3
+ metadata.gz: '04854ab6466f148e4d5db713d595acbedbe52420cdf7cfc9c1635a61b513678d'
4
+ data.tar.gz: 69ed1465da06169ed2115c63d108be8cc1d1c5ecc988d1c2ac563dc5ad41c3b9
5
5
  SHA512:
6
- metadata.gz: 055db3b1d213b6993694f703bd94a729dc70e2c640580e33828ac8a9193a21302fefadb5de40a89cdde88587114af92966f8675a9e97600fdf53dc01bfd6843b
7
- data.tar.gz: 413bc80f29ea5b92b3214a77cae4e42509569b9c5f93b2ce8e10b793797cabad6735fdb4103d96128ca425c1fcf4f04f35cfd5992eaaded1e6262e4f758b0355
6
+ metadata.gz: 38d9feb89e3f5584cdca0ed4adf27ee02321d97c125513ad114e335a0a7c701fbc7ce5e69ec448d806e020a9d89c6f6b91c220a96030422866b1788ed9eb9775
7
+ data.tar.gz: 903100988152291df5ea15f53b3c859721bdee80e22a7440999c7cc8a219ae2fbd63f6e18e34d3b481a2e60301712316284d74dd7ae877c89945bebbb7dfb504
@@ -20,8 +20,9 @@ module ActionMCP
20
20
  Rails.logger.info "SSE: Starting connection for session: #{session_id}"
21
21
 
22
22
  # Use Concurrent primitives for state management
23
- message_received = Concurrent::AtomicBoolean.new(false)
24
- connection_active = Concurrent::AtomicBoolean.new(true)
23
+ message_received = Concurrent::AtomicBoolean.new
24
+ connection_active = Concurrent::AtomicBoolean.new
25
+ connection_active.make_true
25
26
 
26
27
  begin
27
28
  # Create SSE instance
@@ -58,8 +58,14 @@ module ActionMCP
58
58
  def close!
59
59
  dummy_callback = ->(*) { } # this callback seem broken
60
60
  adapter.unsubscribe(session_key, dummy_callback)
61
- update!(status: "closed", ended_at: Time.zone.now)
62
- subscriptions.delete_all # delete all subscriptions
61
+ if messages_count.zero?
62
+ # if there are no messages, we can delete the session immediately
63
+ destroy
64
+ nil
65
+ else
66
+ update!(status: "closed", ended_at: Time.zone.now)
67
+ subscriptions.delete_all # delete all subscriptions
68
+ end
63
69
  end
64
70
 
65
71
  # MESSAGING dispatch
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative "gem_version"
4
4
  module ActionMCP
5
- VERSION = "0.31.0"
5
+ VERSION = "0.31.1"
6
6
 
7
7
  class << self
8
8
  alias version gem_version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionmcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.31.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abdelkader Boudih