Avatar for the matrix-org user
matrix-org
matrix-rust-sdk
BlogDocsChangelog

feat(crypto): Add support for encrypted state events to `matrix-sdk-crypto`

#5539Merged
Comparing
kaylendog/msc3414/crypto
(
13ee4c8
) with
main
(
7bbd02c
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
31
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

Restore session [SQLite][clear]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload::Restore session [SQLite][clear]
CodSpeed Performance Gauge
+11%
703.8 ms
635.4 ms
Devices collecting [memory][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting::Devices collecting [memory][2003 devices]
CodSpeed Performance Gauge
+3%
11 ms
10.7 ms
Linked chunk writing [memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [memory store][1000]
CodSpeed Performance Gauge
+3%
3.6 ms
3.5 ms
Linked chunk lazy loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[memory store][10]
CodSpeed Performance Gauge
+1%
34.1 µs
33.7 µs
Linked chunk writing [none][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [none][100]
CodSpeed Performance Gauge
0%
85.4 µs
85.2 µs
Linked chunk writing [sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [sqlite store][100]
CodSpeed Performance Gauge
0%
2 ms
2 ms
Linked chunk writing [sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [sqlite store][10]
CodSpeed Performance Gauge
0%
502 µs
501.6 µs
Device keys query [SQLite][153 device and cross signing keys]
benchmarks/benches/crypto_bench.rs::benches::keys_query::Keys querying::Device keys query [SQLite][153 device and cross signing keys]
CodSpeed Performance Gauge
0%
40.1 ms
40.1 ms
Room key sharing [SQLite][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing::Room key sharing [SQLite][163 devices]
CodSpeed Performance Gauge
0%
57.7 ms
57.7 ms
Linked chunk metadata loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[memory store][100]
CodSpeed Performance Gauge
0%
21.3 µs
21.3 µs
Restore session [SQLite][encrypted]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload::Restore session [SQLite][encrypted]
CodSpeed Performance Gauge
0%
1.2 s
1.2 s
Linked chunk writing [sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [sqlite store][1000]
CodSpeed Performance Gauge
0%
19.9 ms
19.9 ms
Linked chunk writing [none][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [none][1000]
CodSpeed Performance Gauge
0%
794.1 µs
794.2 µs
Device keys query [memory][153 device and cross signing keys]
benchmarks/benches/crypto_bench.rs::benches::keys_query::Keys querying::Device keys query [memory][153 device and cross signing keys]
CodSpeed Performance Gauge
0%
27.6 ms
27.7 ms
Linked chunk writing [memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [memory store][10]
CodSpeed Performance Gauge
0%
52.4 µs
52.5 µs
Restore session [memory store]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload::Restore session [memory store]
CodSpeed Performance Gauge
0%
180.7 ms
180.8 ms
Linked chunk metadata loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[sqlite store][10]
CodSpeed Performance Gauge
0%
173.4 µs
173.5 µs
Linked chunk lazy loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[memory store][1000]
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
Linked chunk metadata loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[memory store][1000]
CodSpeed Performance Gauge
0%
774.9 µs
775.9 µs
Devices collecting [SQLite][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting::Devices collecting [SQLite][2003 devices]
CodSpeed Performance Gauge
0%
113.5 ms
113.6 ms
Linked chunk lazy loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[sqlite store][100]
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
Linked chunk metadata loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[memory store][10]
CodSpeed Performance Gauge
0%
5.8 µs
5.8 µs
Linked chunk metadata loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[sqlite store][1000]
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
Linked chunk writing [none][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [none][10]
CodSpeed Performance Gauge
0%
15.5 µs
15.5 µs
Room key sharing [memory][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing::Room key sharing [memory][163 devices]
CodSpeed Performance Gauge
0%
46.6 ms
46.7 ms
Linked chunk lazy loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[sqlite store][1000]
CodSpeed Performance Gauge
0%
14.9 ms
15 ms
Linked chunk metadata loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk metadata loader[sqlite store][100]
CodSpeed Performance Gauge
0%
245.1 µs
245.9 µs
Linked chunk lazy loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[memory store][100]
CodSpeed Performance Gauge
-1%
189.7 µs
191 µs
Create a timeline with initial events[10000 events]
benchmarks/benches/timeline.rs::room::create_timeline_with_initial_events::Create a timeline::Create a timeline with initial events[10000 events]
CodSpeed Performance Gauge
-2%
730 ms
747.4 ms
Linked chunk writing [memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing::Linked chunk writing [memory store][100]
CodSpeed Performance Gauge
-3%
352.8 µs
365.3 µs
Linked chunk lazy loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading::Linked chunk lazy loader[sqlite store][10]
CodSpeed Performance Gauge
-4%
423.2 µs
439.7 µs

Commits

Click on a commit to change the comparison range
Base
main
7bbd02c
0%
feat: Add naive state key verification to OlmMachine Modifies `OlmMachine::decrypt_room_event_inner` to call a new method `OlmMachine::verify_packed_state_key` which, if the event is a state event, verifies that the original event's state key, when unpacked, matches the state key and event type in the decrypted event content. Introduces MegolmError::StateKeyVerificationFailed and UnableToDecryptReason::StateKeyVerificationFailed which are thrown when the verification fails. Signed-off-by: Skye Elliot <actuallyori@gmail.com>
84ebbd9
7 days ago
by kaylendog
0%
tests(crypto): Document introduced tests and helper Signed-off-by: Skye Elliot <actuallyori@gmail.com>
13ee4c8
41 minutes ago
by kaylendog
© 2025 CodSpeed Technology
Home Terms Privacy Docs