Jonas Platte
a37ce68eae
fix(sdk): Only look for local echoes for events appended to the timeline
...
… rather than prepended, or added at a specific point as replacement for
an existing timeline item.
Previously, we would log lots of useless tracing events when retrying to
decrypt UTD items.
2023-01-26 10:55:41 +01:00
Ivan Enderlin
0c4ca84eec
test(sdk): Improve m.fully_read test coverage and documentation
...
test(sdk): Improve `m.fully_read` test coverage and documentation
2023-01-26 10:16:48 +01:00
Ivan Enderlin
77b7451f59
doc(sdk): Fix a typo.
2023-01-26 10:06:11 +01:00
Ivan Enderlin
832bba8a2b
test(sdk): Improve m.fully_read test coverage and documentation.
2023-01-26 09:46:47 +01:00
Jonas Platte
0e39a7cbf2
chore: Upgrade Ruma
2023-01-25 18:01:12 +01:00
Jonas Platte
db11940f8f
test(sdk): Fix clippy warning
2023-01-25 18:01:12 +01:00
Damir Jelić
4ef654f1d1
chore: Bump the Ruma version
2023-01-25 18:01:12 +01:00
Ivan Enderlin
793e18e44f
Merge pull request #1388 from matrix-org/release-matrix-sdk-crypto-js-v0.1.0-alpha.3
...
Release matrix-sdk-crypto-js v0.1.0-alpha.3
matrix-sdk-crypto-ffi-0.1.9
2023-01-25 12:56:41 +01:00
Ivan Enderlin
578b446ea4
chore(sdk): Rename a variable to clarify its content.
2023-01-25 11:00:03 +01:00
Benjamin Kampmann
464e40bc32
fix(ffi): add erroneously removed loop
2023-01-24 15:41:12 +00:00
Benjamin Kampmann
f22660d5e9
chore(sliding-sync): more logging information
2023-01-24 15:41:12 +00:00
Andy Uhnak
2db1bc75c1
Expose MissingRoomKey decryption error
2023-01-24 16:27:02 +01:00
Damir Jelić
18ec101719
refactor!(crypto): Move some caches out of the CryptoStore implementations
...
This moves the caches we have for tracked users out of the Sled, and
IndexedDB, CryptoStore into the Store struct. The Store struct is a
wrapper for the CryptoStore trait, so this is the natural place where
these caches should live.
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2023-01-24 15:26:33 +00:00
Doug
a762b2027f
feat(bindings): Expose aliases to the FFI.
2023-01-24 16:12:39 +01:00
Jonas Platte
934181be44
refactor(sdk): Update confusing variable names
2023-01-24 13:43:55 +01:00
Jonas Platte
3d34743ae9
fix(sdk): Respect server ordering for remote echoes
2023-01-24 13:43:55 +01:00
Kévin Commaille
718864bfdd
refactor(sdk): Provide day divider as a timestamp
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-01-24 12:29:15 +01:00
Benjamin Kampmann
24ac5b9f16
feat(sliding-sync): add configuration to inform about room changes without positional update
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
cc835da347
fix(sliding-sync): refresh timeline if server told us we are limited
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
933eec2d1d
fix(sliding-sync): switch Atomic Ordering from Relaxed to SeqCst
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
de4a8e3e7a
chore(base): additional tracing information for sliding sync responses
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
b08c740181
fix(ffi): don't cancel the actual spawn, instead ensure it finishes processing before stopping the loop
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
950bb83f8d
style: use trace! instead of tracing::trace!
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
a06aa43dd1
feat(sliding-sync): cache room data next to view for selective unfreezing
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
a572f61edf
tests: additional ignored tests for future scenarios
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
a964585e35
fix(sliding-sync): have views go live right at response processing
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
71407a636c
fix(sliding-sync): use single replace on cold and empty views
...
Before we'd push one empty entry at a time, which lead to a lot of vecdiff updates pushed. With this
we now only push one event after the entire operation set has been applied on the fresh
or cold view.
2023-01-24 10:30:07 +00:00
Benjamin Kampmann
b7a8a93a73
chore(sliding-sync): additional tracing around unfreezing from cold cache
2023-01-24 10:30:07 +00:00
Damir Jelić
600fd62dc5
crypto(fix): Fail to decrypt if there's a key mismatch
...
A mismatch between the recorded Ed25519 and Curve25519 keys of the room
key and the identity keys of a Device used to be just a warning.
Considering that many clients will aggressively try to hide E2EE related
warnings let's upgrade this clear error into a full blown decryption
failure.
Co-authored-by: Denis Kasak <dkasak@termina.org.uk >
2023-01-24 09:14:42 +01:00
Damir Jelić
00d1437e5a
chore(crypto): Log the full error messages when decrypting room events
2023-01-23 15:03:03 +01:00
Damir Jelić
f774159e15
chore(crypto): Record the event id when decrypting a room event
2023-01-23 15:03:03 +01:00
Damir Jelić
a1fba86f75
chore(crypto): Log the session id when we receive a room key
2023-01-23 15:03:03 +01:00
Damir Jelić
3c4d1cfb47
fix(sled): Don't load the tracked users with the Account
...
We might have a lot of tracked users, clients will usually have 1-10
thousand tracked users. This might slow down client startup if there are
so many tracked users.
We don't need the tracked users until we sync or try to send a message,
so load them lazily when they are first needed.
2023-01-23 13:35:51 +01:00
Damir Jelić
3ab95c74c7
refactor!(crypto): Make the methods related to tracked users async
2023-01-23 13:35:51 +01:00
Damir Jelić
8c1a81eebc
chore: Fix the conventional commit type for documentation
...
The conventional commit specification recommends the "docs" type for
documentation related changes. This also matches the initial usage of
this type in our commit history.
While the default git-cliff config does specify a regex "^doc", where I
suspect our types have been taken from, this regex actually allows "doc"
as well as "docs" for the type.
Nevertheless, let's specify that we're using the one recommended in the
spec.
2023-01-20 20:30:06 +01:00
Richard van der Hoff
acfa8a4190
docs(bindings): Fix return type documentation for get_missing_sessions
2023-01-20 20:09:42 +01:00
Richard van der Hoff
0771d73543
matrix-sdk-crypto-js v0.1.0-alpha.3
Release `crypto-js` / Publish 🕸 [m]-crypto-js (push) Failing after 46s
matrix-sdk-crypto-js-v0.1.0-alpha.3
2023-01-20 17:37:49 +00:00
Richard van der Hoff
92546acc85
chore(crypto-js): configuration for 'yarn version'
2023-01-20 17:37:40 +00:00
Richard van der Hoff
c7f258d8b0
doc: Improve the documentation of "tracked users"
...
I had no idea what a tracked user was, so I've attempted to clarify this
somewhat for future readers.
Co-authored-by: Damir Jelić <poljar@termina.org.uk >
2023-01-20 14:02:02 +01:00
Jonas Platte
1e2fd02478
doc(base): Explain purpose of BaseClient#crypto_store
2023-01-20 10:56:09 +01:00
Stefan Ceriu
b0c70dc606
chore(bindings): Exclude the target folder from the debug swift package
...
… to improve package loading time.
2023-01-20 09:00:36 +00:00
Benjamin Kampmann
0fea33de4d
feat(ffi): expose server_versions on ClientBuilder
2023-01-19 21:31:57 +00:00
Damir Jelić
053b609899
chore(sdk): Add a prefix to the request id to make it easier to grep for them
2023-01-19 15:47:08 +01:00
Damir Jelić
a54a421f91
chore(sdk): Log the response/request sizes as well
2023-01-19 15:46:49 +01:00
Ivan Enderlin
9db09e22b2
feat(crypto-js): Request types have fields extracted from their “body” directly
...
feat(crypto-js): Request types have fields extracted from their “body” directly
2023-01-18 13:41:14 +01:00
Ivan Enderlin
94fadf74b9
feat(crypto-js): Rename RoomMessageRequest.content to .body.
2023-01-18 13:31:26 +01:00
Ivan Enderlin
7c01f8490f
test(crypto-js): Test `RoomMessageRequest.content.
2023-01-18 13:14:06 +01:00
Ivan Enderlin
ca00112804
test(crypto-js): Add test for in-room verification (w/ RoomMessageRequest).
2023-01-18 11:42:34 +01:00
Benjamin Kampmann
6c0ef2db51
refactor(ffi): refactor stoppable spawn to be more token-oriented
2023-01-18 10:08:58 +00:00
Benjamin Kampmann
938a03867b
feat(ffi): add subscribe_and_add_timeline_listener helper fn
...
re-applying the fixes from ##1346
2023-01-18 10:08:58 +00:00