async-matrix 1.2.0 → 2.0.0

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/ext/async_matrix_e2ee/Cargo.toml +3 -1
  3. data/ext/async_matrix_e2ee/src/lib.rs +3 -1
  4. data/lib/async/discord/api/path_tree.rb +2 -5
  5. data/lib/async/discord/api.rb +1 -6
  6. data/lib/async/discord/client.rb +1 -4
  7. data/lib/async/discord/error.rb +1 -5
  8. data/lib/async/discord/gateway.rb +1 -4
  9. data/lib/async/discord.rb +0 -1
  10. data/lib/async/matrix/api/chain.rb +1 -4
  11. data/lib/async/matrix/api/concat.rb +1 -5
  12. data/lib/async/matrix/api/path_tree.rb +1 -4
  13. data/lib/async/matrix/api.rb +1 -5
  14. data/lib/async/matrix/application_service/bot.rb +4 -7
  15. data/lib/async/matrix/application_service/config/vivify.rb +1 -5
  16. data/lib/async/matrix/application_service/config.rb +1 -4
  17. data/lib/async/matrix/application_service/dispatcher.rb +65 -9
  18. data/lib/async/matrix/application_service/error_response.rb +1 -5
  19. data/lib/async/matrix/application_service/event.rb +1 -5
  20. data/lib/async/matrix/application_service/server.rb +339 -211
  21. data/lib/async/matrix/application_service/transaction.rb +1 -5
  22. data/lib/async/matrix/application_service/transaction_handler.rb +185 -0
  23. data/lib/async/matrix/application_service/transaction_store.rb +1 -5
  24. data/lib/async/matrix/bridge/discord/db/connection.rb +1 -3
  25. data/lib/async/matrix/bridge/discord/db/file.rb +2 -4
  26. data/lib/async/matrix/bridge/discord/db/guild.rb +2 -4
  27. data/lib/async/matrix/bridge/discord/db/message.rb +2 -4
  28. data/lib/async/matrix/bridge/discord/db/portal.rb +2 -4
  29. data/lib/async/matrix/bridge/discord/db/puppet.rb +2 -4
  30. data/lib/async/matrix/bridge/discord/db/reaction.rb +2 -4
  31. data/lib/async/matrix/bridge/discord/db/schema.rb +18 -0
  32. data/lib/async/matrix/bridge/discord/db/user.rb +2 -4
  33. data/lib/async/matrix/bridge/discord/db.rb +14 -16
  34. data/lib/async/matrix/client.rb +1 -4
  35. data/lib/async/matrix/connection.rb +1 -4
  36. data/lib/async/matrix/double_puppet_client.rb +2 -4
  37. data/lib/async/matrix/e2ee.rb +1 -2
  38. data/lib/async/matrix/endpoint.rb +1 -4
  39. data/lib/async/matrix/error.rb +1 -4
  40. data/lib/async/matrix/media_client.rb +1 -4
  41. data/lib/async/matrix/notifier.rb +1 -4
  42. data/lib/async/matrix/schema/registry.rb +1 -2
  43. data/lib/async/matrix/schema/validation_error.rb +1 -2
  44. data/lib/async/matrix/schema.rb +1 -5
  45. data/lib/async/matrix/server.rb +1 -4
  46. data/lib/async/matrix/stream.rb +1 -4
  47. data/lib/async/matrix/version.rb +1 -1
  48. data/lib/async/matrix.rb +4 -1
  49. metadata +23 -7
@@ -115,7 +115,7 @@ module Async
115
115
  end
116
116
  end
117
117
 
118
- test do
118
+ __END__
119
119
  describe "Async::Matrix::Schema::ValidationError" do
120
120
  def error_hash(overrides = {})
