async-matrix 1.2.0 → 1.2.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: '044956d2cd8c29c0875733a8245ad009d61dfa59efcfcb7556ba24605f4aa073'
4
- data.tar.gz: 917fb89e79e7ae68dc590ae287b612e5e940351601af5532ac2c7b93dafb1a42
3
+ metadata.gz: 2a0c3eee197effa06e2abe173a328734d5c0e2db5c033c26a24030813d7ad69b
4
+ data.tar.gz: 597a3fdae49b1fdf17584bdb181067c27f3fc6e2877e56ec4607f60bff242c06
5
5
  SHA512:
6
- metadata.gz: 2044815f830d6f47e958a322fe09fad2773a07146d6dd39f5b5474d5c48f8f46a2a96e6c5fa6ebf38d4c11cbf57a305fcdb3ced1e55873d21fd3eff507dc1041
7
- data.tar.gz: a1304c33ff1bd07ddf11965ef98f65495a4458b45ec346dff23e0881ed30327009de1fc4cdfee0b1806b384ca0d61893f1efdbeaa657d732a489b32614704d4b
6
+ metadata.gz: d596428929e71d223463ac9bd28f78941cd9ced8e6dde5ccb9450f9c5fd7e0e527ae2953c5592a6d3ffa93b7a5557f74935a58fddee6de687d466d7540c7b426
7
+ data.tar.gz: 87faa2828aba3103c88feb145a0b53bb1bbfb2f05adaa795e05f7020c6cc15aa1bc81b51a260e5485b986eb2d4196b18d82e954309cdbbae2b56a99a73c1bd12
@@ -9,7 +9,9 @@ name = "async_matrix_e2ee"
9
9
  crate-type = ["cdylib"]
10
10
 
11
11
  [dependencies]
12
- magnus = "0.7"
12
+ # magnus 0.8 is required for Ruby 4.0 C-API compatibility (0.7 fails to compile
13
+ # against Ruby 4.0: rb_fiber_raise pointer mutability + RTypedData.typed_flag).
14
+ magnus = "0.8"
13
15
 
14
16
  # vodozemac 0.10.0 (2026-04-13), default features (libolm-compat).
15
17
  #
@@ -27,7 +27,9 @@ use vodozemac::megolm::{
27
27
  // --- helpers ---------------------------------------------------------------
28
28
 
29
29
  fn rt_err<E: std::fmt::Display>(e: E) -> Error {
30
- Error::new(magnus::exception::runtime_error(), e.to_string())
30
+ // Safe: every caller runs inside a Ruby method invocation (GVL held).
31
+ let ruby = Ruby::get().expect("rt_err called outside the Ruby VM");
32
+ Error::new(ruby.exception_runtime_error(), e.to_string())
31
33
  }
32
34
 
33
35
  fn key32(label: &str, bytes: &[u8]) -> Result<[u8; 32], Error> {
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Matrix
8
- VERSION = "1.2.0"
8
+ VERSION = "1.2.1"
9
9
  end
10
10
  end
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: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Kidd