61 Commits

Author SHA1 Message Date
Jonas Platte
e136f486db
events: Move membership change logic into its own module 2022-04-25 13:07:56 +02:00
Jonas Platte
106441bdef
events: Clean up implementation of membership_change 2022-04-25 13:07:56 +02:00
Jonas Platte
40221e3cd8
events: Add membership_change method to all kinds of member events 2022-04-25 13:07:56 +02:00
Jonas Platte
a3a7b20678
events: Make more use of event type aliases 2022-04-25 13:07:55 +02:00
Johannes Becker
6b768dc033
events: Add conversion from RoomPowerLevels to RoomPowerLvelsEventContent 2022-04-21 10:29:56 +00:00
Jonas Platte
ae7461622c events: Update state key types for all state events
… and make it mandatory to specify for state events.
2022-04-21 11:16:38 +02:00
Jonas Platte
d8b7886382 events: Allow state key type to be customized by content type 2022-04-21 11:16:38 +02:00
Jonas Platte
efe48af207 Replace remaining uses of boxed IDs with dedicated owned ones 2022-04-20 10:39:36 +02:00
Jonas Platte
489f51e231 events: Replace most Box<Id>s with new owned ID types 2022-04-20 10:39:36 +02:00
Jonas Platte
d855ec33d6 identifiers: Update ToOwned implementations to use new types
… and a lot of changes that cascaded from that.
2022-04-20 10:39:36 +02:00
Johannes Becker
d7a53d8bac
common: Make Restricted::allow public 2022-04-19 15:34:33 +02:00
Kévin Commaille
a2df988c23 events: Add convenience constructors for threads 2022-04-13 20:25:55 +02:00
Jonas Platte
dd24d6be77
events: Add {RoomRedactionEvent, SyncRoomRedactionEvent}::as_original 2022-04-13 16:43:41 +02:00
Jonas Platte
d0faeb52f3
events: Add RoomPowerLevels::{for_user, max} 2022-04-13 16:17:55 +02:00
Jonas Platte
2f32e9863e
events: Remove invalid copy-pasted docs 2022-04-13 16:17:55 +02:00
Jonas Platte
cfc5c6e88f
events: Add {RoomGuestAccessEvent, SyncRoomGuestAccessEvent}::guest_access 2022-04-13 16:17:55 +02:00
Jonas Platte
ea832d0c45
events: Add {RoomHistoryVisibilityEvent, SyncRoomHistoryVisibilityEvent}::history_visibility 2022-04-13 15:33:05 +02:00
Jonas Platte
16f2021c59
events: Add {RoomJoinRulesEvent, SyncJoinRulesEvent}::join_rule 2022-04-13 15:31:40 +02:00
Jonas Platte
873270db1d
events: Add SyncRoomPowerLevelsEvent::power_levels 2022-04-11 14:32:40 +02:00
Jonas Platte
9f6f176f8d
events: Add RoomPowerLevelsEvent::power_levels 2022-04-11 14:26:19 +02:00
Jonas Platte
97a3c1e473
events: Add room::power_levels::RoomPowerLevels
A struct representing the effective power levels of a room, regardless
of whether the most recent power-levels event is redacted.
2022-04-11 14:26:19 +02:00
Kévin Commaille
688d5bf47a
docs: Improve string enums documentation
Mention the conversion from string.
2022-04-10 14:48:09 +02:00
Jonas Platte
c3756aafc5 events: Fix comment 2022-04-10 11:43:23 +02:00
Jonas Platte
649da9c5b8 events: Remove redacts field from redacted redaction events
Cleaning up redaction events in the spec does not seem to be planned for
the near future.
2022-04-10 11:43:23 +02:00
Kévin Commaille
1e1fa06342 events: Fix plain text reply constructors
Send a formatted_body, according to the spec
2022-04-05 21:13:25 +02:00
Jonas Platte
002d863738
events: Fix default invite power level 2022-04-05 17:43:52 +02:00
Jonas Platte
7de3b4b649
events: Rework the event enum hierarchy 2022-04-05 14:29:17 +02:00
Jonas Platte
d87874314b
events: Add 'Original' prefix to unredacted types with a redacted form 2022-04-05 14:29:17 +02:00
Jonas Platte
26aea3a084
common: Consistently use int macros for tests 2022-04-04 16:54:17 +02:00
Kévin Commaille
4ec803c29a events: Fix docs 2022-03-28 19:39:18 +02:00
Kévin Commaille
231775fe3e events: Document transitional extensible events 2022-03-28 19:39:18 +02:00
Kévin Commaille
aba6328d1c events: Add support for transitional extensible location messages
According to MSC3488
2022-03-28 17:37:04 +02:00
Kévin Commaille
c6d11c78a7 events: Add support for transitional extensible voice messages
According to MSC3245
2022-03-28 17:37:04 +02:00
Kévin Commaille
f3abeed5c1 events: Add support for transitional extensible audio messages
According to MSC3246
2022-03-28 17:37:04 +02:00
Kévin Commaille
33108d22bc events: Add support for transitional extensible video messages
According to MSC3553
2022-03-28 17:37:04 +02:00
Kévin Commaille
e94a8db7f4 events: Add support for transitional extensible image messages
According to MSC3552
2022-03-28 17:37:04 +02:00
Kévin Commaille
8673d0d3f6 events: Add support for transitional extensible file messages
According to MSC3551
2022-03-28 17:37:04 +02:00
Jonas Platte
deea762b8e events: Add custom Deserialize impls for MediaSource 2022-03-28 16:48:54 +02:00
Jonas Platte
21dead4245
events: Clean up leftover 'src' naming 2022-03-28 14:04:19 +02:00
Jonas Platte
ee029901d7
events: Spell out 'source' (don't use 'src' abbreviation) 2022-03-28 13:22:37 +02:00
Kévin Commaille
93b4114a82 events: Deref MessageContent to a slice 2022-03-26 11:47:01 +01:00
Jonas Platte
4d52700142
events: Fix non-link URL 2022-03-25 11:02:22 +01:00
Kévin Commaille
12ee658e96
events: Use an enum for a media's source
Have stricter media types that accept either an encrypted or plain file.

Co-authored-by: Jonas Platte <jplatte@element.io>
2022-03-22 16:42:42 +01:00
Jonas Platte
f0710fdf1b
events: Make m.room.avatar url optional, always
Removes the feature gate because this has been clarified to be right
in the spec: https://github.com/matrix-org/matrix-spec/pull/987
2022-03-22 14:51:14 +01:00
Kévin Commaille
11ef863bf0
common: Use Duration in message events 2022-03-22 12:14:39 +01:00
Kévin Commaille
0fb3f39c07 common: Deserialize stable names for unstable features 2022-03-21 14:46:13 +01:00
Kévin Commaille
12523cd741
common: Add support for transitional extensible text messages 2022-03-21 13:16:44 +01:00
Jonas Platte
d1e70c3d9f
events: Clean up m.room.member docs 2022-03-16 17:03:38 +01:00
Jonas Platte
2551950d20
common: Split up single assert_matches! into many assertions
Longer but provides better error messages. We should do this everywhere.
2022-03-16 16:31:00 +01:00
Jonas Platte
ada3108a96
common: Move prev_content into unsigned 2022-03-16 16:30:29 +01:00