lex-microsoft_teams 0.5.0 → 0.5.2

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: c9f65eaac56b416e05eb5d96d914d6e3a88b86c91fdd083162fa09e5a6c887f4
4
- data.tar.gz: ba6cd5f7d0d1b08cc8bc880cd8ab0db61d799ba66afaca8ae1938df057149a16
3
+ metadata.gz: 04b94ffb46a95a36eb66ec477890cdde5fe1c438cd1e4e6b93ecd1759a7d36d4
4
+ data.tar.gz: 22010f036440e7e63e03c55c432ef22e2ecee592adb7d124cc55bc7444201ec6
5
5
  SHA512:
6
- metadata.gz: e996a958fbffca134f301089fcc9c3be7abd03ef73f7b756f975198d3653dcbefaaa53a3ddf26c3afd33c92aea574f33336200604912088383e7ac6acdff54d5
7
- data.tar.gz: 800d036ddcb4a99ee833b3abb3ff255a60f1102625ed8ef1ec0ea9ad90c0e0195b654b8b14a0fff41835eb4288191c62fd0aaf03fcb8b58b087c752b1c32f20e
6
+ metadata.gz: 1ab613f4985c7131d7c748802b6b2ae0239e88d8e1f73ae375912d2a5bdfe05755fdd9d0592bce9cccbba3a48796868a727df8ea109d308d08aa408703cf665e
7
+ data.tar.gz: ae176b71bf531f00831483b8a77c610165ceb65350f03bfbe2407eb587c7c348f06adb24d5c53179efd20441707095f80586f95429a6001482fd4652e5c8f811
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.2] - 2026-03-18
4
+
5
+ ### Fixed
6
+ - CallbackServer Ruby 4.0 compatibility: replaced `CGI.parse` with `URI.decode_www_form` (avoids extracted cgi gem dependency)
7
+ - CallbackServer header drain loop: fixed infinite loop when client disconnects before sending empty line
8
+ - Broadened rescue in listen thread to `StandardError` to prevent silent thread death
9
+
10
+ ## [0.5.1] - 2026-03-17
11
+
12
+ ### Added
13
+ - `Transport` module extending `Legion::Extensions::Transport` to provide the `build` method expected by LegionIO's `build_transport`
14
+
3
15
  ## [0.5.0] - 2026-03-16
4
16
 
5
17
  ### Added
data/CLAUDE.md CHANGED
@@ -10,7 +10,7 @@ Legion Extension that connects LegionIO to Microsoft Teams via Graph API and Bot
10
10
 
11
11
  **GitHub**: https://github.com/LegionIO/lex-microsoft_teams
12
12
  **License**: MIT
13
- **Version**: 0.5.0
13
+ **Version**: 0.5.1
14
14
 
15
15
  ## Architecture
16
16
 
@@ -197,7 +197,7 @@ Optional framework dependencies (guarded with `defined?`, not in gemspec):
197
197
 
198
198
  ```bash
199
199
  bundle install
200
- bundle exec rspec # 185 specs (as of v0.5.0)
200
+ bundle exec rspec # 185 specs (as of v0.5.1)
201
201
  bundle exec rubocop # Clean
202
202
  ```
203
203
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'socket'
4
- require 'cgi'
4
+ require 'uri'
5
5
 
6
6
  module Legion
7
7
  module Extensions
@@ -53,16 +53,19 @@ module Legion
53
53
  client = @server.accept
54
54
  request_line = client.gets
55
55
  # drain headers
56
- nil until client.gets&.strip&.empty?
56
+ loop do
57
+ line = client.gets
58
+ break if line.nil? || line.strip.empty?
59
+ end
57
60
 
58
61
  if request_line&.include?('/callback?')
59
62
  query = request_line.split[1].split('?', 2).last
60
- params = CGI.parse(query)
63
+ params = URI.decode_www_form(query).to_h
61
64
 
62
65
  @mutex.synchronize do
63
66
  @result = {
64
- code: params['code']&.first,
65
- state: params['state']&.first
67
+ code: params['code'],
68
+ state: params['state']
66
69
  }
67
70
  @cv.broadcast
68
71
  end
@@ -72,8 +75,8 @@ module Legion
72
75
  client.close
73
76
  break if @result
74
77
  end
75
- rescue IOError
76
- nil # server closed
78
+ rescue StandardError
79
+ nil # server closed or unexpected error
77
80
  end
78
81
  end
79
82
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module MicrosoftTeams
6
+ module Transport
7
+ extend Legion::Extensions::Transport
8
+ end
9
+ end
10
+ end
11
+ end
@@ -3,7 +3,7 @@
3
3
  module Legion
4
4
  module Extensions
5
5
  module MicrosoftTeams
