682 Commits

Author SHA1 Message Date
Jonas Platte
ae3394a6df api: Turn metadata name and description fields into docstrings 2022-11-12 10:17:24 +01:00
Jonas Platte
bdb5950fe4 macros: Remove ruma_api! macro 2022-11-12 10:17:24 +01:00
Jonas Platte
80c060cb69 Remove usage of ruma_api! 2022-11-12 10:17:24 +01:00
Kévin Commaille
c5fb935472 macros: Add .m.rule.snake_case rename rule for StringEnum 2022-11-12 09:55:57 +01:00
Kévin Commaille
eecae05721
events: Change IgnoredUserListEventContent to use a map of empty structs 2022-11-11 21:48:14 +01:00
Jonas Platte
2500e8f8fa api: Make query_string parameter of make_endpoint_url non-optional
When Some(_), the argument would often be an empty string. By always
using the empty string to mean "no query", we avoid trailing a `?` on
URLs without having two parameter values that mean the same thing.
2022-11-11 11:27:07 +01:00
Jonas Platte
dd67745e4d events: Add convenience constructors for MessageType 2022-11-11 11:06:33 +01:00
Jonas Platte
a8ba82d585 api: Make EndpointError construction infallible
Simplifies error matching and preserves more information for
non-spec-compliant server errors.
2022-11-10 13:10:57 +01:00
Jonas Platte
2451f33a64
api: Replace ruma_api! compile-time path check with a test 2022-11-10 11:33:17 +01:00
Jonas Platte
9195a5de18
api: Make VersionHistory fields private 2022-11-10 11:33:17 +01:00
Jonas Platte
08dcf1e224
api: Add VersionHistory::{deprecated_in, removed_in} 2022-11-10 11:33:17 +01:00
Jonas Platte
866b01d0c2
api: Rename VersionHistory::added_version to added_in
… and reword its documentation.
2022-11-10 11:33:17 +01:00
Jonas Platte
848ca9b225
api: Rework VersionHistory path accessors
* Return iterators
* Rename all_unstable_paths to unstable_paths
* Rename all_versioned_stable_paths to stable_paths
2022-11-10 11:33:17 +01:00
Jonas Platte
94990f60f2 events: Don't skip serializing empty content of redacted events 2022-11-09 17:11:50 +01:00
Damir Jelić
6d133971b0
events: Add support for MSC3783 in the key verification events 2022-11-09 16:45:24 +01:00
Kévin Commaille
05356d7d4e push: Add method to change the actions of push rules in a Ruleset 2022-11-09 14:45:12 +01:00
Kévin Commaille
96642e3a1b push: Add method to change the enabled state of push rules in a Ruleset 2022-11-09 14:45:12 +01:00
Kévin Commaille
f87714d73f push: Add method to insert a user push rule in a Ruleset 2022-11-09 14:45:12 +01:00
Kévin Commaille
a50f5f5cb2 push: Add method to get a push rule in a Ruleset 2022-11-09 14:45:12 +01:00
Kévin Commaille
aa2e905ce3 client-api: Use an enum to construct set_pushrule's Request 2022-11-09 14:45:12 +01:00
Kévin Commaille
b2d52680af push: Remove Ruleset::add()
In practice, rule insertion is more complex than
adding rules at the end of the ruleset. It can be
easily replaced by using the methods of IndexSet.
2022-11-09 14:45:12 +01:00
Kévin Commaille
cb122e755c push: Move RuleKind to ruma-common 2022-11-09 14:45:12 +01:00
Kévin Commaille
bf7c504446 push: Add enums for predefined push rule IDs 2022-11-09 14:45:12 +01:00
Kévin Commaille
2bd5c131f4 client-api: Make PusherKind contain the pusher data
Since it depends on the kind
2022-11-07 10:21:48 +01:00
Kévin Commaille
5158dbf2eb events: Don't include sensitive data in Debug-format of to-device events 2022-11-07 09:46:25 +01:00
Jonas Platte
d15fc3f5ec
events: Avoid unnecessary copying in reply generation 2022-11-03 13:45:21 +01:00
Jonas Platte
ae26730e29
events: Move fragment stringification out of HtmlSanitizer::clean 2022-11-03 13:45:16 +01:00
Xiretza
69c807bdc1
events: Escape plain bodies in replies
Replies generate an HTML body even if the reply itself only consists of
plain text. In order to convert the plain text to HTML, it has to be
escaped, which did not happen previously.
2022-11-03 13:16:01 +01:00
Jonas Platte
4671fa3e4d
api: Properly document request, response macros 2022-11-01 10:04:45 +01:00
Jonas Platte
f613137b31
macros: Add response attribute macro 2022-11-01 09:39:11 +01:00
Jonas Platte
74dab985aa api: Use metadata macro from ruma_api! 2022-10-28 10:39:21 +02:00
Jonas Platte
b9ec4db8f0 api: Add metadata! macro for easy Metadata construction
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2022-10-28 10:39:21 +02:00
Jonathan de Jong
e783d77db7
api: Add VersionHistory const fn new 2022-10-26 18:00:46 +02:00
Jonas Platte
c7e84c5249
Fix clippy lints
Automated using `cargo clippy --fix`.
2022-10-26 13:38:29 +02:00
Jonas Platte
f22857e682
macros: Add request attribute macro 2022-10-24 15:28:50 +02:00
Jonas Platte
dff84efb0c
api: Remove authentication from Request derive attributes 2022-10-22 12:25:27 +02:00
Jonas Platte
c9bd9bf00b
api: Remove NonAuthRequest traits 2022-10-22 12:24:22 +02:00
Jonas Platte
e7e39a6af1
api: Remove method from Request derive attributes 2022-10-22 12:24:21 +02:00
Jonas Platte
ec31badd84
api: Replace path fields in Metadata with new VersionHistory type
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2022-10-22 11:17:55 +02:00
gnieto
dcff5a0737
events: Make name on SecretStorageKeyEventContent optional
The spec has the `name` field marked as optional.

See: https://spec.matrix.org/v1.4/client-server-api/#key-storage
2022-10-22 08:29:13 +00:00
Kévin Commaille
045861441a doc: Update Matrix spec links to v1.4 2022-10-21 10:41:20 +02:00
Kévin Commaille
2fe7265188 doc: Fix sanitize feature name 2022-10-21 10:40:33 +02:00
Kévin Commaille
a3675e61bf events: Add method to construct a replacement 2022-10-21 10:40:33 +02:00
Kévin Commaille
21bda6678d events: Enable more markdown syntax
Enable markdown extensions that produces spec-compliant HTML.
2022-10-19 21:44:33 +02:00
Kévin Commaille
a710229d9d events: Fix markdown content detection
Encoded HTML entities would be detected as a change.
Use the parsed events instead to check if markdown syntax was detected.
2022-10-19 21:44:33 +02:00
Kévin Commaille
7c0f7ba5f1 events: Make Replacement generic over the parent type
Because the new content must be of the same type.
2022-10-17 20:27:49 +02:00
Kévin Commaille
7c802c89ca events: Remove conversions between extensible types and room messages
They are more difficult to implement and use with
generic replacements, for little gain.
2022-10-17 20:27:49 +02:00
Kévin Commaille
ec853e968a events: Generate structs without relation for events that can be replaced 2022-10-17 20:27:49 +02:00
Kévin Commaille
b538234bce chore: Fix new docs warnings 2022-10-12 10:31:23 +02:00
Kévin Commaille
c2c4555133 identifiers: Fix MatrixToUri parsing for non-url-encoded room aliases 2022-10-10 23:03:58 +02:00