Commit Graph

2767 Commits

Author SHA1 Message Date
Alexandra
ec97c354e2 feat(sdk): Detect invalid .well-known endpoint response 2022-03-23 11:57:13 +01:00
Jonas Platte
db079065e4 refactor(sdk): Some cleanup of the HTTP code 2022-03-23 11:29:12 +01:00
Jonas Platte
cbebf8c4fe Don't import reqwest::Client
… to avoid confusion with the SDKs Client type.
2022-03-23 11:04:28 +01:00
Jonas Platte
92a532a4ba Inline single-use method HttpClient::send_request 2022-03-23 10:50:15 +01:00
Jonas Platte
4601b43651 Remove unnecessary specialized send-request method from HttpClient 2022-03-23 10:43:14 +01:00
Benjamin Kampmann
9ebabf818d Chore: Add tracing span to request sending 2022-03-21 20:45:22 +01:00
Jonas Platte
68385f0ff7 Add tracing span to request sending 2022-03-18 14:40:26 +01:00
Jonas Platte
3b1400b6f8 Merge pull request #539 from matrix-org/jplatte/cleanup 2022-03-17 14:44:30 +01:00
Jonas Platte
5b5e13fe2c Remove request field from Client::keys_upload tracing span
It results in a lot of log noise for initial syncs.
2022-03-17 14:26:28 +01:00
Jonas Platte
7b8568f5c8 Simplify get_or_upload_filter example 2022-03-17 14:24:50 +01:00
Jonas Platte
ea3ca1a8ca Remove unnecessary semicolons after if-let expressions 2022-03-17 14:23:55 +01:00
Jonas Platte
baa869552f Implement Default for SyncSettings in terms of SyncSettings::new
… rather than the other way around.
2022-03-17 14:23:11 +01:00
Jonas Platte
c9c31fa1c2 Simplify SyncSettings::default() 2022-03-17 14:22:40 +01:00
Jonas Platte
5ff38eff00 Activate tracing-subscriber's env-filter feature
This allows the log level of examples to be controlled using the
RUST_LOG environment variable.
2022-03-17 14:22:12 +01:00
Jonas Platte
f9420acdfd Remove unhelpful Client self fields from tracing spans
Client's Debug implementation just returns "Client".
2022-03-17 14:21:41 +01:00
Jonas Platte
c83f8f2a45 feat(sdk): Add convenience methods for getting state events of statically-known type 2022-03-16 14:26:18 +01:00
Damir Jelić
4741df627d feat(sdk): Add a method to check if the other side has scanned a qr verification 2022-03-16 14:23:35 +01:00
Julian Sparber
04e5434c9a QrVerification: Use consistent name for re-exported method 2022-03-16 14:06:26 +01:00
Julian Sparber
adf463a4be QrVerification: expose whether the QrCode was scanned by the other device 2022-03-16 13:05:15 +01:00
Damir Jelić
a455f23520 docs(store-cipher): Make the docs about the way the StoreCipher works clearer
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-03-16 12:48:16 +01:00
Damir Jelić
3af08059da fix(store-cipher): Use the MacKeySeed type alias in more places
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-03-16 12:48:16 +01:00
Damir Jelić
bf3d2ebea3 chore(store-cipher): Rename the store-key crate and it's main type 2022-03-16 12:48:16 +01:00
Damir Jelić
8ab7bfd5fa fix(store-key): Zeroize the derived MacKeys
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-03-16 12:48:16 +01:00
Damir Jelić
d03eefc49a docs(store-key): Improve the docs a bit
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-03-16 12:48:16 +01:00
Damir Jelić
5766b65eeb feat(store-key): Add a feature flag to enable WASM support 2022-03-16 12:48:16 +01:00
Damir Jelić
11d27007fc fix(store-key): Add some missing zeroize calls 2022-03-16 12:48:16 +01:00
Damir Jelić
4ed06be10d chore(store-key): Add more crate metadata
Co-authored-by: Benjamin Kampmann <ben.kampmann@gmail.com>
2022-03-16 12:48:16 +01:00
Damir Jelić
6a0bda47ae chore(store-key): Rename the crate
Co-authored-by: Benjamin Kampmann <ben.kampmann@gmail.com>
2022-03-16 12:48:16 +01:00
Damir Jelić
41466eae66 feat(store-key): Add a dedicated store key crate
This crate can be used to add at-rest encryption support for a
matrix-sdk state store or crypto store.
2022-03-16 12:48:16 +01:00
Damir Jelić
440b49ce5c feat(sdk): Add store specific errors to the ClientBuildError
This makes it easier to handle store specific errors while building a
Client as long as the user is using one of our main stores.
2022-03-16 12:29:10 +01:00
Kévin Commaille
7b8c52b043 indexeddb: Move attribute below docs 2022-03-16 10:30:56 +01:00
Kévin Commaille
3a94c2115f sdk: Add store opening errors to ClientBuildError 2022-03-15 14:43:02 +01:00
Kévin Commaille
6785c07793 indexeddb: Make store opening error more specific 2022-03-15 14:43:02 +01:00
Kévin Commaille
e23b22857f sled: Make store opening error more specific 2022-03-15 14:42:54 +01:00
Jonas Platte
3bf5388da0 feat(sdk): Fetch supported matrix versions from server in initialization 2022-03-14 15:23:13 +01:00
Jonas Platte
15df8fef95 Fix broken tests 2022-03-14 15:08:54 +01:00
Jonas Platte
8df7e1cc8b Fix hanging tests 2022-03-14 15:08:48 +01:00
Jonas Platte
7b2dfa39cf Remove Client::get_supported_versions
This is now always done as part of constructing the Client, unless the
user actively opted out.
2022-03-14 12:57:58 +01:00
Jonas Platte
fdc8f79728 Merge branch 'main' into jplatte/server-versions 2022-03-14 12:56:57 +01:00
Benjamin Kampmann
f76bcda64f feat(client): Replacing ClientConfig with a ClientBuilder to configure how the client will be set up
Merge pull request #533 from matrix-org/jplatte/client-builder
2022-03-14 12:43:38 +01:00
Jonas Platte
718fa18e7f Merge branch 'main' into jplatte/client-builder 2022-03-14 11:26:45 +01:00
Damir Jelić
b8b61ce214 refactor(sdk): Scope the encryption specific Client methods behind a struct 2022-03-14 10:16:19 +01:00
Jonas Platte
a2ad774112 Add ClientBuilder::server_name 2022-03-14 10:02:31 +01:00
Jonas Platte
d94ba8c64f Remove Client::for_user_id 2022-03-14 10:02:31 +01:00
Jonas Platte
81d07d886c Rename Client::{new_from_user_id => for_user_id} 2022-03-13 19:56:26 +01:00
Jonas Platte
147e948fe6 Replace ClientConfig with ClientBuilder
This includes a few not-strictly-related changes that made sense to do at the
same time:

* Check for a functioning homeserver via get_supported_versions regardless of
  whether a homeserver URL or user ID was supplied
* Rename use_discovery_response to respect_login_well_known
* Small appservice documentation improvement because those docs had to be
  touched anyways
* Some test refactorings in tests that had to be touched anyways
2022-03-13 19:56:26 +01:00
Kévin Commaille
d8c7fbd9dc sdk: Create Encryption struct
Lower the API surface of Client
2022-03-12 13:30:55 +01:00
Jonas Platte
bd7fbea155 Fix intra-doc link 2022-03-11 18:04:32 +01:00
Jonas Platte
628e2fb716 Allow configuring assert_identity on the client level only
Completely removing it from RequestConfig is left up to a future refactoring.
2022-03-11 15:31:11 +01:00
Jonas Platte
503f4d73a0 Merge pull request #532 from matrix-org/jplatte/ctors 2022-03-11 13:05:20 +01:00