Commit graph

102 commits

Author SHA1 Message Date
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ć
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
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
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ć
a07767d417 base: Hide the SAS getting method behind the encryption feature. 2020-07-30 11:50:42 +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
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
Denis Kasak
048a2000e7 Merge 2020-07-13 17:10:13 +02:00
Jonas Platte
eea00301ff
Remove immediately-deref'ed double references 2020-07-11 21:20:02 +02:00
Jonas Platte
ffc5204109
Fix two pattern matching related warnings 2020-07-11 20:57:01 +02:00
Denis Kasak
b16724841d Correct state tracking of room members.
- use `state_key` instead of `user_id` to determine which member is
  affected by the event
- assign state directly from the event in `add_member` instead of using
  `membership_change`
- expand/fix docstrings
- add some logging
2020-07-10 15:11:03 +02:00
Denis Kasak
559306a33c Rewrite disambiguation algorithm to handle profile changes.
The new algorithm is simpler. Instead of tracking a list of
disambiguated display names in `Room`, we instead track the display name
ambiguity status in `RoomMember`. This allows a client to generate the
correct name for a member using solely the information available in
`RoomMember`.

The disambiguation algorithm itself now only calculates the set of members
whose ambiguity status had changed instead of producing disambiguated
display names for everyone affected. This is called on each room entry
(join or invite), room entry and profile change, and the updates are
propagated to the affected `RoomMember`s.
2020-07-10 15:11:01 +02:00
Devin R
62eeb3707f Fix wasm test failure gate unknown import 2020-07-10 08:59:02 -04:00
Devin R
3fa06eeb99 matrix-sdk-base: Add test for MessageQueue/JsonStore interaction
Ruma can't currently handle an event with the wrong event content type.
When replacing the MessageEventStub's content it automatically
serializes as "m.room.redaction".
2020-07-10 08:59:02 -04:00
Devin R
dcc3d6e755 sdk_base: Remove room_id as argument from all Room methods
Remove room_id paramater from some client methods. Make CreationContent
two methods of RoomBuilder. Add docs for MessageWrapper.
2020-07-10 08:59:02 -04:00
Devin R
2338d3e8fd matrix-sdk-base: clean up recv/iter joined post rebase
The types for account data in a sync response have changed, no longer
Option. Re word comment in hoist prev_content test.
2020-07-10 08:59:02 -04:00
Devin R
b83b9dc59d matrix-sdk-base: Use new accessor methods for models/message.rs
ruma now has field access methods for all of the Any*Event enums use
them for MessageWrapper's AnyMessageEventStub contents.
2020-07-10 08:59:02 -04:00
Devin R
68822861d5 Rebase upstream/master into ruma-mono branch 2020-07-10 08:59:02 -04:00
Devin R
b1e7bc77a4 Use ruma/ruma master, address review issues 2020-07-10 08:59:02 -04:00
Devin R
eb5949dbc2 Move matrix-sdk to ruma monorepo 2020-07-10 08:59:00 -04:00
Damir Jelić
98d36d0ef0 base: Only update the tracked users when we're done with the state and timeline. 2020-07-07 15:48:28 +02:00
Damir Jelić
11aa306de2 base: Swap around the store creation.
The state store creates directory structure but the crypto store does
not.

This can lead to confusing errors where we require a directory to be
created by the library user but it gets created by the library.
2020-07-06 10:54:01 +02:00
Damir Jelić
bd56c52b37 base: Don't double borrow the response in one iter rooms method. 2020-07-03 12:30:57 +02:00
Denis Kasak
1f25c4cf4b Fix and test hoisting of prev_content for timeline events.
The previous test only tested using the `EventEmitter`, which missed the
fact that the client was receiving unhoisted events. The test now also
tests the client state to detect this.
2020-07-03 11:54:08 +02:00