121
121
  {
@@ -223,4 +223,3 @@ test do
223
223
  err.errors.should.equal raw
224
224
  end
225
225
  end
226
- end
@@ -3,9 +3,6 @@
3
3
  # Released under the Apache License, Version 2.0.
4
4
  # Copyright, 2026, by General Intelligence Systems.
5
5
 
6
- require "bundler/setup"
7
- require "async/matrix"
8
-
9
6
  module Async
10
7
  module Matrix
11
8
  # Schema-driven validation for Matrix events using the official matrix-org/matrix-spec
@@ -91,7 +88,7 @@ module Async
91
88
  end
92
89
  end
93
90
 
94
- test do
91
+ __END__
95
92
  describe "Async::Matrix::Schema" do
96
93
  it "looks up schemas by event type" do
97
94
  schema = Async::Matrix::Schema["m.room.message"]
@@ -171,4 +168,3 @@ test do
171
168
  event.schema.should.not.be.nil
172
169
  end
173
170
  end
174
- end
@@ -3,9 +3,7 @@
3
3
  # Released under the Apache License, Version 2.0.
4
4
  # Copyright, 2026, by General Intelligence Systems.
5
5
 
6
- require "bundler/setup"
7
6
  require "async/http"
8
- require "async/matrix"
9
7
 
10
8
  module Async
11
9
  module Matrix
@@ -14,8 +12,7 @@ module Async
14
12
  end
15
13
  end
16
14
 
17
- test do
15
+ __END__
18
16
  it "inherits from Async::HTTP::Protocol::HTTP2::Server" do
19
17
  Async::Matrix::Server.ancestors.should.include Async::HTTP::Protocol::HTTP2::Server
20
18
  end
21
- end
@@ -3,9 +3,7 @@
3
3
  # Released under the Apache License, Version 2.0.
4
4
  # Copyright, 2026, by General Intelligence Systems.
5
5
 
6
- require "bundler/setup"
7
6
  require "async/http"
8
- require "async/matrix"
9
7
 
10
8
  module Async
11
9
  module Matrix
@@ -14,8 +12,7 @@ module Async
14
12
  end
15
13
  end
16
14
 
17
- test do
15
+ __END__
18
16
  it "inherits from Async::HTTP::Protocol::HTTP2::Stream" do
19
17
  Async::Matrix::Stream.ancestors.should.include Async::HTTP::Protocol::HTTP2::Stream
20
18
  end
21
- end
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Matrix
8
- VERSION = "1.2.0"
8
+ VERSION = "2.0.0"
9
9
  end
10
10
  end
data/lib/async/matrix.rb CHANGED
@@ -5,7 +5,6 @@
5
5
 
6
6
  require "bundler/setup"
7
7
  require "async/http"
8
- require "scampi"
9
8
 
10
9
  module Async
11
10
  module Matrix
@@ -14,6 +13,10 @@ end
14
13
 
15
14
  Dir.glob("#{__dir__}/matrix/**/*.rb").sort.each do |path|
16
15
  next if path.include?("/migrations/")
16
+ # The Discord bridge is opt-in — it pulls in Sequel and opens a placeholder
17
+ # database at load time. Require "async/matrix/bridge/discord/db" explicitly
18
+ # when you need it, so plain Matrix use stays free of that dependency.
19
+ next if path.include?("/bridge/")
17
20
  require path
18
21
  end
19
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-matrix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Kidd
@@ -52,33 +52,33 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.30'
54
54
  - !ruby/object:Gem::Dependency
55
- name: json_schemer
55
+ name: grape
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '2.0'
60
+ version: '3.3'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '2.0'
67
+ version: '3.3'
68
68
  - !ruby/object:Gem::Dependency
69
- name: scampi
69
+ name: json_schemer
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 0.1.7
74
+ version: '2.0'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 0.1.7
81
+ version: '2.0'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: sequel
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -121,6 +121,20 @@ dependencies:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0.9'
124
+ - !ruby/object:Gem::Dependency
125
+ name: scampi
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.0'
124
138
  - !ruby/object:Gem::Dependency
125
139
  name: falcon
126
140
  requirement: !ruby/object:Gem::Requirement
@@ -523,6 +537,7 @@ files:
523
537
  - lib/async/matrix/application_service/event.rb
524
538
  - lib/async/matrix/application_service/server.rb
525
539
  - lib/async/matrix/application_service/transaction.rb
540
+ - lib/async/matrix/application_service/transaction_handler.rb
526
541
  - lib/async/matrix/application_service/transaction_store.rb
527
542
  - lib/async/matrix/bridge/discord/db.rb
528
543
  - lib/async/matrix/bridge/discord/db/connection.rb
@@ -539,6 +554,7 @@ files:
539
554
  - lib/async/matrix/bridge/discord/db/portal.rb
540
555
  - lib/async/matrix/bridge/discord/db/puppet.rb
541
556
  - lib/async/matrix/bridge/discord/db/reaction.rb
557
+ - lib/async/matrix/bridge/discord/db/schema.rb
542
558
  - lib/async/matrix/bridge/discord/db/user.rb
543
559
  - lib/async/matrix/client.rb
544
560
  - lib/async/matrix/connection.rb