Commit graph

1741 commits

Author SHA1 Message Date
Johannes Becker
cc591cce1c appservice: Improve docs 2021-05-25 10:05:51 +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
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
Damir Jelić
fe17dce813 Merge branch 'ProjectMoon/master' 2021-05-18 08:53:31 +02:00
Damir Jelić
c122549e0d base: Correctly get the user ids of all room members 2021-05-18 08:29:10 +02:00
projectmoon
bb69901d94 Return joined members in a room from the correct Sled tree. 2021-05-17 22:28:30 +00:00
Jonas Platte
cd77441d1b
Upgrade ruma to 0.1.0 (crates.io release) 2021-05-17 02:57:36 +02:00
Jonas Platte
5059d8b2c6
Remove unused import 2021-05-17 02:21:18 +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
Johannes Becker
0bdcc0fbf9 appservice: Refactor API 2021-05-13 17:42:06 +02:00
Devin Ragotzy
6b600d7e6d Replace async_trait rustfmt removed 2021-05-12 20:34:14 -04: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ć
9863bc4a1c matrix-sdk: Fix a clippy warning 2021-05-12 19:45:23 +02:00
Damir Jelić
77c2a4ed4f matrix-sdk: Bump ruma 2021-05-12 19:19:42 +02:00
Damir Jelić
4c09c6272b Merge branch 'feat/appservice' 2021-05-11 09:50:26 +02:00
Damir Jelić
da57061db0 Merge branch 'tags' 2021-05-10 13:27:30 +02:00
Johannes Becker
753302394f appservice: Remove outdated error 2021-05-10 12:08:04 +02:00
Johannes Becker
a2125adeee ci: Dedicated matrix-sdk-appservice pipeline 2021-05-10 09:56:33 +02:00
Johannes Becker
14bc4eb7e0 appservice: Rename verify_hs_token to hs_token_matches 2021-05-10 09:11:15 +02:00
Johannes Becker
325531d13f appservice: Compile time webserver feature check 2021-05-10 09:04:51 +02:00
Johannes Becker
87099676f9 appservice: Improve docs 2021-05-10 08:43:06 +02:00
Johannes Becker
3b24d33822 appservice: Rely on cfg-toggle in send_request 2021-05-10 07:56:00 +02:00
Johannes Becker
eece920953 appservice: Initial version 2021-05-10 07:51:52 +02:00
Jonas Platte
44eff7deb7
Add a general-purpose API error variant to HttpError 2021-05-08 15:01:02 +02:00
Jonas Platte
68b74c5ea9
Rename HttpError::{FromHttpResponse => ClientApi} 2021-05-08 14:49:42 +02:00
Jonas Platte
efe5b1e538
Bump ruma 2021-05-08 14:49:15 +02:00
Kévin Commaille
a2ab6a9f23
base: Get the tags for a room 2021-05-07 19:11:27 +02:00
Damir Jelić
1bda3659ce sas: Allow to just get the emoji index instead of the emoji and descryption 2021-05-07 17:04:27 +02:00
Damir Jelić
80d01b23c4 sas: Return an array of seven emojis instead of a vector 2021-05-07 17:01:53 +02:00
Damir Jelić
dea3d4cb68 sas: Implement a missing todo, allow accepting in-room verifications.
Technically that's not needed since we auto-accept here after we
accepted the request but we still need to remove the TODO there.
2021-05-07 16:57:52 +02:00
Kévin Commaille
b8017b1fb0
bump ruma to 24154195a00390a33542603b968e94022487587c 2021-05-07 13:22:32 +02:00
Damir Jelić
8dbbacfbe6 client: Add a method to get the ed25519 key of our own device 2021-05-06 21:44:50 +02:00
Damir Jelić
43b7072609 matrix-sdk: Fix some newly introduced clippy warnings 2021-05-06 20:42:27 +02:00
Damir Jelić
cad888e69b client: Remove a now unneeded workaround for UIA 2021-05-06 19:18:22 +02:00
Damir Jelić
5df9ae350c client: Require a proper Url to create a client 2021-05-06 09:58:21 +02:00
Damir Jelić
d90e112c06 Merge branch 'encryption-info-v2' 2021-04-29 16:54:14 +02:00
poljar
6048a1a507
crypto: Fix a typo
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:53 +02:00
poljar
233c4355d8
crypto: Use encryption info in the docstring for the type of the same name
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:39 +02:00
poljar
e71cabc8f0
crypto: Fix a typo.
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:04 +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ć
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