Commit graph

708 commits

Author SHA1 Message Date
Devin R
807435c043 Updates DeviceId to be Box<DeviceId> 2020-07-18 08:51:19 -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ć
7ddc785a9a Merge branch 'timeout' 2020-07-17 09:59:21 +02:00
Damir Jelić
3e23affc9e Merge branch 'encombhat-master' 2020-07-17 09:41:29 +02:00
Stephen
f2163164bf Wasm fix 2020-07-16 20:53:09 -03:00
Stephen
44dfbd2fa6 Fix 2020-07-16 20:21:34 -03:00
Stephen
2f99d0de59 Bugfix 2020-07-16 20:06:26 -03:00
Black Hat
7a72949613 Client::sync_forever(): Add filter in next iteration. 2020-07-16 15:55:55 -07:00
Stephen
b0241e51a3 Fixed formatting 2020-07-16 18:40:52 -03:00
Stephen
c5ea4fde35 HTTP timeout 2020-07-16 18:16:30 -03:00
Black Hat
cc4ae3db1e Client::SyncSettings: Include sync filter 2020-07-16 06:13:35 -07:00
Black Hat
a5c5f5a7b1 Revert "Client::sync(): expose sync filter"
This reverts commit 0542e3d83d.
2020-07-16 06:04:26 -07:00
Damir Jelić
7c46953805 travis: Don't allow failures for Windows. 2020-07-16 14:23:36 +02:00
Damir Jelić
2d83c40626 travis: Test the base client on Windows as well. 2020-07-16 14:09:40 +02:00
Damir Jelić
d75101d042 travis: Run the tests on Windows. 2020-07-16 14:09:40 +02:00
Damir Jelić
04bb65f43e travis: Don't test encyrption support on Windows for now. 2020-07-16 14:09:40 +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
Black Hat
0542e3d83d Client::sync(): expose sync filter 2020-07-16 03:49:46 -07:00
Damir Jelić
2d955027e1 travis: Don't set the linux version. 2020-07-15 16:11:08 +02:00
Damir Jelić
38166135dc travis: Add a clippy stage. 2020-07-15 15:59:04 +02:00
Damir Jelić
5bebe1d434 crypto: Clippy fixes for our tests. 2020-07-15 15:58:36 +02:00
Damir Jelić
a2a87b9fff matrix-sdk: Fix a bunch of clippy warnings. 2020-07-15 15:53:17 +02:00
Damir Jelić
497b973eb5 travis: Test newer macOS versions. 2020-07-15 15:46:17 +02:00
Damir Jelić
de1988265d crypto: Move the outbound session creation logic into the account. 2020-07-15 15:39:56 +02:00
Damir Jelić
6cced25ae1 travis: Don't allow failures on the wasm target. 2020-07-15 14:13:43 +02:00
Damir Jelić
4e40c13b81 travis: Fix the minimal build. 2020-07-15 14:05:52 +02:00
Damir Jelić
bf152df322 matrix-sdk: Hide some tracing imports behind the encryption flag. 2020-07-15 14:05:22 +02:00
Damir Jelić
3315cf5bc6 travis: Add a build that doesn't use any of the features. 2020-07-15 13:23:28 +02:00
Damir Jelić
204279c575 matrix-sdk: Don't hide the tracing import behind the encryption feature. 2020-07-15 13:19:56 +02:00
Damir Jelić
83806b42e9 crypto: Remove a stale comment about clearing private keys from events. 2020-07-15 13:07:48 +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
32737a5517 Use match instead of if-let in sync_forever. 2020-07-15 09:43:58 +02:00
Damir Jelić
51012e632e crypto: Rename the StoreError to StoreResult. 2020-07-14 13:11:44 +02:00
Damir Jelić
5d76fd9aac crypto: Refactor the key query handling logic a bit. 2020-07-14 13:08:57 +02:00
Damir Jelić
c25f4c0642 crypto: Verify one-time keys using the device. 2020-07-14 12:49:40 +02:00
Denis Kasak
9e48b7172b cargo fmt 2020-07-14 12:38:55 +02:00
Damir Jelić
68125f5de6 crypto: Refactor out the json verification method. 2020-07-14 12:23:42 +02:00
Damir Jelić
b602d3007d crypto: Remove some useless mem::replace calls. 2020-07-14 12:03:27 +02:00
Damir Jelić
41cfbaf520 device: Store the device keys with the algorithm and device id.
This will ensure that we can check the signature of the device later on.
2020-07-14 12:00:29 +02:00
Damir Jelić
8206394918 crypto: Use AlgorithmAndDeviceId to get the device signature. 2020-07-14 11:27:50 +02:00
Damir Jelić
ca85564a9f crypto: Move the device keys verificatin logic into the device. 2020-07-14 11:17:09 +02:00
Denis Kasak
7d9a699d62 Fix EventBuilder docstring example. 2020-07-14 11:08:16 +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