108 Commits

Author SHA1 Message Date
Isaiah Inuwa
b793a790db
Rename ServerKeyId to SigningKeyId 2020-11-08 13:21:55 +01:00
Jonas Platte
dd6446822b
Derive PartialEq and Eq for all string-wrapping enums 2020-11-02 00:29:47 +01:00
Jonas Platte
d34a270919
Allow custom values for more enums 2020-11-02 00:29:47 +01:00
Jonas Platte
70a12864ef
Use new macros for existing future-compatible enums 2020-11-02 00:29:41 +01:00
Jonas Platte
e1975c2035
Be more consistent about whitespace 2020-10-24 00:44:01 +02:00
Julian Tescher
c3a074059f
Make custom enum variants doc hidden 2020-09-08 01:06:23 +02:00
Nicholas Young
7ccdaa34d6 feature gate exhaustive types for all spec crates:
- ruma-appservice-api
- ruma-client-api
- ruma-events
- ruma-federation-api
2020-09-01 18:39:41 -06:00
Jonas Platte
148d876acb
Use ServerNameBox in ruma-events, ruma-*-api 2020-08-13 22:01:15 +02:00
Jonas Platte
4a1b6d5607
Use DeviceIdBox in ruma-events, ruma-*-api 2020-08-13 21:19:41 +02:00
Jonas Platte
221befe401
Add constructors to MessageEventContent 2020-08-13 19:51:02 +02:00
Jonas Platte
d36dcdb202
Add NoticeMessageEventContent::html and TextMessageEventContent::html 2020-08-13 19:46:05 +02:00
Jonas Platte
4a5272e37b
Fix doc typo 2020-08-13 19:45:03 +02:00
Jonas Platte
de337ecb8c
events: impl Display for room::message::MessageFormat 2020-08-11 15:09:25 +02:00
Jonas Platte
aa3e7416a9
Update constructors in ruma_events::room::message 2020-08-11 01:54:23 +02:00
Amanda Graven
fdc15123b0
Reorganize encyption related code
Some types used for encryption related tasks need to be used across more
internal crates than expected, so a few have been moved and renamed for
clarity.

* Rename the key_algorithms module in ruma-identifiers-validation to crypto_algorithms
* Move ruma_events::Algorithm to ruma-identifiers-validation and rename it EventEncryptionAlgorithm
* Move DeviceKeys from ruma-client-api to ruma-common
2020-08-10 18:38:53 +02:00
Jonas Platte
1fbf05d71f
Fix some bad formatting 2020-08-08 21:52:58 +02:00
Isaiah Inuwa
7eb945976c Use strong types in signatures fields 2020-08-08 15:54:31 +02:00
Jonas Platte
9bc6ce9201
Use identifier macros for tests 2020-08-05 00:12:44 +02:00
Jonas Platte
066da75c7d
Remove pointless TryFrom usage 2020-08-05 00:12:44 +02:00
Jonas Platte
39c36176a6
Make in_reply_to in RelatesTo optional 2020-07-27 21:30:51 +02:00
Devin Ragotzy
4a34375449
Support multiple attribute arguments in ruma_event attribute (#161)
* Add parsing to allow ruma_event attribute to accept mutli args

* fixup! Add parsing to allow ruma_event attribute to accept mutli args

* Refactor MetaAttrs::parse and resolve review issues
2020-07-26 19:18:28 -04:00
Jonas Platte
1862d15365
Remove glob imports of C-like enums 2020-07-26 17:13:08 +02:00
Jonas Platte
08fbace022
Mark PinnedEventsEventContent as non_exhaustive 2020-07-25 03:04:19 +02:00
Jonas Platte
be175bbae6
Mark JoinRulesEventContent as non_exhaustive 2020-07-25 02:58:37 +02:00
Jonas Platte
e01706d1bb
Accept and Into<String> for FormattedBody::html 2020-07-25 02:03:36 +02:00
Jonas Platte
f56b530dc3
Rename TextMessageEventContent::new_plain to plain 2020-07-25 01:59:18 +02:00
Jonas Platte
76c2f5c449
Add a convenience constructor to FormattedBody 2020-07-25 01:44:06 +02:00
Jonas Platte
f9e76358a1
Fix typos 2020-07-24 20:53:01 +02:00
Jonas Platte
26850dbafb
Simplify MegolmV1AesSha2Content construction 2020-07-24 20:25:04 +02:00
Jonas Platte
4cbdc079b0
Improve string comparison impls 2020-07-22 19:17:24 +02:00
Jonas Platte
b24df92692
Make DeviceId a newtype rather than an alias 2020-07-22 18:59:33 +02:00
Jonas Platte
8d8e18afbc
Make RoomVersionId a non-exhaustive enum 2020-07-22 18:38:37 +02:00
Jonas Platte
7aac2f5439
Mark HistoryVisibilityEventContent as non_exhaustive 2020-07-17 01:29:27 +02:00
Jonas Platte
7bb6c66051
Mark GuestAccessEventContent as non_exhaustive 2020-07-17 01:21:59 +02:00
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
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
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
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