Damir Jelić
fa3e192c37
docs(crypto): Improve the signature verification docs some more
...
Co-authored-by: Denis Kasak <dkasak@termina.org.uk >
2022-06-13 12:12:09 +02:00
Damir Jelić
efc53569ed
refactor(crypto): Rename our is_signed_by methods
2022-06-13 12:12:09 +02:00
Damir Jelić
5c12132569
refactor(crypto): Introduce a SignedJsonObject trait
...
This should mostly remove the wild west of signature verification. We
define a trait that tells us which objects can contain signatures and
thus can be passed on to signature verification methods.
It also should be slightly more efficient, since we removed a bunch of
duplicate canonicalization steps.
2022-06-13 12:12:09 +02:00
Amanda Graven
251a38285c
perf(appservice): Cache namespace regexes
2022-06-13 11:57:50 +02:00
Jonas Platte
dc32fc282d
Remove sync_token from BaseClient
...
… as it is also accessible as self.store.sync_token in BaseClient methods.
2022-06-13 11:10:12 +02:00
Jonas Platte
b6eed09564
Make session field in Store private
...
… for cleaner encapsulation.
2022-06-13 11:10:12 +02:00
Jonas Platte
29ba171953
Simplify ownership of server_versions
...
We couldn't originally take references to it when it was behind RwLock,
with OnceCell this is no longer a problem.
2022-06-13 11:10:12 +02:00
Jonas Platte
9e9152745c
Remove homeserver_url from HttpClient
2022-06-13 11:10:12 +02:00
Jonas Platte
12d1607cdc
Remove session from HttpClient
2022-06-13 11:10:12 +02:00
Jonas Platte
6c8b520f14
Remove unused Clone impls on private types
2022-06-13 11:10:12 +02:00
Jonas Platte
fedcdb1e63
chore: Add some more tracing events
2022-06-13 11:10:12 +02:00
Jonas Platte
1cfd69a880
chore: Improve doc comment formatting
2022-06-13 11:10:12 +02:00
Ivan Enderlin
253affeb0c
feat(crypto-nodejs) Implement missing APIs
...
feat(crypto-nodejs) Implement missing APIs
2022-06-09 21:38:41 +02:00
Ivan Enderlin
fe4ddfde89
chore(crypto-nodejs): Remove clone calls when possible.
2022-06-09 21:15:25 +02:00
Ivan Enderlin
8a332ca9e1
chore(crypto-nodejs): Implement feedbacks / polish.
2022-06-09 18:02:29 +02:00
Ivan Enderlin
506f57a22c
feat(crypto-nodejs): Enable traace filtering and change the env var to MATRIX_LOG.
2022-06-09 14:06:42 +02:00
Damir Jelić
8b05f9276f
fix(sdk): Remove a duplicate Session cell from the HttpClient
2022-06-09 13:37:42 +02:00
Damir Jelić
e8b2655d52
docs(crypto-ffi): Explain what a timeout of 0 means when fetching identities
2022-06-09 11:58:23 +02:00
Damir Jelić
537ef1409b
test(crypto): Test that we're now notifying when we receive a /keys/query
2022-06-09 11:58:23 +02:00
Damir Jelić
e2bf3d0d18
chore(crypto-js): Silence some doc warnings
2022-06-09 11:58:23 +02:00
Damir Jelić
d188ef3386
feat(crypto): Add a way wait for a keys/query to be done when fetching identities.
2022-06-09 11:58:23 +02:00
Damir Jelić
ba7ccb40cc
feat(crypto): Wait for a key query to be done if we're claming one-time keys
2022-06-09 11:58:23 +02:00
Ivan Enderlin
1b2c644277
test(crypto-nodejs): Set up CI to run the test suites.
2022-06-09 11:34:16 +02:00
Benjamin Kampmann
6a853d0173
Merge pull request #744 from matrix-org/jplatte/readme
...
chore: Fix `main` docs link in readme
2022-06-09 10:51:58 +02:00
Jonas Platte
7487b24fe3
chore: Fix main docs link in readme
2022-06-09 10:21:04 +02:00
Amanda Graven
5c4f2b3430
fix(appservice): Make membership keys consistent
...
Correct the inconsistency between the keys used for reading and writing
the membership of a virtual user in the appservice's namespace
2022-06-08 10:42:35 +02:00
Stefan Ceriu
901b670a22
Use the nightly toolchain together with the newly introduced target-applies-to-host on the sdk-ffi crate debug builds to avoid cache corruption issues. Switched back to debug mode as the internal tokio crashes went away
2022-06-08 08:55:28 +02:00
Jonas Platte
28d6e2821b
chore: Replace new usage of Box<UserId>
2022-06-07 21:12:43 +02:00
Jonas Platte
7f0b74a39d
fixup! style: Remove usage of assign! macro from doctests
2022-06-07 21:07:34 +02:00
Jonas Platte
7b6869310f
style: Make assign! formatting consistent
2022-06-07 21:07:34 +02:00
Jonas Platte
445b2e627d
style: Remove usage of assign! macro from examples
2022-06-07 21:07:34 +02:00
Jonas Platte
0e206506d9
style: Remove usage of assign! macro from doctests
2022-06-07 21:07:34 +02:00
Jonas Platte
0fb1d72100
style: Use anyhow::Ok in more places
2022-06-07 21:07:34 +02:00
Ivan Enderlin
6d8c54deb5
chore(crypto-nodejs): Add missing newline.
2022-06-07 17:03:02 +02:00
Ivan Enderlin
07620452df
chore(crypto-node): Make Clippy happy.
2022-06-07 16:50:26 +02:00
Jonas Platte
099db20555
Use target-applies-to-host to avoid unnecessary cache invalidation
2022-06-07 16:43:17 +02:00
Ivan Enderlin
75571c2c30
fix(crypto-js): Fix missing symbol.
2022-06-07 16:42:34 +02:00
Ivan Enderlin
8c95b1c4cf
chore(crypto-nodejs): Fix a typo.
2022-06-07 16:40:54 +02:00
Ivan Enderlin
530c268e61
doc(crypto-nodejs): Include the README.md in the generated documentation.
2022-06-07 16:35:22 +02:00
Ivan Enderlin
99dcf84340
chore(crypto-nodejs): Use napi::Result when possible.
2022-06-07 16:28:55 +02:00
Ivan Enderlin
2a76d17bd9
doc(crypto-nodejs): Generate JavaScript/TypeScript documentation.
2022-06-07 16:26:23 +02:00
Ivan Enderlin
15af364c97
Merge branch 'main' into feat-crypto-nodejs-next
2022-06-07 15:31:03 +02:00
Ivan Enderlin
ec7724f393
doc(crypto-nodejs): Improve the README.md.
2022-06-07 15:27:35 +02:00
Ivan Enderlin
1e7d509920
chore(crypto-nodejs): Clean up.
2022-06-07 14:45:20 +02:00
Ivan Enderlin
520758bf1e
test(crypto-nodejs): Finish the OlmMachine test suite.
2022-06-07 14:42:24 +02:00
Benjamin Kampmann
7f49618d35
Merge pull request #729 from gnunicorn/gnunicorn/issue609
...
Ensure all data state stores save is encrypted
2022-06-07 12:41:38 +02:00
Benjamin Kampmann
a308771a7a
fix(sled): Deserialize encrypted TimelineMetadata properly
2022-06-07 12:22:54 +02:00
Benjamin Kampmann
2c4379909c
fix(sled): Wrap [u8] encoding in an explicit type to prevent accidential misuse
2022-06-07 12:22:54 +02:00
Damir Jelić
d4f49ca334
chore: Fix some new clippy warnings
2022-06-07 11:41:29 +02:00
Damir Jelić
c97bb83af9
refactor(base): Remove a bunch of OlmMachine wrapper methods
...
The whole machine is nowadays exposed through the base Client, so no
need to re-expose individual methods that don't add more functionality.
2022-06-07 11:41:29 +02:00