Commit graph

471 commits

Author SHA1 Message Date
Jonas Platte
c964589049
base: Depend on ruma directly 2021-06-07 18:55:56 +02:00
Jonas Platte
3bac536daf
Fix clippy lints
Automated via `cargo clippy --workspace --all-targets -Zunstable-options --fix`.
2021-06-07 15:51:18 +02:00
Damir Jelić
6f11244017 Merge branch 'typos' 2021-06-06 21:01:30 +02:00
Jonas Platte
6b685b671d
Replace Arc<Box<dyn (Crypto|State)Store>> by Arc<dyn (Crypto|State)Store> 2021-06-06 18:16:25 +02:00
Jonathan de Jong
74a6d39b9f various typos 2021-06-05 14:35:20 +02:00
Damir Jelić
d58a190712 Merge branch 'media-store' 2021-05-31 10:36:20 +02:00
Damir Jelić
10b38ce44e matrix-sdk: Fix a bunch of typos 2021-05-31 09:35:19 +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
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
Kévin Commaille
49c72e74f7
base: Add store tests for receipts 2021-05-25 11:57:03 +02:00
Kévin Commaille
a889bb3aca
base: Simplify decode_key_value 2021-05-25 10:26:56 +02:00
Damir Jelić
e058191b99 base: Correctly update the room info for invited rooms 2021-05-25 09:31:32 +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
Austin Ray
c90e8ab483
base: use correct bound in naming algorithm
Step 3.ii of the name calculation algorithm[0] specifies the conditional
as `heroes < invited + joined - 1 AND invited + joined > 1`. However,
current implementation uses `invited + joined - 1 > 1` in the
conditional, which can trigger the conditional if the user is alone.

Correct this by using two variables representing `invited + joined` and
`invited_joined - 1` and updating the conditional. `invited + joined` is
kept as a variable since step 3.iii uses it for its conditional.

[0] https://matrix.org/docs/spec/client_server/latest#calculating-the-display-name-for-a-room
2021-05-21 14:51:59 -04:00
Kévin Commaille
64b5298881
base: Add support for read receipts 2021-05-20 17:14:57 +02:00
Damir Jelić
c122549e0d base: Correctly get the user ids of all room members 2021-05-18 08:29:10 +02:00
Jonas Platte
cd77441d1b
Upgrade ruma to 0.1.0 (crates.io release) 2021-05-17 02:57:36 +02:00
Jonas Platte
ffea84b64a
Use Instant instead of SystemTime to measure elapsed time 2021-05-15 17:23:31 +02:00
Jonas Platte
15540e84e3
Upgrade ruma 2021-05-15 17:22:32 +02:00
Devin Ragotzy
5f09d091cb Add cargo fmt to ci using nightly 2021-05-12 15:38:59 -04:00
Devin Ragotzy
2ef0c2959c Add use_small_heuristics option and run fmt 2021-05-12 15:37:29 -04:00
Devin Ragotzy
c85f4d4f0c Add rustfmt config file and run over workspace 2021-05-12 15:36:52 -04:00
Damir Jelić
77c2a4ed4f matrix-sdk: Bump ruma 2021-05-12 19:19:42 +02:00
Kévin Commaille
a2ab6a9f23
base: Get the tags for a room 2021-05-07 19:11:27 +02:00
Damir Jelić
43b7072609 matrix-sdk: Fix some newly introduced clippy warnings 2021-05-06 20:42:27 +02:00
poljar
22b333a0d9
Use as_str() to get the string event type.
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:33:45 +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
Johannes Becker
5c882f89e8 chore: bump ruma 2021-04-26 08:05:58 +02:00
Johannes Becker
910a45b3d5 chore: cleanup clippy warnings 2021-04-23 10:38:49 +02:00
Damir Jelić
324a0aafca Merge branch 'key-share-improvements' 2021-04-21 13:47:02 +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
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ć
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ć
cb58c499b3 crypto: Store that our outbound session was invalidated 2021-04-12 13:47:38 +02:00