Commit Graph

1845 Commits (ada71586ac0a7c6281103a3cd6fcfc5f1322b7d5)

Author SHA1 Message Date
Damir Jelić cbcf673d21 crypto: Make sure we send verification done events 2021-06-04 15:16:38 +02:00
Damir Jelić 9b20b00908 crypto: Log if we get a missmatch of the flow id 2021-06-04 15:16:38 +02:00
Damir Jelić f50d0cd3a6 crypto: Test starting a to-device verification request 2021-06-04 15:16:38 +02:00
Damir Jelić 1e48b15040 crypto: Add enums so we can handle in-room and to-device verifications the same 2021-06-04 15:16:38 +02:00
Damir Jelić b52f3fb11f crypto: Remove an allocation when calculating the SAS MAC 2021-06-04 15:16:38 +02:00
Damir Jelić d877c1cf8c crypto: Move the Done state into the common verification module 2021-06-04 15:16:38 +02:00
Damir Jelić 327445c6a0 crypto: Move the logic for marking identities as verified out of the Sas struct 2021-06-04 15:16:38 +02:00
Damir Jelić 8a5a0e511e crypto: Don't await while holding a sync lock 2021-06-04 15:16:38 +02:00
Damir Jelić 12619ab8b3 crypto: Log a warning if we get a start event without being ready 2021-06-04 15:16:38 +02:00
Damir Jelić 069ef3a661 crypto: Move the SAS starting logic into the verification request struct 2021-06-04 15:16:38 +02:00
Damir Jelić 999f0899f8 crypto: Move the outgoing requests to the VerificationCache 2021-06-04 15:16:38 +02:00
Damir Jelić 681f32b0a7 crypto: Fix a couple of typos 2021-06-04 15:16:38 +02:00
Damir Jelić 0e514b755f crypto: Move the CancelContent generation out of the sas module 2021-06-04 15:16:38 +02:00
Johannes Becker c0b30cadc9 appservice: Improve API 2021-06-01 10:48:01 +02:00
Damir Jelić ee40d917d1 Merge branch 'feat/appservice-client-config' 2021-05-31 13:28:31 +02:00
Johannes Becker 3f2fecd309 appservice: Add new_with_client_config 2021-05-31 12:50:53 +02:00
Damir Jelić d58a190712 Merge branch 'media-store' 2021-05-31 10:36:20 +02:00
Damir Jelić 3c72304e36 Merge branch 'patch-1' 2021-05-31 09:39:07 +02:00
Damir Jelić 10b38ce44e matrix-sdk: Fix a bunch of typos 2021-05-31 09:35:19 +02:00
Jonas Platte 3c9f929598
Fix typo: underlaying => underlying 2021-05-30 15:01:27 +02:00
L3af d7e167498d
docs: fix on_room_join_rules 2021-05-29 04:31:25 +00:00
Kévin Commaille a959116af2
sdk: Fix clippy warnings 2021-05-28 09:11:48 +02:00
Damir Jelić 63dc939081 matrix-qrcode: Modify the QR code generation so mobile clients can decode 2021-05-27 11:24:44 +02:00
Johannes Becker 2becb88c35 appservice: Add client_with_config singleton 2021-05-26 18:12:50 +02:00
Kévin Commaille 6367cdddbf
sdk: Add tests for media content 2021-05-25 22:15:27 +02:00
Kévin Commaille 5e05b37d02
base: Add tests for media content storage 2021-05-25 22:10:04 +02:00
Kévin Commaille df883d3328
Add MediaEventContent trait and implement it for corresponding room events
Add helper methods in Client
2021-05-25 21:52:27 +02:00
Kévin Commaille b805670c8a
sdk: Add methods for media content 2021-05-25 21:43:01 +02:00
Kévin Commaille 0c8e870bff
crypto: Implement From<EncryptedFile> for EncryptionInfo 2021-05-25 21:33:38 +02:00
Kévin Commaille c318a6e847
base: Add media store 2021-05-25 21:16:28 +02:00
Damir Jelić bdd51a323a Merge branch 'read-receipts' 2021-05-25 19:25:48 +02:00
Kévin Commaille f619bbb884
base: Change receipt store tests' user ID 2021-05-25 14:20:13 +02:00
Damir Jelić 37c23f1761 matrix-qrcode: Add accessors for our keys/secrets. 2021-05-25 13:31:12 +02:00
Kévin Commaille 49c72e74f7
base: Add store tests for receipts 2021-05-25 11:57:03 +02:00
Johannes Becker 7609c7445c matrix-sdk: Allow to get Client's RequestConfig 2021-05-25 10:38:43 +02:00
Kévin Commaille a889bb3aca
base: Simplify decode_key_value 2021-05-25 10:26:56 +02:00
Johannes Becker 20454e1666 appservice: Put registration into Arc 2021-05-25 10:05:51 +02:00
Johannes Becker aaa17535ac matrix_sdk: Fix typo 2021-05-25 10:05:51 +02:00
Johannes Becker bd5e112a46 appservice: Remove outdated serde_yaml dependency 2021-05-25 10:05:51 +02:00
Johannes Becker cc591cce1c appservice: Improve docs 2021-05-25 10:05:51 +02:00
Damir Jelić e058191b99 base: Correctly update the room info for invited rooms 2021-05-25 09:31:32 +02:00
Damir Jelić 300189bb37 crypto: Use the verification cache in verification requests 2021-05-24 16:41:27 +02:00
Damir Jelić d928f39f68 crypto: Add a VerificationCache struct 2021-05-24 16:41:27 +02:00
Damir Jelić 98c259dc1e crypto: Refactor the VerificationReqest struct a bit 2021-05-24 16:41:27 +02:00
Damir Jelić c174c4fda2 matrix-qrcode: Rename the crate. 2021-05-24 16:38:21 +02:00
Damir Jelić 7a5daf6ac7 Merge branch 'famous' 2021-05-24 12:47:14 +02:00
timorl ded5830deb Make client use .well-known redirects
Was supposed to fix #219, but apparently that was about something else.
2021-05-24 11:00:42 +02:00
Austin Ray 59c8652ce8
base: fix empty room name calculation
Step 3.iii of the naming algorithm[0] covers name calculation for empty
rooms; however, it isn't an else condition for steps 3.i and 3.ii. It's a
final conditional in the algorithm before returning the name. The
current implementation treats it as an else condition.

To fix this, use step 3.i and 3.ii to calculate a room name then check
if the user is alone. If alone, return "Empty room (was...)" containing
any former member names. If alone and there aren't any former members,
return "Empty room"

Fixes #133

[0] https://matrix.org/docs/spec/client_server/latest#calculating-the-display-name-for-a-room
2021-05-21 19:18:11 -04:00
Austin Ray 5670700f7f
base: fix room name's "and {} others" count
The current implementation uses number of invited and joined members for
"and {} others" message. This assigns rooms with 5 members the name "a,
b, c, and 5 others" suggesting 8 room members. The correct message is
"a, b, c, and 2 others". To get this, subtract number of heroes from
invited and joined member count.

Step 3.ii of the naming algorithm[0] confirms using a remaining users
count in the name.

[0] https://matrix.org/docs/spec/client_server/latest#calculating-the-display-name-for-a-room
2021-05-21 18:48:19 -04:00
Austin Ray 79025e3f40
base: split `calculate_room_name()`
Split `calculate_room_name()` into a high-level function using Matrix
data types and low-level function containing the core logic using plain
Rust data types. Since the low-level function uses simple data types,
unit testing becomes easier.
2021-05-21 17:25:59 -04:00