Benjamin Kampmann
68107e6285
Merge pull request #963 from gnunicorn/ben-update-ruma
...
chore: Update ruma
2022-08-18 16:13:15 +02:00
Benjamin Kampmann
549c829000
chore: Update ruma
2022-08-18 15:52:08 +02:00
Jonas Platte
3581d83389
chore: Upgrade Ruma
2022-08-17 10:15:05 +02:00
Jonas Platte
260b604615
refactor(sdk)!: Split strongly-typed state event functions into two
...
One for empty state keys under the existing name, one for non-empty
state keys with a `_for_key` suffix.
2022-08-17 10:15:05 +02:00
Ivan Enderlin
a1dca23c3c
Merge pull request #958 from Hywan/feat-crypto-js-attachment
2022-08-17 10:12:04 +02:00
Benjamin Kampmann
9fd5a8b3b1
Merge pull request #960 from matrix-org/poljar/delete-device-log-improvement
...
Improve the log line when we think our device has been deleted
2022-08-17 09:46:26 +02:00
Damir Jelić
180822dd18
chore(crypto): Improve the message when we think that we have been deleted
2022-08-16 18:32:14 +02:00
Damir Jelić
20477ab7da
chore(crypto): Log our identity keys when we think our device has been deleted
2022-08-16 18:31:30 +02:00
Damir Jelić
06f39696d3
chore(crypto): Improve some logs in the Olm message handling code
2022-08-16 16:18:50 +02:00
Damir Jelić
6f5443f8a0
chore(crypto): Log some info when we try to create an Olm session from a pre-key message
2022-08-16 16:18:50 +02:00
Ivan Enderlin
45a66f3321
doc(crypto-nodejs): Fix a typo.
2022-08-16 16:06:04 +02:00
Ivan Enderlin
7f35691236
feat(crypto-js): Implemented the Attachment API.
...
Implement the `Attachment.encrypt` and `Attachment.decrypt` methods,
along with its `EncryptedAttachment` companion.
The trick is to avoid copies as much as possible. Instead of dealing
with `Uint8Array` as I've initially done, `&[u8]` and `Vec<u8>` is
passed instead. `wasm-bindgen` is smart enough to do as few copies as
possible (from JavaScript to Wasm's memory is required, and we don't
want to do more), while typing everything as `Uint8Array`.
`EncryptedAttachment.encryptedData` returns a copy of the data
everytime it is called, and that's the last copy I'm not happy with.
2022-08-16 15:56:36 +02:00
Benjamin Kampmann
e8d51a4cba
Merge pull request #956 from gnunicorn/ben-fix-encode-key
...
fix(sled): Remove unused `from` on EncodeUnchecked
2022-08-16 15:51:36 +02:00
Benjamin Kampmann
7feffec9c0
fix(sled): feature-gate EncodeUnchecked::from
2022-08-16 15:18:46 +02:00
Ivan Enderlin
fd220f197b
doc: Add link to online documentation for crypto-js and crypto-nodejs
...
doc: Add link to online documentation for crypto-js and crypto-nodejs
2022-08-16 10:21:39 +02:00
Ivan Enderlin
655e62814b
doc(crypto-nodejs) Add link to online documentation.
2022-08-16 10:06:22 +02:00
Ivan Enderlin
c2468b2f2e
doc(crypto-js) Add link to online documentation.
2022-08-16 10:04:54 +02:00
Benjamin Kampmann
e0ae4f60e3
docs(examples): update instructions for wasm_command_bot example
...
Merge pull request #952 from chrisguida/chrisguida/wasm-bot-readme -
2022-08-16 09:48:33 +02:00
Chris Guida
2beb13cc3e
update instructions for wasm_command_bot example
2022-08-15 17:56:54 -05:00
Damir Jelić
78dcff9259
chore(crypto): Fix an indentation issue
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2022-08-15 11:39:43 +02:00
Damir Jelić
0bd58a7741
refactor(crypto): Simplify the Curve25519 check when fetching a device
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2022-08-15 11:39:43 +02:00
Damir Jelić
405c3938b7
refactor(crypto): Use the Curve25519 key type in more places
2022-08-15 11:39:43 +02:00
Damir Jelić
bd5ea8b0f7
fix(crypto): Fix some error messages
2022-08-15 11:39:43 +02:00
Jonas Platte
24c042e974
refactor(base): Deserialize events at the expected type
...
… rather than deserializing at an enum type and taking the same branch
for getting a different enum variant¹ as failed deserialization.
¹ which should be impossible anyways
2022-08-15 11:05:22 +02:00
Jonas Platte
d236cde0c7
refactor(base): Use StateStoreExt in a few places
2022-08-15 11:05:22 +02:00
Jonas Platte
d2f39bc18f
feat(base): Add StateStoreExt for statically-typed event retrieval
2022-08-15 11:05:22 +02:00
Jonas Platte
96165f5602
chore(bindings): Use ? operator instead of and_then chaining
2022-08-15 11:05:22 +02:00
Damir Jelić
4a13b8d207
ci: Ignore thead when checking for spelling
2022-08-14 10:20:28 +02:00
Damir Jelić
c9c09adb38
chore: Fix some newly detected typos
2022-08-14 10:20:28 +02:00
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