176 Commits

Author SHA1 Message Date
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
Jonas Platte
de337ecb8c
events: impl Display for room::message::MessageFormat 2020-08-11 15:09:25 +02:00
Jonas Platte
aa3e7416a9
Update constructors in ruma_events::room::message 2020-08-11 01:54:23 +02:00
Amanda Graven
fdc15123b0
Reorganize encyption related code
Some types used for encryption related tasks need to be used across more
internal crates than expected, so a few have been moved and renamed for
clarity.

* Rename the key_algorithms module in ruma-identifiers-validation to crypto_algorithms
* Move ruma_events::Algorithm to ruma-identifiers-validation and rename it EventEncryptionAlgorithm
* Move DeviceKeys from ruma-client-api to ruma-common
2020-08-10 18:38:53 +02:00
Jonas Platte
1fbf05d71f
Fix some bad formatting 2020-08-08 21:52:58 +02:00
Isaiah Inuwa
7eb945976c Use strong types in signatures fields 2020-08-08 15:54:31 +02:00
Jonas Platte
9bc6ce9201
Use identifier macros for tests 2020-08-05 00:12:44 +02:00
Jonas Platte
066da75c7d
Remove pointless TryFrom usage 2020-08-05 00:12:44 +02:00
Devin Ragotzy
606f988ed8 Add doc comments for cmp traits and use unambiguius paths 2020-08-03 17:39:50 +02:00
Devin Ragotzy
3f370c5f1b Add PartialEq/Eq and PartialOrd/Ord to the event structs with event_ids 2020-08-03 17:39:50 +02:00