Jonas Platte
b31a6eac65
Mark EncryptionEventContent as non_exhaustive
2020-07-17 01:20:41 +02:00
Jonas Platte
34e89f4d11
Update EncryptionEventContent docs
2020-07-17 01:20:30 +02:00
Jonas Platte
6644ae487f
Mark types in ruma_events::room::encrypted as non_exhaustive
2020-07-17 01:07:16 +02:00
Jonas Platte
80ab6f0190
Mark types in ruma_events::room::create as non_exhaustive
2020-07-17 01:07:16 +02:00
Jonas Platte
c35af9c5ea
Mark FeedbackEventContent as non_exhaustive
2020-07-17 01:07:16 +02:00
Jonas Platte
a5514fd7ca
Update lint attributes for ruma-events
2020-07-17 01:07:16 +02:00
Jonas Platte
7216cbd5bd
Mark CanonicalAliasEventContent as non_exhaustive
2020-07-17 01:07:16 +02:00
Jonas Platte
c9c56c3404
Mark AvatarEventContent as non_exhaustive
2020-07-17 01:07:15 +02:00
Ragotzy.devin
1db0082281
Add redact method to all event_enum! generated enums
...
… and to AliasesEventContent
2020-07-17 01:07:07 +02:00
skim
b260a13d4b
move and rename ruma_events::json::EventJson to ruma_common::raw::Raw
2020-07-16 07:31:36 -07:00
Jonas Platte
f517099825
Mark m.room.aliases content as non_exhaustive
2020-07-16 02:48:11 +02:00
Ragotzy.devin
e7d9fb785d
Split UnsignedData into multiple types
...
* Rename UnsignedData -> Unsigned
* Add RedacedUnsigned and RedactedSyncUnsigned
2020-07-16 02:34:36 +02:00
Devin R
6f69a6fe76
Fix redacted aliases event deserialization
2020-07-15 17:10:47 +02:00
Damir Jelić
b5b0ca267b
ruma-events: Update the constructor of the start event for the new key agreement.
2020-07-15 12:25:00 +02:00
Damir Jelić
9eb0266cb0
ruma-events: Test the key agreement serialization/deserialization.
2020-07-15 12:23:11 +02:00
Damir Jelić
02d7f8d17b
ruma-events: Expose the content fields of the verification start event publicly.
2020-07-15 12:23:10 +02:00
Damir Jelić
c93cfb986b
ruma-events: Add the new key agreement method.
2020-07-15 12:22:53 +02:00
Jonas Platte
a3e5d679a1
Revert making identifier types generic over the underlying string type
...
At the same time, this commit makes `ServerName` a newtype around str so
other identifier types can borrow out their server name part as a
`&ServerName`. This technique works for `ServerName` because it keeps no
additional metadata. For the other identifier types to support being
created in borrowed form from a string slice, custom DSTs first have to
be added to Rust.
2020-07-14 23:02:51 +02:00
Jonas Platte
8683901e14
Don't to_string() string literals
2020-07-14 22:11:05 +02:00
Devin R
204a90ac43
Rename *EventStub -> Sync*Event
2020-07-14 13:44:39 -04:00
Ragotzy.devin
1db4898cde
Refactor the input parsing of event_enums!
2020-07-13 15:31:15 +02:00
Ragotzy.devin
5e428ac95a
Add support for redacted events
...
* Generate redacted event enums and implement corresponding event structs
* Enable the *EventContent derives to generate redacted events
Most redacted event code is now generated by the *EventContent derive
macro. The exception are any content structs with the custom_redaction
attribute. This leaves implementing up to the user.
* Add redact method to Redaction/CustomEventContent
* Add accessor methods for redacted event enums
* Add RedactedEventContent trait and super traits to match EventContent
2020-07-11 14:59:36 +02:00
gnieto
6fd4b9b8b0
Properly serialize get_tags
Response
...
`get_tags` route response was adding the `tags` property twice, which is
not the expected behaviour. This is an example of the previous
serialization of the `get_tags` route:
`{"tags":{"tags":{"u.example":{"order":0.55},"u.another":{"order":0.11}}}}`
The new serialization removes the outer `tags` property.
2020-07-05 13:20:47 +02:00
Guillem Nieto
202af7a523
Skip serializing optional values on RoomEncryption
...
If this parameters are not skipped, they are sent as null and some
clients (at least, Riot) coerces them to 0.
2020-06-25 21:06:27 +02:00
Ragotzy.devin
928fe6ce26
Add AnyEphemeralRoomEventStub and use it in sync response
2020-06-25 13:19:39 +02:00
Devin R
2b6eba69dd
Add membership_change method to stub and stripped event
...
Fix redaction event detection in event_enum! macro. Add encrypted event
to AnyMessageEvent enum.
2020-06-24 02:11:28 +02:00
Ragotzy.devin
fdf87a38a2
Generate stub/stripped Any*Event enums in event_enum! macro
...
* Conditionally emit tokens for content enum in event_enum! and the path
for each Any*Event variant contents.
* Add tests for redaction events now that they are part of Any*Event enums.
* Fix any tests that used Any*EventContent.
2020-06-23 22:33:37 +02:00
Jonas Platte
034a9b6926
Use js_int::uint macro for UInt constants
2020-06-19 23:00:57 +02:00
Ragotzy.devin
69d5da4018
Add a Custom variant to Any*Event enums
2020-06-19 18:32:42 +02:00
Ragotzy.devin
184aafa5f6
Revert " Remove event_enum! and only use event_content_enum"
...
This reverts commit 2a91dc1eb7215a762bd2204bc103ef172258d2d9. Also
* Add back type defs and Any*Event enums
* Move EventDeHelper and from_raw_json_value to lib make pub so event_enum! macro can use them and test.
* Fix Any*Event enum deserialization error
* Remove event_content_enum! macro and ruma-events-macros/src/content_enum.rs
* Use serde's IgnoreAny to skip Unknown field's value
* Clean up imports and test names for state_event
2020-06-19 11:36:53 +02:00
Jonas Platte
1aed6ab52b
Fix intra_doc_link_resolution_failure warnings
2020-06-18 12:27:21 +02:00
iinuwa
f8492db766
Add ServerName identifier
2020-06-18 11:21:00 +02:00
iinuwa
bfad8cf1f1
Add send transaction endpoint
...
Also refactor PDU types and move them to ruma-events
2020-06-17 11:02:19 +02:00
Devin R
7c934e1b8f
Implement EventContent for CustomEventConent and include in Any*EventContent enums
2020-06-17 00:44:27 +02:00
Jonas Platte
8195496cfd
events: Remove unused util module
2020-06-16 02:15:54 +02:00
Jonas Platte
d78cd2ed15
Fix deserializing event enums from serde_json::Value
...
(or anything else that's not a JSON string)
2020-06-16 02:12:13 +02:00
Jonas Platte
f2f283c965
Optimize event enum deserialization
...
Criterion reports ~25% improved performance
2020-06-16 00:29:05 +02:00
Ragotzy.devin
0381190bdb
Add is_compatible method to event content enums to fix Any*Event deserialization
...
… and add some benchmarks for it
2020-06-15 23:59:31 +02:00
Jonas Platte
c40e3974e7
Remove ruma_events::InvalidEvent
2020-06-15 22:59:49 +02:00
Jonas Platte
1d954f3089
Deprecate / remove re-exports from ruma_common
2020-06-15 19:20:34 +02:00
Jonas Platte
83d8f8c43e
Move some types from ruma_events::push_rules to ruma_common::push
2020-06-15 19:05:17 +02:00
Ragotzy.devin
9dab2f5b1f
Fix clippy warning in nightly CI
2020-06-13 14:02:53 +02:00
Jonas Platte
9e04d648ca
events: Make almost all enums non_exhaustive
2020-06-13 00:32:44 +02:00
Jonas Platte
40d3c8ae66
events: Remove stripped.rs (whose mod declaration was already removed previously)
2020-06-13 00:28:29 +02:00
Jonas Platte
a9189d7db3
events: Remove EventJson from presence tests
2020-06-13 00:26:57 +02:00
Ragotzy.devin
be0838e7d3
Change EncryptedEventContent from StateEventContent to MessageEventContent
...
… and add it to AnyMessageEventContent
2020-06-11 23:48:57 +02:00
Jonas Platte
fbf0deacfe
Re-rustfmt ruma-events
2020-06-10 22:17:59 +02:00
Jonas Platte
f304c04d1d
Add 'ruma-events/' from commit '00692d532e26f58d48ead9589dc823403c6e59a5'
...
git-subtree-dir: ruma-events
git-subtree-mainline: d59a616e2c363507a89c92f34aa67e86ee2cfb49
git-subtree-split: 00692d532e26f58d48ead9589dc823403c6e59a5
2020-06-10 22:07:24 +02:00