305 Commits

Author SHA1 Message Date
Jonas Platte
b859d9c8b0
common: Derive Debug via StringEnum derive 2023-01-13 13:49:59 +01:00
Jonas Platte
68a596dbc3
events: Remove RedactedEventContent trait 2023-01-10 11:46:49 +01:00
Kévin Commaille
1d8ea75f6f events: Remove EventContent::from_parts 2023-01-10 11:37:31 +01:00
Kévin Commaille
9a9bd2c933 events: Remove Raw::deserialize_content
Replace it with deserialize_as or deserialize_with_type.
2023-01-10 11:37:31 +01:00
Kévin Commaille
dc591647f8 events: Remove StateUnsignedFromParts
Replace it with a bound on DeserializeOwned
2023-01-10 11:37:31 +01:00
Kévin Commaille
97b212795a events: Create EventContentFromType
Implement it for:
- event contents that implement Deserialize
- event contents with event types with a suffix
- custom event contents
2023-01-10 11:37:31 +01:00
Kévin Commaille
2934325486 events: Add type accessors to Any{Sync}TimelineEvent 2023-01-03 10:36:13 +01:00
Kévin Commaille
ca78825e94 events: rename RoomEventType to TimelineEventType 2023-01-03 10:36:13 +01:00
Kévin Commaille
cd74cdcc0e
events: Generate PossiblyRedacted type for original state events
Fix deserialization of redacted prev_content
Can be overriden with the `custom_possibly_redacted` attribute

Co-authored-by: Jonas Platte <jplatte@element.io>
2023-01-03 10:28:40 +01:00
Kévin Commaille
9d8c9c477f events: Move Unsigned type to new OriginalStateEventContent trait
Only original events require it.
2022-12-23 17:55:03 +01:00
Kévin Commaille
a0cc916742 events: Fix space state events optional booleans ser/de 2022-12-21 17:33:18 +01:00
Kévin Commaille
2a37e4d109 events: Remove Serialize implementation of unsigned types 2022-12-21 17:03:35 +01:00
Jonas Platte
67d0f3cc04
Temporarily add back Serialize implementations for non-DAG events
… since they are being used by Conduit.
2022-12-21 13:34:05 +01:00
Kévin Commaille
e6c995ef1a events: Implement membership_change on [Redacted]RoomMemberEventContent 2022-12-21 11:08:16 +01:00
Flix
cf68a4676d
events: Make deserialize_relation public 2022-12-20 16:03:01 +01:00
Kévin Commaille
e4678284ca events: Add accessor for AnyFullStateEventContent's event type 2022-12-20 10:46:34 +01:00
Kévin Commaille
baaf73adbc
events: Add accessors for state events' original or redacted content 2022-12-19 13:13:12 +00:00
Kévin Commaille
fc0b29068f events: Better fix for typo in docs 2022-12-17 16:37:36 +01:00
Kévin Commaille
e541ce042c events: Fix typo in docs 2022-12-17 12:03:17 +01:00
Jonas Platte
5ff113a286 events: Remove unnecessary Box around Raw 2022-12-15 16:46:12 +01:00
Jonas Platte
d20f42617c events: Box optional bundled relations
These fields are much more commonly None than Some(_).
2022-12-15 16:46:12 +01:00
Jonas Platte
190205cfb1 events: Remove Option around BundledRelations
… because the type has its own empty state (all fields being None).
2022-12-15 16:46:12 +01:00
Jonas Platte
2aef89cf24 events: Add missing serde attributes to BundledRelations fields 2022-12-15 16:46:12 +01:00
Jonas Platte
2b69afeba7
events: Create new type for redaction event inside redacted_because
This new types will deserialize fine regardless of whether the redaction
event is itself redacted or not.
2022-12-15 15:06:04 +01:00
Jonas Platte
ad3c27d927
events: Make redacted_because non-optional in RedactedUnsigned 2022-12-15 12:47:27 +01:00
Jonas Platte
67cc8e9e9c Box rarely-used variants to reduce enum stack size 2022-12-15 11:46:30 +01:00
Jonas Platte
a22033413d
events: Fix serialization of custom restricted join allow rules 2022-12-15 11:19:16 +01:00
Jonas Platte
cdabe8e52d events: Remove Serialize impls for all event types except ToDeviceEvent 2022-12-15 10:41:30 +01:00
Kévin Commaille
80733a8cee events: Fix matching of rejected and revoked invitation 2022-12-14 16:21:38 +01:00
Kévin Commaille
687a534b38 events: Add MembershipChange::InvitationAccepted 2022-12-14 16:21:38 +01:00
Jonas Platte
675e6f43cd
events: Remove the Redact trait
It has not proven to be useful, being used by no downstream project.
2022-12-14 12:49:15 +01:00
Jonas Platte
a5c5b0b137
Make clippy happy 2022-12-09 11:45:04 +01:00
Kévin Commaille
61a9d65b71 events: Rename events::relation::Relations to BundledRelations 2022-11-25 22:33:37 +01:00
Kévin Commaille
80056c8a35 events: Add serialization test for reaction 2022-11-25 22:33:37 +01:00
Kévin Commaille
5faff343a0 events: Use Reference instead of events::poll::ReferenceRelation 2022-11-25 22:33:37 +01:00
Kévin Commaille
93bc8a60be events: Use Reference instead of events:🔑:verification::Relation 2022-11-25 22:33:37 +01:00
Kévin Commaille
e63896b916 events: Use Annotation instead of events::reaction::Relation 2022-11-25 22:33:37 +01:00
Kévin Commaille
6648954bd2 events: Move common relation structs under events::room::encrypted to events::relation 2022-11-25 22:33:37 +01:00
Kévin Commaille
aeaa4af776 events: Move relations under events::room::message to events::relation 2022-11-25 22:33:37 +01:00
Kévin Commaille
74161014be events: Add support for formatted body on KeyVerificationRequestEventContent 2022-11-25 20:19:52 +01:00
Kévin Commaille
583ee2cdfa events: Add support for bundled reference relations
According to MSC3267 / Matrix 1.5
2022-11-25 20:11:33 +01:00
Kévin Commaille
03230013d9
events: Add constructor for events::room::encrypted::Replacement 2022-11-25 18:40:19 +01:00
Kévin Commaille
dc18b12506
events: Fix deserialization without relation 2022-11-25 18:40:19 +01:00
Jonas Platte
ed100afddb
events: Add IgnoredUser::new 2022-11-14 10:36:15 +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
dd67745e4d events: Add convenience constructors for MessageType 2022-11-11 11:06:33 +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
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