472 Commits

Author SHA1 Message Date
Jonas Platte
35eb0bcfbf
Re-export MessageEvent from the crate root 2020-06-07 01:18:41 +02:00
Ragotzy.devin
33ac5267a9
Implement MessageEvent and AnyMessageEventContent 2020-06-07 01:18:34 +02:00
Jonas Platte
24f720d1f1
Convert most message events from ruma_event! to derive(MessageEventContent)
* m.sticker
* m.call.answer
* m.call.candidates
* m.call.hangup
* m.call.invite
2020-06-07 01:11:15 +02:00
Ragotzy.devin
80ff10ae6a
Move event content collection trait impl's into macro code
* Move the EventContent and content marker traits into macro.
* Move the raw AnyStateEventContent enum and RawEventContent trait into macro, generate all of the AnyStateEventContent type and impls needed for raw.
* Factor out raw mod codegen to seperate fn, add docs to codegen enum + variants, remove unused imports
2020-06-07 01:11:15 +02:00
Jonas Platte
5091b9a9a8
Integrate generic event types and EventContent trait with TryFromRaw 2020-06-07 01:11:15 +02:00
Ragotzy.devin
3814690b29
event_content_collection!: implement parsing input and generating an enum 2020-06-07 01:11:15 +02:00
Ragotzy.devin
7ec162678e
Implement first trybuild tests
and use a dedicated InvalidEvent constructor fn in EventContent derives
2020-06-07 01:11:13 +02:00
Ragotzy.devin
0c0dafa2c5
Move event content derives into one place and share code 2020-06-07 01:10:55 +02:00
Jonas Platte
cc3d0af40c
Make state a private module 2020-06-07 01:10:55 +02:00
Jonas Platte
945b8c535d
Add unsigned field to StateEvent 2020-06-07 01:10:55 +02:00
Jonas Platte
1377487b6c
Declare more state event content structs without ruma_event! 2020-06-07 01:10:54 +02:00
Jonas Platte
eceef3b96d
Declare a few state event content structs without the ruma_event! macro 2020-06-07 01:09:12 +02:00
Ragotzy.devin
ef6e2e7023
Add derive macro for StateEventContent 2020-06-07 01:02:49 +02:00
Jonas Platte
27a9b36499
Delete collections module 2020-06-07 01:02:49 +02:00
Jonas Platte
5dc1405d9d
Add MessageEventContent trait, update docs 2020-06-07 01:02:49 +02:00
Ragotzy.devin
f0c94958fa
Move raw mod into FromRaw derive 2020-06-07 01:02:49 +02:00
Ragotzy.devin
1a9b0f3e8b
Add StateEvent<C> and AnyStateEvent 2020-06-07 01:02:49 +02:00
Ragotzy.devin
3d01bfa96d
Remove Event, RoomEvent and StateEvent traits 2020-06-07 01:02:49 +02:00
Jonas Platte
c1ee72db0f
Use PresenceState from ruma_common 2020-06-04 21:15:14 +02:00
Jonas Platte
61e6493432
Sort derives by crate 2020-06-04 21:03:34 +02:00
Jonas Platte
3f74ba3270 Box optional sub-structs in avatar and message events
… to heavily decrease the size of some types.
Most importantly: MessageEventContent goes from 640 to 104 bytes in size
2020-06-04 17:48:52 +02:00
Jonas Platte
2eb29abd74
Remove FIXME in member.rs
This is being adressed in the spec, see
https://github.com/matrix-org/matrix-doc/pull/2591
2020-06-02 12:16:51 +02:00
Jonas Platte
7395f940a7
Change PushCondition from using newtype variants to struct variants 2020-05-31 23:26:41 +02:00
Jonas Platte
da7a97d490
Fixup for 16b9557 2020-05-31 22:56:51 +02:00
Jonas Platte
16b9557d74
Consolidate formatted body fields for message events 2020-05-31 16:10:01 +02:00
Jonas Platte
70b3ff2737
Update Matrix specification links 2020-05-31 15:50:17 +02:00
Timo Kösters
4d09416cd1
Add alt_aliases to CanonicalAliasEventContent 2020-05-30 17:51:23 +02:00
Jake Waksbaum
e05fdf84fd
Replace serde/strum renames with rename_all
Instead of applying a `#[serde(rename = "foo")]` or `#[strum(serialize =
"foo")]` to each field of a struct or variants of an enum, apply the
appropriate `#[serde(rename_all = "style")]` or `#[strum(serialize_all =
"style")]` to the struct/enum.

In addition, in the places where the `lowercase` style is used and all
the fields/variants are a single word, replace that with `snake_case`,
since that seems to be the default everywhere with multi-word
fields/variants.
2020-05-29 10:59:33 -04:00
Jake Waksbaum
d84de004c8
Replace impl_enum with strum::{EnumString,Display}
Replace the impl_enum! macro, which automatically derives instances of
std::fmt::Display and std::string::FromStr, with derive macros from the
strum crate (Display and EnumString resp.).

Closes #90.
2020-05-29 10:59:33 -04:00
Jonas Platte
d083127297
Update change log, bump versions 2020-05-26 18:45:12 +02:00
Jonas Platte
655e73dcf6
Update macro dependencies 2020-05-26 18:44:52 +02:00
Jonas Platte
a17714669d
Update change log 2020-05-26 10:26:49 +02:00
Jonas Platte
a398be6dd1
Fix test for m.room.create event 2020-05-26 10:25:23 +02:00
Jonas Platte
d3ff2b65a7
Implement Default for PowerLevelsEventContent 2020-05-26 10:24:14 +02:00
Jonas Platte
d121192f69
Update change log 2020-05-26 10:11:35 +02:00
Jonas Platte
512496baeb
Add skip_serializing_if to CreateEventContent 2020-05-26 10:04:57 +02:00
Jonas Platte
38fec0b0a9
Fix typo 2020-05-24 19:05:17 +02:00
Jonas Platte
bb083b1d19
Add a test for m.room_key serialization 2020-05-24 18:50:19 +02:00
Jonas Platte
114f739d43
Re-add type field serialization for MessageEvent
It was removed in b8eafc3f5937589f1c75dac74ceb796041a72b82, probably by
accident
2020-05-24 18:44:06 +02:00
Jonas Platte
5a0935cd6b
Fix message test naming 2020-05-24 18:29:33 +02:00
Devin R
54fcc36735 remove allow clippy::identity_conversion 2020-05-23 13:31:14 +02:00
Jonas Platte
d6cfbaa47d
Bump dependencies, versions 2020-05-19 12:27:57 +02:00
Jonas Platte
206a824f3e
Add EventJson::into_json 2020-05-09 15:42:31 +02:00
Jonas Platte
4eb72e4cf0
Remove tests for ruma_common types, they now live in that crate 2020-05-04 23:09:10 +02:00
Jonas Platte
cb413ff358
Normalize derive order in room_key_requests 2020-05-04 22:10:51 +02:00
Jonas Platte
c2e3298b2a
Fix duplicate msgtype field in m.message serialization 2020-05-03 23:11:34 +02:00
Jonas Platte
f30df65dba
Bump version 2020-05-03 01:00:39 +02:00
Jonas Platte
e59aeb97b4
Update change log 2020-05-03 01:00:25 +02:00
Jonas Platte
62772f4c7f
Bump macro dependency versions 2020-05-03 01:00:07 +02:00
Jonas Platte
0b26d71537
Re-run cargo fmt 2020-05-02 23:36:03 +02:00