Damir Jelić
c720abfa87
base: Fix the wasm example
2021-04-29 12:46:21 +02:00
Damir Jelić
5d73dd7da7
room: Add methods to get members that don't do any requests
...
Our main methods to get members nowadays ensure that the member list is
synchronized with the server. This is nice and convenient but might not
be desirable for a couple of reasons.
Firstly it might be costly to fetch all members at once depending on
what the client is doing and the number of rooms and secondly some
clients might have a hybrid setup where not everything is running on a
tokio thread, sending out requests is only possible on a tokio thread.
2021-04-29 12:38:07 +02:00
Damir Jelić
5cf0fd2b85
room: Override the method to get a specific room member
2021-04-29 11:08:09 +02:00
Damir Jelić
b3cf2c5899
base: Fix a clippy warning if the encryption feature is turned off
2021-04-29 10:46:47 +02:00
Damir Jelić
4fc21a8860
base: Store the raw versions of events in the state store
...
This patch changes the way we store and load the majority of events that
are in the state store. This is done so custom fields in the event
aren't lost since a deserialize/serialize cycle removes all the unknown
fields from the event.
2021-04-29 10:35:54 +02:00
Damir Jelić
cff90b1480
matrix-sdk: Add encryption info to our sync events.
2021-04-29 10:35:54 +02:00
Damir Jelić
5ed0c7a7b3
Merge branch 'notifications'
2021-04-28 10:30:06 +02:00
Kévin Commaille
0e2017e537
matrix-sdk: Fix clippy warning
2021-04-27 14:37:43 +02:00
Kévin Commaille
1cc4f953b3
matrix-sdk: Small fixes
2021-04-27 13:47:07 +02:00
Kévin Commaille
f8bc9f3dc9
matrix-sdk: handle overflow in active_members_count
2021-04-27 13:47:06 +02:00
Kévin Commaille
24e96df7ea
matrix-sdk: Propagate store error in get_push_rules
2021-04-27 13:47:06 +02:00
Kévin Commaille
c569436ba4
matrix-sdk: Add StateChanges::add_notification
2021-04-27 13:47:06 +02:00
Kévin Commaille
f6c4fdde7d
matrix-sdk: Implement EncodeKey for EventType
2021-04-27 13:47:06 +02:00
Kévin Commaille
3f2c5d22b6
matrix-sdk: Get notifications locally on sync
2021-04-27 13:46:56 +02:00
Jonas Platte
bd02ff901f
Avoid needless copies by changing http::Request<Vec<u8>> to http::Request<Bytes>
2021-04-26 17:31:27 +02:00
Johannes Becker
242d46c9a1
matrix-sdk: require_auth_for_profile_requests feature and force_auth request config
...
forces authentication for `get_avatar` which was previously done with
the unstable-synapse-quirks feature in ruma
2021-04-26 17:31:25 +02:00
Johannes Becker
5c882f89e8
chore: bump ruma
2021-04-26 08:05:58 +02:00
Damir Jelić
ab180362c9
Merge branch 'json-sync-builder'
2021-04-23 15:38:00 +02:00
Johannes Becker
28ddb9b70b
ci: clippy check without default features
2021-04-23 10:42:12 +02:00
Johannes Becker
910a45b3d5
chore: cleanup clippy warnings
2021-04-23 10:38:49 +02:00
Damir Jelić
a1c0acbd0c
test: Add a method to build a sync response as a JsonValue
2021-04-21 16:12:05 +02:00
Damir Jelić
a7c2a645aa
rooms: Override the joined_members() method so we return the correct RoomMember
2021-04-21 15:47:44 +02:00
Damir Jelić
2a5ede9e1a
client: Better docs for the get_or_upload_filter() method
2021-04-21 15:08:36 +02:00
Damir Jelić
324a0aafca
Merge branch 'key-share-improvements'
2021-04-21 13:47:02 +02:00
Damir Jelić
bfc7434f7e
crypto: Move the outbound session filter logic into the group session cache
2021-04-20 13:35:47 +02:00
poljar
e15f7264dc
crypto: Don't borrow inside a format unnecessarily
...
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-20 12:27:56 +02:00
Damir Jelić
4a7be13961
crypto: Only send out automatic key requests if we have a verified device
...
Sending out automatic key requests is a bit spammy for new logins,
they'll likely have many undecryptable events upon an initial sync.
It's unlikely that anyone will respond to such a key request since keys are
shared only with verified devices between devices of the same user or if
the key owner knows that the device should have received the key.
Upon initial sync it's unlikely that we have been verified and the key
owner likely did not intend to send us the key since we just created the
new device.
2021-04-20 11:47:11 +02:00
Damir Jelić
65d84c111b
Merge branch 'exhaustive-sync-events-conv'
2021-04-19 15:05:52 +02:00
Damir Jelić
78b7dcac61
crypto: Add a public method to request and re-request keys.
2021-04-19 15:00:21 +02:00
Jonas Platte
796354ce5d
Ensure exhaustiveness for sync_events::Response destructuring
...
So the SDKs own SyncResponse type doesn't get out-of-sync.
2021-04-19 13:42:16 +02:00
Johannes Becker
95421f1713
matrix-sdk!: send_request returns Bytes
...
Prevents unnecessary copy
2021-04-19 12:26:10 +02:00
Jonas Platte
1578067498
Only activate the client parts of ruma-client-api
...
… to reduce compile times.
2021-04-19 12:23:09 +02:00
Jonas Platte
401cf282a7
Upgrade ruma dependency
2021-04-19 12:16:13 +02:00
Johannes Becker
3414a59b91
chore: bump ruma
2021-04-16 12:45:21 +02:00
Damir Jelić
8c007510cd
crypto: Only load the outgoing key requests when we want to send them out
2021-04-15 19:40:24 +02:00
Damir Jelić
f9d290746c
crypto: Load unsent outgoing key requests when we open a store
2021-04-15 17:48:37 +02:00
Damir Jelić
d4c56cc5b3
crypto: Refactor the outobund group session storing
...
This introduces a group session cache struct that can be shared between
components that need to access the currently active group session.
2021-04-15 15:19:21 +02:00
Damir Jelić
9e817a623b
crypto: Fix an invalid assert in the crypto bench
2021-04-15 15:01:56 +02:00
Damir Jelić
02331fa325
crypto: Add specialized methods to store outgoing key requests
2021-04-15 13:28:50 +02:00
Damir Jelić
5637ca3080
crypto: Simplify the should_share_session method
2021-04-15 13:28:50 +02:00
Damir Jelić
975f9a0b41
crypto: Improve the way we decide if we honor room key requests
...
This improves two things, use the correct outbound session to check if
the session should be shared.
Check first if the session has been shared if there isn't a session or
it hasn't been shared check if the request is comming from our own user.
2021-04-14 14:30:53 +02:00
Damir Jelić
4713af6aac
crypto: Fix a typo
2021-04-14 11:14:59 +02:00
Damir Jelić
ba81c2460c
crypto: Ignore key requests from ourselves
2021-04-13 17:17:09 +02:00
Damir Jelić
5132971558
crypto: Add a progress listener for key imports
2021-04-13 12:47:22 +02:00
Johannes Becker
53b1845cbe
ci: test features
2021-04-12 21:05:07 +02:00
Damir Jelić
893a5109ce
crypto: Remove some unneeded parenthesis
2021-04-12 19:11:03 +02:00
Damir Jelić
a97b01f3ce
Merge branch 'matrix-sdk/fix-no-encryption-build'
2021-04-12 19:09:32 +02:00
Johannes Becker
be72c53d3e
matrix-sdk: fix building without encryption feature
2021-04-12 17:45:58 +02:00
Damir Jelić
b4b897dd51
crypto: Await the group session invalidation
2021-04-12 15:19:30 +02:00
Damir Jelić
cb58c499b3
crypto: Store that our outbound session was invalidated
2021-04-12 13:47:38 +02:00