124 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
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
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
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
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
3eb82950f2
Remove accidentally duplicated file 2022-11-01 12:39:55 +01:00
Jonas Platte
ec67fcbd6f api: Use VersionHistory::new from ruma_api!
… and remove a now-redundant check from the macro code.
2022-10-28 10:38:52 +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
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
Jonas Platte
451a50a77b
api: Add missing cfg for test 2022-10-22 11:12:52 +02:00
Kévin Commaille
a3675e61bf events: Add method to construct a replacement 2022-10-21 10:40:33 +02:00
Jonas Platte
764e96a254
api: Enforce consistent path field order 2022-10-20 20:51:09 +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
ec853e968a events: Generate structs without relation for events that can be replaced 2022-10-17 20:27:49 +02:00
Kévin Commaille
e6e7e52034 client-api: Send CORP headers by default for media responses
According to MSC3828.
2022-10-10 19:09:39 +02:00
Kévin Commaille
739c35aaca api: Allow to use any HeaderName with the header keyword of ruma_api 2022-10-10 19:09:39 +02:00
Kévin Commaille
99ae790446 events: Remove redundant tests
There are similar tests in the relations module
2022-10-10 18:23:03 +02:00
Kévin Commaille
4e2dac30be events: Stabilize support for event replacements 2022-10-10 18:23:03 +02:00
Kévin Commaille
994136b9b8 events: Add thread-aware methods to RoomMessageEventContent 2022-10-10 17:55:08 +02:00
Kévin Commaille
003f0abebf events: Stabilize current support for threads 2022-10-10 17:55:08 +02:00
Jonas Platte
715c226975 api: Make select_path and make_endpoint_url methods on Metadata
… and remove #[doc(hidden)] attribute.
2022-09-29 15:49:39 +02:00
Jonas Platte
8290d712f2 api: Move the majority of endpoint URL building out of macro code 2022-09-29 15:49:39 +02:00
Jonas Platte
82dd050277
Update trybuild stderr file 2022-09-24 15:35:19 +02:00
Jonas Platte
06bc576571
events: Simplify serialize_and_deserialize_from_display_form test
We don't need to test every single event type.
2022-09-22 11:42:49 +02:00
Jonas Platte
b7b7d043f3
events: Add RoomMessageEventContent::make_reply_to
… and deprecate reply constructors.
2022-09-14 10:02:25 +02:00
Jonas Platte
aa8e48d1c3
events: Allow customizing the unsigned type of state events 2022-09-12 13:10:10 +02:00
Jonas Platte
674137c41d
events: Use CanBeEmpty trait for skipping unsigned serialization 2022-09-12 11:44:05 +02:00
Jonas Platte
914e5c21e9
events: Rename Any[Sync]RoomEvent to Any[Sync]TimelineEvent 2022-08-24 17:43:42 +02:00
Kévin Commaille
8e2c4b5cb7 api: Make Clone a supertrait of OutgoingRequest
Allow to retry a request.
2022-07-30 17:02:38 +02:00
Kévin Commaille
6f3d9fd327 events: Support m.html shortcut for MessageContent 2022-07-27 14:31:18 +02:00
Kévin Commaille
ed8990c3fd events: Allow to create custom MessageEventContents 2022-07-27 14:31:18 +02:00
Kévin Commaille
635480796d common: Add support for private read receipts
According to MSC2285
2022-07-18 11:18:55 +02:00
Kévin Commaille
cac7e09429
events: Add methods to sanitize messages
Can also remove rich reply fallbacks

Behind the `unstable-sanitize` feature.

Co-authored-by: Jonas Platte <jplatte@matrix.org>
2022-06-24 19:13:46 +02:00
Jonas Platte
f5c734a7b5
serde: Remove allow attribute that's no longer needed 2022-06-21 18:03:34 +02:00
Kévin Commaille
8081878934 events: Remove m.room.message.feedback
According to MSC3582
2022-06-20 18:34:06 +02:00
Kévin Commaille
524eb90501 api: Make some test assertions more helpful 2022-06-14 10:54:18 +02:00
Kévin Commaille
e0de3d164b events: Make more test assertions more helpful 2022-06-14 10:54:18 +02:00
Kévin Commaille
066d8aee7f api: Make some test assertions more helpful 2022-06-14 10:01:49 +02:00
Kévin Commaille
b388202c89 serde: Make some test assertions more helpful 2022-06-14 10:01:49 +02:00
Jonas Platte
c3435a39e4 identifiers: Improve session_id! error messages 2022-06-08 13:31:38 +02:00
Jonas Platte
cb96caa064 identifiers: Add session_id macro 2022-06-08 13:31:38 +02:00
Jonas Platte
56cf3ce94c Allow buggy clippy lint on a per-crate basis
The previous method of allowing it through .cargo/config.toml doesn't
seem to work anymore.
2022-06-08 11:45:29 +02:00