Damir Jelić
bf7070b8f2
Merge branch 'client-get-session' into master
2020-10-12 15:45:55 +02:00
Denis Kasak
d81a6e6872
cargo fmt
2020-10-12 15:17:46 +02:00
Denis Kasak
2afc0c7661
Implement BaseClient::get_session to retrieve the login session.
...
Closes #100 .
2020-10-12 15:12:23 +02:00
Denis Kasak
f349811020
Add Serialize/Deserialize impls for matrix_sdk::Session.
2020-10-12 14:56:08 +02:00
Damir Jelić
661f182382
Merge branch 'master' into crypto-improvements
2020-10-08 18:28:04 +02:00
Dominique Martinet
2602c36ad0
matrix_sdk_base: save room states after successfully parsed account events
2020-10-08 16:10:58 +02:00
Dominique Martinet
d858940342
matrix_sdk_base: handle response.account_data events
...
"m.direct" events are not in room account data events but in main one
2020-10-08 16:10:58 +02:00
Dominique Martinet
883183324f
matrix_sdk_base: room: add direct_target field
...
Rooms marked as "direct" are associated a user_id in "m.direct" events.
Clients could want to handle these separately
2020-10-08 16:10:58 +02:00
Dominique Martinet
f7039d9a8d
matrix_sdk_base: expose RoomMember
2020-10-08 13:16:33 +02:00
Damir Jelić
17d23eb9e5
matrix-sdk: Add automatic key claiming support.
2020-10-07 14:07:47 +02:00
Damir Jelić
02c765f903
crypto: Don't mark outbound group sessions automatically as shared.
2020-10-01 16:31:24 +02:00
Damir Jelić
8fe1eda169
crypto: Test the full key share flow.
2020-09-29 14:18:03 +02:00
Damir Jelić
a357536ade
crypto: Initial scaffolding for incoming key share handling.
2020-09-28 09:27:16 +02:00
Alejandro Domínguez
3070c98d26
Export "unstable-synapse-quirks" feature from ruma
2020-09-22 21:03:12 +02:00
Damir Jelić
41529a6bff
base: Don't handle the wildcard case for member events anymore.
2020-09-17 17:31:17 +02:00
Damir Jelić
f603696ff4
crypto: Expose the olm machine only if the encryption feature is enabled.
2020-09-11 17:06:45 +02:00
Damir Jelić
ffd2843b0a
matrix-sdk: Expose the import/export keys methods.
2020-09-11 16:34:39 +02:00
Damir Jelić
217543ef38
matrix-sdk: Bump the versions of our deps.
2020-09-05 18:03:47 +02:00
Damir Jelić
22daf0d81e
Merge branch 'to-device-txn-uuid' into crypto-improvements
2020-09-04 12:54:40 +02:00
Damir Jelić
adf8905d9f
crypto: Rename the memory stores into caches and reorder the store module.
2020-09-04 12:42:40 +02:00
Jonas Platte
73c104cac1
Replace IncomingToDeviceRequest with customized request type
2020-09-03 20:02:55 +02:00
Damir Jelić
977e29c3af
matrix-sdk: Fix the wasm bot example.
2020-08-26 16:19:39 +02:00
Damir Jelić
39628a308b
matrix-sdk: Allow any event content to be sent out with room_send().
2020-08-26 15:41:27 +02:00
Damir Jelić
6760f81498
matrix-sdk: Update Ruma.
2020-08-26 13:40:38 +02:00
Damir Jelić
95c8708995
crypto: Document and rename the mark_requests_as_sent() method.
2020-08-24 14:49:57 +02:00
Devin Ragotzy
2b389b920d
matrix_sdk_base: Add test for update_member_power overflow
2020-08-23 20:57:59 -04:00
Devin Ragotzy
72614e4252
matrix_sdk_crypto: Appease clippy
2020-08-22 08:00:32 -04:00
Devin Ragotzy
8a71cec81a
matrix_sdk_base: Member power level math from Int -> i64
2020-08-22 07:52:12 -04:00
Damir Jelić
de90da4adc
crypto: Make the verification machine compatible with how we queue up requests.
2020-08-21 16:26:34 +02:00
Damir Jelić
e38bfc64f4
crypto: Streamline the key claiming so we use the new mark request as sent method.
2020-08-21 14:40:49 +02:00
Damir Jelić
93e1967119
crypto: Initial refactor to switch to the outgoing_requests queue.
2020-08-21 13:35:01 +02:00
Damir Jelić
9fe23227af
base: Fix the encryption settings Into implementation.
2020-08-21 12:44:14 +02:00
Damir Jelić
ce93869915
crypto: Return an Option instead of an empty result for the key uploads.
2020-08-21 09:50:01 +02:00
Damir Jelić
56309ae12c
matrix-sdk: Bump the versions of our deps.
2020-08-19 14:52:11 +02:00
Damir Jelić
90ea0229f2
crypto: Rename TrustState to LocalTrust since.
...
We might still trust the device event if our local trust isn't set, so
rename the enum to better reflect that meaning.
2020-08-19 11:20:08 +02:00
Damir Jelić
84c0311d80
crypto: Rename the UserDevicesWrap struct.
2020-08-17 17:12:39 +02:00
Damir Jelić
91db502cfe
crypto: Rename DeviceWrap to Device.
2020-08-17 16:36:50 +02:00
Damir Jelić
43aea6e482
crypto: Rename Device to ReadOnlyDevice.
2020-08-17 16:17:28 +02:00
Damir Jelić
fd8377bce2
crypto: Add device wrappers so that the verification can be started with a device.
2020-08-17 15:36:45 +02:00
Jonas Platte
5040be042f
Update ruma
2020-08-15 15:17:27 +02:00
Damir Jelić
09f009ebd7
matrix-sdk: Bump our deps.
2020-08-14 17:11:54 +02:00
Damir Jelić
344631b4ee
crypto: Respect the encryption settings of a room when creating sessions.
2020-08-13 14:41:59 +02:00
Damir Jelić
d4de877e09
base: Fix the docs for our feature flags.
2020-08-13 12:17:30 +02:00
Damir Jelić
9b8e11aab9
crypto: Fix the docs for our features.
2020-08-13 11:06:26 +02:00
Damir Jelić
4e99278eac
matrix-sdk: Expose the device methods in the Client.
2020-08-13 10:49:38 +02:00
Damir Jelić
cdb8b5c1e9
matrix-sdk: Fix a couple of typoes.
2020-08-13 10:28:40 +02:00
Damir Jelić
5883396106
base: Hide the user devices method behind the encryption feature.
2020-08-12 17:49:08 +02:00
Damir Jelić
c6b0a19171
base: Fix a stale docstring.
2020-08-12 17:17:56 +02:00
Damir Jelić
7ee0430054
base: Add methods to fetch user devices.
2020-08-12 17:17:22 +02:00
Damir Jelić
0dc232b268
base: Fix a clippy warning.
2020-08-12 15:39:38 +02:00
Damir Jelić
407f9a3da8
matrix-sdk: Make sure to not send out multiple group share requests at once.
2020-08-12 15:12:51 +02:00
Damir Jelić
7cb25361b2
matrix-sdk: Expose an API to start SAS verifications.
2020-08-12 11:39:47 +02:00
Damir Jelić
c4ed5b6cda
matrix-sdk: Upgrade our deps.
2020-08-11 16:54:58 +02:00
Damir Jelić
7637e79f2c
matrix-sdk: Fix the tarpaulin skip directives.
2020-08-11 15:49:04 +02:00
Damir Jelić
528483ef0e
crypto: Remove the last mutable self borrows in the Olm machine methods.
2020-08-11 12:22:14 +02:00
Damir Jelić
6f4d2022fd
Merge branch 'master' into sas-timeout
2020-08-10 15:00:08 +02:00
Damir Jelić
ef5201cf35
Merge branch 'up-ruma' into master
2020-08-10 14:58:47 +02:00
Damir Jelić
7bcdc2a3b6
Merge branch 'master' into sas-timeout
2020-08-10 14:57:32 +02:00
Matthew Hodgson
9c4229dc57
typoes
2020-08-10 13:15:58 +01:00
Damir Jelić
d5cd608045
base: Remove some unnecessary mutable borrows of the olm machine.
2020-08-10 14:11:55 +02:00
Jonas Platte
d83fc971ce
Update ruma
2020-08-10 13:58:39 +02:00
Jonas Platte
d016ce1848
Use identifier macros in tests
2020-08-06 13:03:32 +02:00
Devin Ragotzy
ffdb9c4a79
Fix failing wasm test and clippy warnings for wasm
2020-08-04 17:39:25 -04:00
Devin Ragotzy
cb8d5ce8fb
Rename CustomOrRawEvent -> CustomEvent and use raw json when failed
...
When deserialization fails we fallback to providing the user with a
serde_json::RawValue, basically the json string. Ruma should handle all
events that conform to a matrix event shape correctly by either
converting them to their type or returning a custom event.
2020-08-04 17:27:57 -04:00
Devin Ragotzy
c10120602a
Add test actually testing a correct message edit event
2020-08-04 17:22:54 -04:00
Devin Ragotzy
47690bd268
Bump ruma and fix failing unrecognized_event test
...
The test was broken because the JSON being fed into it was bad.
2020-08-04 17:22:54 -04:00
Damir Jelić
2bf8c99dfe
Merge branch 'master' into sas-verification
2020-08-04 11:23:24 +02:00
Devin Ragotzy
33e1601004
matrix_sdk: Fix import error
2020-08-03 20:13:58 -04:00
Damir Jelić
1787d2ebe6
crypto: Hook up marking the device as verified.
2020-08-03 12:38:43 +02:00
Devin Ragotzy
0ac2b84c02
Unify import style across workspace
2020-08-02 08:05:43 -04:00
Devin Ragotzy
ed1f12ce37
Run cargo fmt with merge-imports true
2020-08-02 07:46:02 -04:00
Damir Jelić
3f83941d57
Merge branch 'master' into sas-verification
2020-07-31 16:27:52 +02:00
Devin Ragotzy
79e661d1d9
sdk-base: Remove MessageWrapper and do not order messages in queue
2020-07-31 09:16:41 -04:00
Damir Jelić
dce06d31aa
Merge branch 'master' into sas-verification
2020-07-31 15:14:05 +02:00
Damir Jelić
3472614649
Merge branch 'remove-possibly-redacted-type-alias' into master
2020-07-31 15:13:23 +02:00
Denis Kasak
2ce0765206
Remove confusing type alias for AnyPossiblyRedactedSyncMessageEvent.
...
There's already a SyncMessageEvent in Ruma which is something else.
Let's prefer the full, unambiguous type.
2020-07-31 14:36:58 +02:00
Denis Kasak
e00e94c6c3
Fix input order.
2020-07-31 11:46:52 +02:00
Denis Kasak
359c5280d7
Expose `sender` in `PossiblyRedactedExt`.
...
Also add a few missing apostrophes.
2020-07-30 14:40:27 +02:00
Damir Jelić
a07767d417
base: Hide the SAS getting method behind the encryption feature.
2020-07-30 11:50:42 +02:00
Damir Jelić
117ebeaf4b
crypto: Return requests when you want to accept a verification.
2020-07-29 12:47:36 +02:00
Damir Jelić
9facd86d81
base: Expose the verification methods in the base client.
2020-07-28 16:44:06 +02:00
Damir Jelić
7e95d85f17
crypto: Move the cryptostore behind a lock.
2020-07-28 15:03:44 +02:00
Jonas Platte
6a96368048
Upgrade ruma
2020-07-26 16:58:27 +02:00
Jonas Platte
d4fe2fe0a2
Remove redundant braces
2020-07-25 02:32:50 +02:00
Jonas Platte
14db34beee
Use Option::and_then over manual match
2020-07-25 02:32:18 +02:00
Jonas Platte
bf54b17a2f
Upgrade ruma
2020-07-22 22:31:42 +02:00
Devin R
e4f94cbfec
Remove FullOrRedacted use ruma::AnyPossiblyRedacted event enum
2020-07-18 08:52:51 -04:00
Devin R
71f2a042c2
Rename Stub -> Sync for all ruma events
2020-07-18 08:37:43 -04:00
Devin R
2e8fc3e232
matrix-sdk-base: Integrate redacted events into message queue
...
Redact message events according to spec and ruma types. Remove content
using events redact() method and insert the redacting event into the
event being redacted.
2020-07-17 13:41:55 -04:00
Damir Jelić
d273786d83
matrix-sdk: Bump our dependencies.
2020-07-17 10:01:22 +02:00
Damir Jelić
c1ffed4fc9
base: Sanitize the room id for the path of the state store.
...
This closes : #71 .
2020-07-16 14:08:56 +02:00
Damir Jelić
a2a87b9fff
matrix-sdk: Fix a bunch of clippy warnings.
2020-07-15 15:53:17 +02:00
Damir Jelić
fa0a22b090
Merge branch 'dkasak-master'
...
High-level summary of changes:
- Rewrite the disambiguation algorithm to simplify it.
- Fixes to state tracking, e.g. use `state_key` instead of `user_id` when
determining which member an event is acting on.
- Changes to `RoomMember`:
* Make `RoomMember` "dumber" and don't let it mutate itself. This came about
primarily because `update_profile` cannot live on `RoomMember` because it
needs some information from `Room`. The other few mutating methods then
looked odd so it seemed best to move them to `Room` so that the room takes
care of updating its members.
* Each `RoomMember` now contains all information to calculate its set of
names:
+ `.name()` (short/ergonomic but potentially ambiguous),
+ `.unique_name()` (unique but may be contain MXID when not necessary),
+ `.disambiguated_name()` (shortest possible while being unique).
- Add some logging using the `tracing` crate.
- Improvements to `EventBuilder`:
* Add a docstring.
* Make it clear itself when building a sync response so the same builder can
be reused for later sync responses.
- A few tests.
2020-07-15 12:52:25 +02:00
Denis Kasak
bce7fe0217
Equivalence class -> equivalence set.
2020-07-15 11:58:52 +02:00
Denis Kasak
1fd21ee206
Fix docstrings regarding return value related to disambiguation.
2020-07-15 11:54:30 +02:00
Denis Kasak
8a4a4140b3
Remove stale comment.
2020-07-15 11:22:47 +02:00
Denis Kasak
62943f055d
Rewrap docstrings and comments to 80 chars.
2020-07-15 11:21:01 +02:00
Denis Kasak
ea149ebd8e
Update docstring for disambiguation_updates.
2020-07-15 11:16:13 +02:00
Denis Kasak
9e48b7172b
cargo fmt
2020-07-14 12:38:55 +02:00
Damir Jelić
a38efc0f29
room: Fix a clippy warning, use unwrap_or_else for the member counts.
2020-07-14 10:56:06 +02:00