6
- VERSION = '0.5.0'
6
+ VERSION = '0.5.2'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-microsoft_teams
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -66,7 +66,6 @@ files:
66
66
  - CLAUDE.md
67
67
  - Dockerfile
68
68
  - Gemfile
69
- - Gemfile.lock
70
69
  - LICENSE
71
70
  - README.md
72
71
  - docs/plans/2026-03-15-meetings-transcripts-design.md
@@ -105,6 +104,7 @@ files:
105
104
  - lib/legion/extensions/microsoft_teams/runners/subscriptions.rb
106
105
  - lib/legion/extensions/microsoft_teams/runners/teams.rb
107
106
  - lib/legion/extensions/microsoft_teams/runners/transcripts.rb
107
+ - lib/legion/extensions/microsoft_teams/transport.rb
108
108
  - lib/legion/extensions/microsoft_teams/transport/exchanges/messages.rb
109
109
  - lib/legion/extensions/microsoft_teams/transport/messages/teams_message.rb
110
110
  - lib/legion/extensions/microsoft_teams/transport/queues/messages_process.rb
data/Gemfile.lock DELETED
@@ -1,103 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- lex-microsoft_teams (0.5.0)
5
- base64 (>= 0.1)
6
- faraday (>= 2.0)
7
- snappy (>= 0.5)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- addressable (2.8.9)
13
- public_suffix (>= 2.0.2, < 8.0)
14
- ast (2.4.3)
15
- base64 (0.3.0)
16
- bigdecimal (4.0.1)
17
- diff-lcs (1.6.2)
18
- docile (1.4.1)
19
- faraday (2.14.1)
20
- faraday-net_http (>= 2.0, < 3.5)
21
- json
22
- logger
23
- faraday-net_http (3.4.2)
24
- net-http (~> 0.5)
25
- json (2.19.1)
26
- json-schema (6.2.0)
27
- addressable (~> 2.8)
28
- bigdecimal (>= 3.1, < 5)
29
- language_server-protocol (3.17.0.5)
30
- lint_roller (1.1.0)
31
- logger (1.7.0)
32
- mcp (0.8.0)
33
- json-schema (>= 4.1)
34
- net-http (0.9.1)
35
- uri (>= 0.11.1)
36
- parallel (1.27.0)
37
- parser (3.3.10.2)
38
- ast (~> 2.4.1)
39
- racc
40
- prism (1.9.0)
41
- public_suffix (7.0.5)
42
- racc (1.8.1)
43
- rainbow (3.1.1)
44
- rake (13.3.1)
45
- regexp_parser (2.11.3)
46
- rspec (3.13.2)
47
- rspec-core (~> 3.13.0)
48
- rspec-expectations (~> 3.13.0)
49
- rspec-mocks (~> 3.13.0)
50
- rspec-core (3.13.6)
51
- rspec-support (~> 3.13.0)
52
- rspec-expectations (3.13.5)
53
- diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.13.0)
55
- rspec-mocks (3.13.8)
56
- diff-lcs (>= 1.2.0, < 2.0)
57
- rspec-support (~> 3.13.0)
58
- rspec-support (3.13.7)
59
- rspec_junit_formatter (0.6.0)
60
- rspec-core (>= 2, < 4, != 2.12.0)
61
- rubocop (1.85.1)
62
- json (~> 2.3)
63
- language_server-protocol (~> 3.17.0.2)
64
- lint_roller (~> 1.1.0)
65
- mcp (~> 0.6)
66
- parallel (~> 1.10)
67
- parser (>= 3.3.0.2)
68
- rainbow (>= 2.2.2, < 4.0)
69
- regexp_parser (>= 2.9.3, < 3.0)
70
- rubocop-ast (>= 1.49.0, < 2.0)
71
- ruby-progressbar (~> 1.7)
72
- unicode-display_width (>= 2.4.0, < 4.0)
73
- rubocop-ast (1.49.1)
74
- parser (>= 3.3.7.2)
75
- prism (~> 1.7)
76
- ruby-progressbar (1.13.0)
77
- simplecov (0.22.0)
78
- docile (~> 1.1)
79
- simplecov-html (~> 0.11)
80
- simplecov_json_formatter (~> 0.1)
81
- simplecov-html (0.13.2)
82
- simplecov_json_formatter (0.1.4)
83
- snappy (0.5.0)
84
- unicode-display_width (3.2.0)
85
- unicode-emoji (~> 4.1)
86
- unicode-emoji (4.2.0)
87
- uri (1.1.1)
88
-
89
- PLATFORMS
90
- arm64-darwin-25
91
- ruby
92
- x86_64-linux
93
-
94
- DEPENDENCIES
95
- lex-microsoft_teams!
96
- rake
97
- rspec
98
- rspec_junit_formatter
99
- rubocop
100
- simplecov
101
-
102
- BUNDLED WITH
103
- 2.6.9