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

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

#5519Closed
Comparing
kaylendog:kaylendog/msc3414/crypto
(
17818dd
) with
main
(
ae7f0fe
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
31
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

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 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
+2%
5.7 µs
5.6 µ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%
190.7 µs
189 µs
Restore session [SQLite][clear]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload::Restore session [SQLite][clear]
CodSpeed Performance Gauge
+1%
640 ms
635.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
+1%
504.5 µs
501.9 µ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.3 µs
85 µ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 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
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%
171.6 µs
171.3 µs
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
0%
3.6 ms
3.6 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%
244.7 µs
244.4 µ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 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%
15 ms
15 ms
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.6 ms
113.4 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
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
0%
798.8 ms
798.6 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.4 µs
794.3 µ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.4 ms
46.4 ms
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.6 ms
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.7 ms
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
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%
755.3 µs
755.7 µ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 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
0%
423.2 µs
423.5 µs
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%
20.9 µs
20.9 µ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 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
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
-1%
57.4 ms
57.7 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
-1%
362.3 µs
365.7 µs
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
-1%
52.4 µs
52.9 µs
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%
33.7 µs
34.2 µs

Commits

Click on a commit to change the comparison range
Base
main
ae7f0fe
+0.14%
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>
17818dd
22 days ago
by kaylendog
© 2025 CodSpeed Technology
Home Terms Privacy Docs