2489 Commits

Author SHA1 Message Date
Kévin Commaille
0a37df11cd events: Add unstable support for is_animated image flag
According to MSC4230.
2025-01-02 18:44:00 -05:00
Kévin Commaille
6441d823dd Remove unnecessary allow attribute
It seems like it was fixed in clippy.
2025-01-02 18:42:44 -05:00
Kévin Commaille
9e9b59819c chore: Fix links to rich reply fallback section
Since they were remove in Matrix 1.13, the section was removed and the information is now in an info box.
2025-01-02 18:42:32 -05:00
Kévin Commaille
3321286242 events: Do not generate reply fallbacks anymore
According to MSC2781.

The helper methods for the relevant relations have been simplified to
only take the necessary data.
2025-01-02 18:42:26 -05:00
Kévin Commaille
ea0cdc6318 api: Add MatrixVersion::V1_13 2025-01-02 18:41:55 -05:00
Jason Volk
ac37db212a fix lints
Signed-off-by: Jason Volk <jason@zemos.net>
2025-01-01 22:20:39 +00:00
Jason Volk
814df8faf2 add capacity() and missing len() to Owned identifier interface
Signed-off-by: Jason Volk <jason@zemos.net>
2025-01-01 21:52:10 +00:00
Jason Volk
30a08ff7be various identifiers macro optimizations
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-28 23:43:56 +00:00
Jason Volk
6e4d02b9c0 add errors for feature not implemented or disabled
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-28 23:43:56 +00:00
Jason Volk
54da128bbe refactor owned identifiers using SmallVec 2024-12-28 01:06:09 +00:00
Jason Volk
d3ed3194eb replace constant with function parameter for io-parallelism
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-24 13:52:53 +00:00
Jason Volk
307186ebdc optimize IO for iterative_auth_check and get_power_level_for_sender
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-24 13:52:53 +00:00
Jason Volk
9bdc048cdb various inlines
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-19 14:02:45 +00:00
Jade Ellis
a3cfbf77f0
appservice-api: Stabilize support for sending ephemeral data to appservices
Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-12-18 02:24:07 +00:00
Jade Ellis
ad417daad8
reserve the correct amount of headers 2024-12-17 22:04:17 +00:00
strawberry
a204cb56db
remove stupid skip_serializing_if on push rulesets
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-12-15 15:13:13 -05:00
strawberry
5a826d31a3
remove serde(flatten) in MSC4133 endpoints
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-12-15 03:23:31 -05:00
Kévin Commaille
b1790e05ce push: Allow to add custom data for pushers
Due to a clarification in the spec.
2024-12-15 03:10:09 -05:00
Kévin Commaille
81611b65f8 events: Be a little smarter when removing plain reply fallback
Given that the default algorithm from the spec would also remove the
beginning of a message starting with a blockquote,
let's be more conservative an check that the beginning really looks like
the fallback that was defined in the spec.
2024-12-15 03:07:53 -05:00
Kévin Commaille
f05d0e03a1 api: Disallow #[serde(flatten)] for single-body-fields of requests and responses
`#[ruma_api(body)]` must be used instead.
2024-12-15 03:07:49 -05:00
Kévin Commaille
3ca8adaadf client-api: Add ErrorKind::UserSuspended
According to MSC3823
2024-12-15 03:06:24 -05:00
Kévin Commaille
4a9dfc7b30 client-api: Remove outdated comment
The field is now correctly specified in the spec.
2024-12-15 02:57:17 -05:00
Kévin Commaille
0107229b3c appservice-api: Remove outdated comment
The field is now correctly specified in the spec.
2024-12-15 02:57:14 -05:00
Kévin Commaille
6311fc644e client-api: Remove sentence about optional reason being blank.
If it is optional it makes no sense for it to be blank. This is due to a clarification in the Matrix spec.
2024-12-15 02:57:10 -05:00
Kévin Commaille
9a765f9d2b identifiers: Improve docs of IdZst macro 2024-12-15 02:57:05 -05:00
Kévin Commaille
fb273553b5 identifiers: Allow to set ruma_identifiers_storage cfg setting with env variable 2024-12-15 02:55:58 -05:00
Kévin Commaille
739334ac94 events: Use rename_all rule for CancelCode
The required rename rule exists so remove the TODO and use it.
2024-12-15 02:55:19 -05:00
Kévin Commaille
2a97aa9c4e ruma-client: Fix doc tests with default features 2024-12-15 02:55:16 -05:00
Mathieu Velten
9af36342ff Add a test regarding ser/de of an UserId in a DirectUserIdentifier (#1968)
Add a test to check that a serialized UserId can be deserialized to an OwnedDirectUserIdentifier.

Also fixes Clippy failures.
2024-12-15 02:55:12 -05:00
Kévin Commaille
bc8b704e5b client-api: Add ErrorKind::ThreepidMediumNotSupported
According to MSC4178
2024-12-15 02:54:49 -05:00
strawberry
08f58cd323
alias MSC2409 receive_ephemeral to de.sorunome.msc2409.push_ephemeral
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-12-09 12:56:05 -05:00
Jason Volk
1a550585bf state-res: parallelize fetches within some loops
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 23:56:43 +00:00
Jason Volk
9c84a3be3e state-res: fetch event_auth state events in parallel
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 23:05:10 +00:00
Jason Volk
c1f5f3f20b optimize PL deserialization
add generalized map_as_vec deserializer

Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 13:43:30 +00:00
Jason Volk
771db61ee4 events: slightly rework benches
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 13:43:09 +00:00
Kévin Commaille
13a546056e chore: Remove unnecessary lifetimes 2024-11-29 17:45:04 -05:00
Kévin Commaille
99081fd7d2 client-api: Remove unwanted empty line 2024-11-29 17:45:00 -05:00
Charles Hall
bab06ed375 stateres: make separate O(n) instead of O(n^2)
This way my poor CPU only has to do ~600,000 iterations to resolve
Matrix HQ from scratch. The old algorithm required ~85,000,000,000.

As a treat, we can also drop the dependency on itertools.
2024-11-29 17:43:43 -05:00
Charles Hall
3a2ee354fc stateres: add tests for separate fn
This function has terrible perf so I want to try improving it, but I
need some examples to test against to make sure I don't break anything.
2024-11-29 17:36:48 -05:00
Kévin Commaille
9c9b1f7e93 serde: Improve docs of Raw 2024-11-29 17:36:37 -05:00
Kévin Commaille
f2b58e5e07 macros: Remove dependency to once_cell
Use OnceLock from std instead.
2024-11-29 17:36:33 -05:00
Damir Jelić
d82e2a02d5 events: Add support for MSC4171 2024-11-29 17:36:28 -05:00
Charles Hall
e31b9dd3a4 state-res: refactor tiebreaking logic for clarity 2024-11-29 17:35:08 -05:00
strawberry
97e2fb6df1
state-res: fix allow knock -> leave on same state_key and sender
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-20 22:57:53 -05:00
strawberry
d1f635764e
state-res: fix incorrect knock join_rule checks
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-20 19:34:39 -05:00
strawberry
82ebed457a
correct MSC3266 room_version and encryption response fields
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-20 16:30:02 -05:00
strawberry
8c323cf6e6 clarify confusing knock event auth warning
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:07:47 -05:00
Charles Hall
aff5d8532f state-res: improve tracing spans and events
slight modifications, mainly just restricting these to
debug log level to prevent incurring the overhead of
the instruments, and tiny adjustments for async state res

Co-authored-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:07:42 -05:00
strawberry
cf31b8798f add more missing unspecced r0 endpoints, fix silly upload_signatures struct
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:00:37 -05:00
Mathieu Velten
2ab432fba1 ruma-events: Accept any string as a key for m.direct account data 2024-11-15 12:23:29 -05:00