1184 Commits

Author SHA1 Message Date
Jonas Platte
571fa90b8d
identifiers: Rename Error to IdParseError
… because it's now exported from the ruma-common crate root.
2022-03-28 12:22:28 +02:00
Kévin Commaille
685bd34fd4 events: Enforce MessageContent to not be empty 2022-03-26 11:47:01 +01:00
Kévin Commaille
f9390c7c35 events: Create error type for extensible events conversion 2022-03-26 11:47:01 +01:00
Kévin Commaille
245bf75276 events: Replace Captions with MessageContent
Use a custom serde implementation
2022-03-26 11:47:01 +01:00
Kévin Commaille
93b4114a82 events: Deref MessageContent to a slice 2022-03-26 11:47:01 +01:00
Kévin Commaille
e4463dda22 events: Replace Thumbnails with a Vec 2022-03-26 11:47:01 +01:00
Jonas Platte
bf6687c92d
federation-api: Fix unstable-pre-spec tests 2022-03-26 09:36:58 +01:00
Jonas Platte
8f054ba39c
federation-api: Break up some large assert_matches! invocations 2022-03-26 09:16:42 +01:00
Kévin Commaille
70ef702124 events: Document extensible events 2022-03-25 18:07:04 +01:00
Kévin Commaille
4acfc8d591 events: Use stable field prefix for extensible events
Only transitional room messages will be sent while unstable
2022-03-25 18:07:04 +01:00
Jonas Platte
26556259c8
Re-export macro exports module from ruma 2022-03-25 14:03:18 +01:00
Jonas Platte
de565c9af9
events: Make MediaSource an exhaustive enum 2022-03-25 13:07:16 +01:00
Jonas Platte
05ad164d21
macros: Fix errors from unused serde attributes with only server feature active 2022-03-25 12:26:52 +01:00
Jonas Platte
7bef8ea5ef
Fix broken intra-doc links 2022-03-25 11:03:41 +01:00
Jonas Platte
4d52700142
events: Fix non-link URL 2022-03-25 11:02:22 +01:00
Jonas Platte
3d17529d2e
client-api: Make from param optional in get_message_events
… and provide some additional convenience constructors.
2022-03-25 11:01:16 +01:00
Jonas Platte
c32e074383
client-api: Clean up get_message_events docs 2022-03-25 10:14:29 +01:00
Jonas Platte
7a5be040fd
macros: Reduce codegen by feature-gating Serialize and Deserialize derives
… this makes it faster to compiler ruma-*-api with either the client or
server feature inactive.
2022-03-24 18:08:21 +01:00
Jonas Platte
7fbb28f223
macros: Finish support for variable event types 2022-03-23 21:17:18 +01:00
Jonas Platte
316d1423e8
events: Remove AsRef<str> requirement on EventContent::EventType
… and use Display instead of AsRef<str> for Raw<T>::deserialize_content.
2022-03-23 21:17:18 +01:00
Jonas Platte
a860fdaa86
macros: Allow variable event types in event_enum!
… the generated `*EventType`s aren't correct yet though.
2022-03-23 21:17:18 +01:00
Jonas Platte
ef9c84716c
common: Allow variable event types in EventContent derive 2022-03-23 21:17:18 +01:00
Damir Jelić
cf8f1b0e7e common: Use DeviceKeyId in more places for the CrossSigningKey type 2022-03-23 17:17:54 +01:00
Damir Jelić
9ed83165d0 common: Use StringEnum for the KeyUsage enum 2022-03-23 17:17:54 +01:00
Kévin Commaille
12ee658e96
events: Use an enum for a media's source
Have stricter media types that accept either an encrypted or plain file.

Co-authored-by: Jonas Platte <jplatte@element.io>
2022-03-22 16:42:42 +01:00
Jonas Platte
9da6bd4861
events: Fix feature gate for aggregated relations
We had a mix of two feature gates because of a mishap in rebasing.
2022-03-22 14:51:14 +01:00
Jonas Platte
f0710fdf1b
events: Make m.room.avatar url optional, always
Removes the feature gate because this has been clarified to be right
in the spec: https://github.com/matrix-org/matrix-spec/pull/987
2022-03-22 14:51:14 +01:00
Jonas Platte
eb515046d7 api: Add map and transpose methods for FromHttpResponseError and ServerError 2022-03-22 13:26:38 +01:00
Jonas Platte
ffd7625a17 api: Rename FromHttpResponseError::{Http => Server} 2022-03-22 13:26:38 +01:00
Jonas Platte
54f9db8ccc macros: Consistently create Incoming* types from Incoming derive
… as a type alias if there are no lifetime generics on the input type.
2022-03-22 13:19:03 +01:00
Jonas Platte
5a791b3c6e macros: Simplify Incoming derive implementation 2022-03-22 13:19:03 +01:00
Jonas Platte
a6a530dcc8 serde: Rename derive macro Outgoing to Incoming
All it does now is generate `Incoming{Self}` types.
2022-03-22 13:19:03 +01:00
Jonas Platte
5cf42f3a86 serde: Remove the Outgoing trait 2022-03-22 13:19:03 +01:00
Jonas Platte
4e7eeb8aa4 macros: Slightly simplify generated API trait impls 2022-03-22 13:19:03 +01:00
Jonas Platte
e3a8b6b81f macros: Don't generate unused Outgoing structs
They are only needed when the server feature is active.
2022-03-22 13:19:03 +01:00
Kévin Commaille
11ef863bf0
common: Use Duration in message events 2022-03-22 12:14:39 +01:00
Kévin Commaille
ded83663de federation-api: Deserialize stable names for unstable features 2022-03-21 14:46:13 +01:00
Kévin Commaille
0fb3f39c07 common: Deserialize stable names for unstable features 2022-03-21 14:46:13 +01:00
Kévin Commaille
5c2c13145d client-api: Deserialize stable names for unstable features 2022-03-21 14:46:13 +01:00
Kévin Commaille
2621dced1b examples: Move all examples to the root folder 2022-03-21 14:23:57 +01:00
Kévin Commaille
5cc3656c27 signatures: Remove empty example 2022-03-21 14:23:57 +01:00
Kévin Commaille
12523cd741
common: Add support for transitional extensible text messages 2022-03-21 13:16:44 +01:00
Kévin Commaille
e2375ed72e xtask: Add typos check 2022-03-18 14:29:57 +01:00
Jonas Platte
d94e194b75
common: Fix build error 2022-03-18 12:51:30 +01:00
Kévin Commaille
af61a62202
macros: Add alias attribute to ruma_enum 2022-03-18 12:38:47 +01:00
Kévin Commaille
9b870cd9af
common: Add support for voice message events 2022-03-18 12:13:26 +01:00
Jonas Platte
d1e70c3d9f
events: Clean up m.room.member docs 2022-03-16 17:03:38 +01:00
Jonas Platte
2551950d20
common: Split up single assert_matches! into many assertions
Longer but provides better error messages. We should do this everywhere.
2022-03-16 16:31:00 +01:00
Jonas Platte
ada3108a96
common: Move prev_content into unsigned 2022-03-16 16:30:29 +01:00
Kévin Commaille
1f53f38b4f common: Add support for translatable text content.
According to MSC3554
2022-03-16 13:12:58 +01:00