706 Commits

Author SHA1 Message Date
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
1249dda583
common: Implement Debug manually for [Milli]SecondsSinceUnixEpoch 2023-02-02 12:10:29 +01:00
Jonas Platte
fe5077b1a5
Upgrade base64 to 0.21 2023-01-31 18:01:01 +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
Kévin Commaille
06820cdc92 common: Use the same percent encoding set consistently 2023-01-24 20:15:09 +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
Damir Jelić
19f68065f1
common: Derive PartialEq and Eq for the KeyUsage enum 2023-01-16 16:13:10 +01:00
Kévin Commaille
48288865db
api: Only percent-encode reserved characters in endpoint URL path 2023-01-16 13:07:33 +01:00
Jonas Platte
b859d9c8b0
common: Derive Debug via StringEnum derive 2023-01-13 13:49:59 +01:00
Jonas Platte
625d5a0782
common: Add DebugAsRefStr derive macro 2023-01-13 13:47:55 +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
12e4aa47b6 push: Allow to deserialize Action with custom value 2023-01-07 14:36:25 +01:00
Kévin Commaille
97fd0c3419 push: Allow to deserialize PushCondition with unknown kind 2023-01-07 14:36:25 +01:00
Benjamin Kampmann
9460702b00 feat: add support for unstable-msc3931/3932 style push conditions parsing 2023-01-07 14:36:25 +01:00
Kévin Commaille
74c6e38a6b client-api: Move Direction to ruma-common::api 2023-01-03 11:24:47 +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
Jonas Platte
ff8ab6b085
Replace ruma_common::serde::urlencoded with serde_html_form 2023-01-02 17:47:33 +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
Jonas Platte
8187556686 Add back test for slightly malformed base64 decoding 2022-12-20 15:34:50 +01:00
Jonas Platte
536341ca7e Upgrade base64 to 0.20 2022-12-20 15:34:50 +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
Jonas Platte
284b797e05
Add optional redacted_because insertion to redaction 2022-12-19 12:52:15 +01:00
Jonas Platte
4f821d39ce
Export UnsignedRoomRedactionEvent from events module 2022-12-19 10:52:29 +01:00
Jonas Platte
ba9634f5bf
Update redact to take ownership of the event to be redacted 2022-12-19 10:42:27 +01: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
1c9e0e7718
Allow room_types in directory::Filter to be null with the compat feature 2022-12-16 09:56:18 +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