295 Commits

Author SHA1 Message Date
Jonas Platte
0bbad284f3
events: Add RoomRedactionUnsigned 2023-04-18 11:16:56 +02:00
Jonas Platte
1229fa4461
events: Add FullStateEventContent::redact 2023-04-11 16:16:32 +02:00
Jonas Platte
e61e0ccf6b
Implement MSC3925
… without a feature flag because it is a breaking change, so the feature
would have to be non-additive, which is a no-go.
Limited support for the previous replacement format is kept.
2023-03-15 14:49:51 +01:00
Jonas Platte
19d44489c3
events: Split bundled relations into two types
One for message-like events, one for state events.
2023-03-15 14:49:49 +01:00
Kévin Commaille
27a2c07df9 events: Add constants for the verification requests timeouts 2023-03-13 17:12:49 +01:00
Jonas Platte
03a58bcd88
Fix return type of InitialStateEvent::to_raw_any 2023-03-10 12:51:58 +01:00
Jonas Platte
1af28486cc events: Implement Default for EmptyStateKey 2023-03-10 12:33:55 +01:00
Jonas Platte
4049969d8c events: Implement Default for InitialStateEvent
… where C has an empty state key and implements Default itself.
2023-03-10 12:33:55 +01:00
Kévin Commaille
d56386a636 events: Add link to definition of m.room.encryption recommended defaults 2023-03-10 11:41:53 +01:00
Kévin Commaille
0596e46045 events: Add method to construct RoomEncryptionEventContent with the recommended defaults 2023-03-10 11:13:37 +01:00
Jonas Platte
4eb5033dd0
events: Add utility functions for InitialStateEvent 2023-03-09 18:58:56 +01:00
Jonas Platte
f9a40e137e
events: Remove reaction bundling
It was removed from the MSC.
https://github.com/matrix-org/matrix-spec-proposals/pull/2677
2023-02-28 20:01:04 +01:00
Kévin Commaille
cc47a7268b events: Updates location event types
Even if the MSC hasn't been updated, refactor a bit to match other
extensible events types.
2023-02-27 20:28:38 +01:00
Kévin Commaille
61c23491c6 events: Update types according to changes in MSC3381 2023-02-27 20:28:38 +01:00
Kévin Commaille
fbf99fcc53 events: Update types according to changes in MSC3554 2023-02-27 20:28:38 +01:00
Kévin Commaille
08aa2ca04c events: Update types according to changes in MSC3245 2023-02-27 20:28:38 +01:00
Kévin Commaille
41be6ac18b events: Update types according to MSC3927 and changes in MSC3246 2023-02-27 20:28:38 +01:00
Kévin Commaille
60f754322e events: Update types according to changes in MSC3553 2023-02-27 20:28:38 +01:00
Kévin Commaille
5985bbe803 events: Update types according to changes in MSC3552 2023-02-27 20:28:38 +01:00
Kévin Commaille
2de1cecec6 events: Update types according to changes in MSC3551 2023-02-27 20:28:38 +01:00
Kévin Commaille
8477efb2ef events: Update types according to changes in MSCs 1767, 3954, 3955 and 3956 2023-02-27 20:28:38 +01:00
Kévin Commaille
e490c8893d events: Remove the serde alias for the blurhash field in events
Some clients send both the stable and unstable version so deserialization fails.
2023-02-27 17:04:39 +01:00
Jonas Platte
54d27f1083
events: Implement {From,Into}Iterator for ReceiptEventContent 2023-02-22 17:32:40 +01:00
Jonas Platte
53f9cf52ed
events: Implement {From,Into}Iterator for DirectEventContent 2023-02-22 17:32:39 +01:00
Jonas Platte
11d5020565 events: Don't require threads to contain m.in_reply_to 2023-02-22 14:38:23 +01:00
Kévin Commaille
729d003c88 fixup! events: Deprecate MessageAuthenticationCode::HkdfHmacSha256 2023-02-14 22:19:47 +01:00
Kévin Commaille
4718a88bfe fixup! events: Deprecate MessageAuthenticationCode::HkdfHmacSha256 2023-02-14 22:19:47 +01:00
Kévin Commaille
4323fe8b3f events: Deprecate MessageAuthenticationCode::HkdfHmacSha256
According to MSC3783 / Matrix 1.6
2023-02-14 22:19:47 +01:00
Kévin Commaille
798c25e32a events: Move MessageAuthenticationCode::HkdfHmacSha256V2 out of unstable-msc3783 2023-02-14 22:19:47 +01:00
Kévin Commaille
f159776f52 chore: Make all applicable spec links use the latest spec instead of a specific version 2023-02-12 12:39:24 +01:00
Kévin Commaille
699c2daf39
events: Remove mixed types and conversion functions for extensible events
Mixed types have been removed from MSC1767.
2023-02-09 16:25:51 +01:00
Kévin Commaille
ad86f4603a events: Derive Hash for ReceiptType and ReceiptThread
Since uniqueness of receipts is determined per type and per thread
it's common to use them as keys of a map.
2023-02-06 19:11:06 +01:00
Jonas Platte
31671da257
events: Simplify membership_change match 2023-01-26 11:26:37 +01:00
Jonas Platte
bf4520a2a9
events: Restrict what counts as MembershipChange::ProfileChanged 2023-01-26 11:25:09 +01:00
Jonas Platte
69337d1f4e
events: Add custom PossiblyRedactedRoomTombstoneEventContent
The auto-generated type would look different based on whether the compat
feature is active or not previously.
2023-01-25 16:46:37 +01:00
Zwelf
3d74117dd4
events: Add Serialize back to InitialStateEvent 2023-01-24 16:04:47 +00:00
Jonas Platte
f99ff2a83c
events: Remove unused Serialize, Deserialize impls 2023-01-18 09:30:47 +01:00
Jonas Platte
62ed200a56
events: Use possibly-redacted content for StrippedStateEvent 2023-01-16 21:28:53 +01:00
Jonas Platte
2eba14f0cc
events: Rework the content traits 2023-01-16 21:28:53 +01:00
Jonas Platte
49a0650f62
events: Remove EventKind
The EventType associated type on EventContent practically provides the
same information.
2023-01-16 21:17:00 +01:00
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