135 Commits

Author SHA1 Message Date
Jonas Platte
19ae6ff347
Remove lots of Copy implementations
so we don't have do breaking releases once they can't be Copy anymore.
2020-12-24 02:51:08 +01:00
Devin Ragotzy
724a48d616
Add examples to the docs of Raw and the ruma-events module 2020-12-07 17:57:23 +01:00
David Vo
1a4e9aa20a
Implement MSC2448: BlurHashes for media
This exposes the pre-FCP unstable prefixed fields in MSC2448.
2020-12-07 13:01:15 +01:00
strct
018adf0819
Fix typo in docs 2020-12-07 10:51:41 +01:00
Jonas Platte
e8882fe814
events: Regroup crate-local imports 2020-12-04 21:05:48 +01:00
Damir Jelić
9b87fdda12
ruma-events: Allow encrypted megolm events to contain a relation 2020-12-04 19:53:46 +01:00
Damir Jelić
3216edc137
ruma-events: Add support for m.key.verification.done events 2020-12-04 19:53:46 +01:00
Damir Jelić
ce2ab39d71
ruma-events: Add support for m.key.verification.ready events 2020-12-04 19:53:46 +01:00
Damir Jelić
e0adcaa502
ruma-events: Add the key verification room message variant 2020-12-04 19:53:45 +01:00
Damir Jelić
4afafa8b37
ruma-events: Add the majority of in-room verification events
This patch adds equivalent in-room versions of the m.key.verfication.*
events we have for to-device events.

The MSC that adds this is found over here:
https://github.com/matrix-org/matrix-doc/pull/2241
2020-12-04 19:53:43 +01:00
Damir Jelić
7ec2b0b555
ruma-events: Create separate to-device content structs
While it's possible to share the content between different event types
in the usual case some event types have slightly different contents if
they are sent out as a to-device event vs a room message event.

The canonical example for this are key verification events where the
to-device version has a transaction id field but the room message
version uses event relationships for the same purpose.

This patch makes it possible for to-device events to have different
content structs. Type aliases are used where a common struct can be
used.
2020-12-04 19:48:34 +01:00
Jonas Platte
1ceade7b61
identifiers: Add more crypto-related types
Co-authored-by: Isaiah Inuwa <isaiah.inuwa@gmail.com>
2020-12-02 13:11:28 +01:00
Jonas Platte
5562a23aaa
Move Raw, Outgoing and all macro code from ruma-common to ruma-serde 2020-11-28 03:45:39 +01:00
Jonas Platte
e7f55ea2c6
Rewrap comments 2020-11-27 18:22:18 +01:00
Jonas Platte
6c4bd7c72c
events: Allow m.new_content to change the message type 2020-11-26 17:52:08 +01:00
Jonas Platte
48d1c97475
events: Add rudimentary support for m.new_content 2020-11-25 18:40:48 +01:00
Jonas Platte
1f14cb0393
events: Simplify html constructors for text & notice message event contents 2020-11-25 18:40:16 +01:00
Jonas Platte
199f5840dd
events: Make text & notice message event content non-exhaustive 2020-11-25 18:38:14 +01:00
Jonas Platte
abc18fae39
Fix some links in documentation 2020-11-24 03:25:02 +01:00
Jonas Platte
c322bd4d1e
events: Feature-gate reactions
and make relationships module public. The re-export idea doesn't make
sense with annotations being used in both reactions and messages.
2020-11-24 03:25:02 +01:00
Jonas Platte
60d12470c9
events: Allow missing fields in m.room.third_party_invite under unstable-synapse-quirks 2020-11-23 19:32:28 +01:00
Jonas Platte
634c3f1ee5
events: Allow m.room.tombstone without a body under unstable-synapse-quirks 2020-11-23 19:31:44 +01:00
Jonas Platte
ee4280cea2
events: Allow the url in m.room.avatar to be null / missing
This isn't allowed in any version of the spec, but it's the only way to
unset an avatar and will have to be supported in the future.

