Jonas Platte
aedbbcdde7
fix(sdk)!: Remove SyncEvent implementation for InitialStateEvent
...
Initial state events aren't actually received through sync, they're sent from
the client to the server when creating a room.
This change makes it impossible to register event handlers for initial state
events. Previously, this was allowed, but the event handler was never called.
2022-08-13 20:21:28 +02:00
Jonas Platte
97f37acb4a
chore: Reduce indirect dependencies of sled-state-inspector
2022-08-13 13:08:11 +02:00
Damir Jelić
0b5bfeadea
chore(crypto): Add a missing semicolon
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2022-08-13 09:58:57 +02:00
Damir Jelić
6d60acfff4
chore(common): Fix a clippy warning
2022-08-13 09:58:57 +02:00
Damir Jelić
3d56af442d
refactor(crypto): Utilize the decrypted Olm event type more
...
This patch adds some more stronger guarantees that received room key
events and other similarly security critical event types are only
handled if they have been received over a secure Olm channel.
2022-08-13 09:58:57 +02:00
Damir Jelić
ae18b01c25
refactor(crypto): Use the SigningKeys collection for inbound group sessions
2022-08-11 16:43:42 +02:00
Damir Jelić
4692a12cd7
refactor(crypto): Create a custom collection type for signed keys
2022-08-11 16:43:42 +02:00
Jonas Platte
344309c1bf
chore: Track Cargo.lock to make binding staticlibs reproducible
2022-08-11 13:32:32 +02:00
Jonas Platte
87094a9111
chore: Document dependency upgrade issues
2022-08-11 13:16:10 +02:00
Jonas Platte
adf3f9d434
chore(appservice): Upgrade serde_yaml
2022-08-11 13:15:57 +02:00
Jonas Platte
158bd24b40
chore: Bump pprof dependency
2022-08-11 13:09:09 +02:00
Jonas Platte
8e368d86b7
chore: Use the latest git version of UniFFI
2022-08-11 12:56:17 +02:00
Jonas Platte
0fe714df86
chore: Upgrade sled-state-inspector dependencies
2022-08-11 11:59:50 +02:00
Jonas Platte
936f0371de
chore: Use once_cell instead of lazy_static in integration test crate
2022-08-11 10:45:04 +02:00
Jonas Platte
ecc800a319
chore: Sort dependencies of integration test crate
2022-08-11 10:32:12 +02:00
docweirdo
febfcf9796
feat(sdk): Make room actions return typed room objects
...
… by waiting for the corresponding event confirming the action. Affects:
* Creating a room
* (Re-)Joining a room
* Leaving a room
* Accepting an invitation
* Rejecting an invitation
2022-08-10 17:32:38 +02:00
Damir Jelić
3f0a68082a
feat(crypto): Add a setting to only send room keys to trusted devices
2022-08-10 13:31:15 +02:00
Damir Jelić
18861bb595
refactor(crypto): Add a dedicated error for inbound group session exporting
2022-08-10 13:28:54 +02:00
Damir Jelić
329d461a2f
feat(crypto): Add customized event type for the forwarded room key
2022-08-10 13:28:54 +02:00
Jonas Platte
4914c595e9
fix(sdk): Further relax event / notification handler bounds on WASM
...
This allows capturing non-`Send` / -`Sync` values in handler closures.
2022-08-10 12:54:36 +02:00
Jonas Platte
ad80839ffd
fix(sdk): Make event handler futures non-Send on wasm
2022-08-09 14:25:57 +02:00
Jonas Platte
0701561e45
feat(common): Add SendOutsideWasm, SyncOutsideWasm
2022-08-09 14:25:57 +02:00
Jonas Platte
25030780b0
test(sdk): Run event handler tests on wasm
2022-08-09 14:25:57 +02:00
Jonas Platte
327a404d60
test(sdk): Move test client creation into separate module
2022-08-09 14:25:57 +02:00
Damir Jelić
06e096f6cc
fix(examples): Fix the in-room emoji verification example
2022-08-09 14:04:11 +02:00
Damir Jelić
a025163dae
test(crypto): Test that we correctly preserve relations in an encryption cycle
2022-08-09 14:04:11 +02:00
Damir Jelić
19fcff56de
chore(crypto): Make the relation copying code when decrypting a bit simpler
2022-08-09 14:04:11 +02:00
Damir Jelić
edf81fb325
fix(crypto): Correctly copy over the relation when encrypting
2022-08-09 14:04:11 +02:00
Damir Jelić
08338acac2
fix(crypto): Fix the deserialization of relations
2022-08-09 14:04:11 +02:00
Kévin Commaille
52e70f1955
refactor(sdk): Don't require the whole session for sending
...
Allow to send requests when only the access token is available.
Remove the unreachable UserIdRequired error.
2022-08-09 12:26:33 +02:00
Jonas Platte
e788ec6b07
ci: Only test one node.js version on macOS
2022-08-08 18:06:54 +02:00
Jonas Platte
d3d108deb8
chore: Add missing copyright headers
2022-08-08 16:28:48 +02:00
Jonas Platte
bd65d9b7a6
doc(sdk): Remove usage of deprecated function in doctest
2022-08-05 16:16:41 +02:00
Jonas Platte
230bb67763
refactor(sdk): Remove Clone requirement on event handlers
2022-08-05 16:16:41 +02:00
Jonas Platte
10a37f6d51
chore(sdk): Add EventHandlerDropGuard
...
It isn't used for now, but will be soon.
2022-08-05 16:16:41 +02:00
Jonas Platte
5156fb7dd4
refactor(sdk): Move add_event_handler_impl to event_handler module
2022-08-05 16:16:41 +02:00
Jonas Platte
3b03ad804f
refactor(sdk)!: Swap the async lock around event handlers for a sync one
2022-08-05 16:16:41 +02:00
Damir Jelić
603176f521
chore(crypto): Bump vodozemac
...
Vodozemac got some new knobs to twiddle with. This patch updates
vodozemac and sets the knobs to use the olm/megolm v1 supported
encryption schemes.
2022-08-05 14:06:42 +02:00
Jonas Platte
dfec17e6af
chore: Disable testing of crates without tests
...
This reduces the amount of "running 0 tests" spam when testing the whole
workspace and makes testing a little faster overall.
2022-08-05 11:10:31 +02:00
Kévin Commaille
7623f93bb3
fix(sdk)!: Make set_homeserver private
...
A user shouldn't need to change the homeserver after creating the client.
2022-08-05 09:55:55 +02:00
Jonas Platte
a60620306c
ci: Update tarpaulin.toml
2022-08-04 23:43:49 +02:00
Jonas Platte
1fea48359d
ci: Checkout head ref instead of merge commit for coverage
...
… this *should* fix bogus coverage change reporting.
2022-08-04 23:43:49 +02:00
Jonas Platte
054dfa98a0
ci: Upgrade checkout action
2022-08-04 23:43:49 +02:00
Damir Jelić
593d4e6062
perf(crypto): Use an RwLock for the OutboundGroupSession
2022-08-04 17:36:03 +02:00
Jonas Platte
5a94ba7b80
refactor(sled)!: Align open_with_database with its documentation
...
It now takes a passphrase instead of a store cipher as the second argument.
2022-08-04 17:04:31 +02:00
Jonas Platte
e1b7f3be05
refactor(sled): Simplify test code
2022-08-04 17:04:31 +02:00
Jonas Platte
6bed51f016
refactor(indexeddb)!: Use &str for name in public API
2022-08-04 17:04:31 +02:00
Jonas Platte
4db162b8a2
chore(indexeddb): Clean up Result usage
2022-08-04 17:04:31 +02:00
Jonas Platte
0b1bdd66f9
refactor(indexeddb): Export error types
2022-08-04 17:04:31 +02:00
Jonas Platte
a4f3c3a070
refactor!: Give sled / indexeddb types unique names
2022-08-04 17:04:31 +02:00