C.f. https://github.com/matrix-org/matrix-doc/issues/2006
2020-11-23 14:18:41 +01:00
Jonas Platte
0ae0a89467
events: Remove accidentally copy-pasted docs line 2020-11-23 14:15:54 +01:00
Alejandro Domínguez
d16fd4b2c1 Enable support in power level events for old Synapse events with strings 2020-11-20 14:31:10 +01:00
Guillem Nieto
34c4b6c110 Remove PduStub
Removed PduStub because is not used anymore on any public endpoint.
2020-11-18 19:30:23 +01:00
Jonas Platte
9a4206b1b2
events: Add a test for edit deserialization without unstable-pre-spec 2020-11-18 14:13:15 +01:00
Damir Jelić
71a8d9d6ce events: Add support for the m.reaction event type 2020-11-10 13:30:52 +01:00
Damir Jelić
cf7d4b40e1 events: Add support for the new relation types 2020-11-10 13:30:52 +01:00
Jonas Platte
374603f51c
Rename SigningKeyId to ServerSigningKeyId 2020-11-08 19:24:48 +01:00
Isaiah Inuwa
b793a790db
Rename ServerKeyId to SigningKeyId 2020-11-08 13:21:55 +01:00
Jonas Platte
d476046443
Disable clippy::large_enum_variant lint on event enums 2020-11-02 00:29:47 +01:00
Jonas Platte
dd6446822b
Derive PartialEq and Eq for all string-wrapping enums 2020-11-02 00:29:47 +01:00
Jonas Platte
d34a270919
Allow custom values for more enums 2020-11-02 00:29:47 +01:00
Jonas Platte
70a12864ef
Use new macros for existing future-compatible enums 2020-11-02 00:29:41 +01:00
Jonas Platte
e1975c2035
Be more consistent about whitespace 2020-10-24 00:44:01 +02:00
q-b
524782e992
Add moderation policy events 2020-10-09 13:29:11 +02:00
Jonas Platte
7c535badf6
events: Make some more types non-exhaustive 2020-09-22 23:12:22 +02:00
Jonas Platte
15e1a4bea8
Remove origin field from transactions and pdus for #[feature = "unstable-pre-spec"]
See https://github.com/matrix-org/synapse/issues/3816

Co-authored-by: Timo <timo@koesters.xyz>
2020-09-17 21:24:02 +02:00
Julian Tescher
c3a074059f
Make custom enum variants doc hidden 2020-09-08 01:06:23 +02:00
Nicholas Young
7ccdaa34d6 feature gate exhaustive types for all spec crates:
- ruma-appservice-api
- ruma-client-api
- ruma-events
- ruma-federation-api
2020-09-01 18:39:41 -06:00
Jonas Platte
5407a95a99
client-api: Update tag endpoints to the new API standards 2020-08-30 22:20:38 +02:00
Jonas Platte
532e7a7233
events: Hide EventType::Custom 2020-08-29 23:39:08 +02:00
Jonas Platte
578f6c8925
Replace r0::room::create_room::InitialStateEvent with ruma_events::InitialStateEvent 2020-08-17 23:36:00 +02:00
Jonas Platte
148d876acb
Use ServerNameBox in ruma-events, ruma-*-api 2020-08-13 22:01:15 +02:00
Jonas Platte
4a1b6d5607
Use DeviceIdBox in ruma-events, ruma-*-api 2020-08-13 21:19:41 +02:00
Jonas Platte
221befe401
Add constructors to MessageEventContent 2020-08-13 19:51:02 +02:00
Jonas Platte
d36dcdb202
Add NoticeMessageEventContent::html and TextMessageEventContent::html 2020-08-13 19:46:05 +02:00
Jonas Platte
4a5272e37b
Fix doc typo 2020-08-13 19:45:03 +02:00
Devin Ragotzy
cfe62f27d0
Re-export ruma-events-macros and deps in ruma-events
This also adds the dependency and function to find crate name at macro
expansion time.
2020-08-11 23:47:34 +02:00