188 Commits

Author SHA1 Message Date
Jonas Platte
9bbe06aa3f
Release ruma-common 0.11.0 2023-02-01 13:26:09 +01:00
Jonas Platte
706bbf1753
Remove no-op default-features = false 2023-02-01 13:24:43 +01:00
Jonas Platte
b6f0a43fa3
Use workspace dependencies for path dependencies 2023-02-01 12:37:45 +01:00
Jonas Platte
de448ead01
Upgrade toml, toml_edit 2023-01-31 18:17:58 +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
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
44d4a34d9c
macros: Add automatically_derived attribute to generated impl blocks 2023-01-13 13:11:04 +01:00
Jonas Platte
7de5893b83
common: Use quoted string as Debug representation of event types 2023-01-13 12:54:28 +01:00
Jonas Platte
3a722965f5
macros: Refactor event content generation 2023-01-10 11:46:49 +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
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
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
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
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
ad3c27d927
events: Make redacted_because non-optional in RedactedUnsigned 2022-12-15 12:47:27 +01:00
Jonas Platte
cdabe8e52d events: Remove Serialize impls for all event types except ToDeviceEvent 2022-12-15 10:41:30 +01:00
Jonas Platte
675e6f43cd
events: Remove the Redact trait
It has not proven to be useful, being used by no downstream project.
2022-12-14 12:49:15 +01:00
Jonas Platte
a5c5b0b137
Make clippy happy 2022-12-09 11:45:04 +01:00
Jonas Platte
3211fccab0
Remove borrowing in requests 2022-11-28 14:02:35 +01:00
Kévin Commaille
61a9d65b71 events: Rename events::relation::Relations to BundledRelations 2022-11-25 22:33:37 +01:00
Kévin Commaille
dab2956039 events: Use a struct for parsing of EventContent attributes 2022-11-12 11:14:04 +01:00
Kévin Commaille
67abaf4de1 identifiers: Add From<OwnedId> impls for String 2022-11-12 11:13:34 +01:00
Kévin Commaille
c75d97772c identifiers: Deduplicate as_str() based impls between ID DSTs and owned IDs 2022-11-12 11:13:34 +01:00
Jonas Platte
bdb5950fe4 macros: Remove ruma_api! macro 2022-11-12 10:17:24 +01:00
Kévin Commaille
c5fb935472 macros: Add .m.rule.snake_case rename rule for StringEnum 2022-11-12 09:55:57 +01:00
Jonas Platte
2500e8f8fa api: Make query_string parameter of make_endpoint_url non-optional
When Some(_), the argument would often be an empty string. By always
using the empty string to mean "no query", we avoid trailing a `?` on
URLs without having two parameter values that mean the same thing.
2022-11-11 11:27:07 +01:00
Jonas Platte
a8ba82d585 api: Make EndpointError construction infallible
Simplifies error matching and preserves more information for
non-spec-compliant server errors.
2022-11-10 13:10:57 +01:00
Jonas Platte
7d018897b0
macros: Move ensure_feature_presence check from ruma_api to request / response 2022-11-10 11:33:18 +01:00
Jonas Platte
2451f33a64
api: Replace ruma_api! compile-time path check with a test 2022-11-10 11:33:17 +01:00
Jonas Platte
94990f60f2 events: Don't skip serializing empty content of redacted events 2022-11-09 17:11:50 +01:00
Jonas Platte
8d0f817f48
api: Allow incoming request method of HEAD for GET endpoints 2022-11-02 23:26:57 +01:00
Jonas Platte
d18bea570c Use Cargo workspace dependencies
… for most external dependencies that are used from multiple workspace
crates.
2022-11-01 11:13:21 +01:00
Jonas Platte
f613137b31
macros: Add response attribute macro 2022-11-01 09:39:11 +01:00
Jonas Platte
af97ddaa58
macros: Remove unnecessary type distinction 2022-10-31 10:00:50 +01:00
Jonas Platte
b7c47c9e70
macros: Always implement IncomingRequest trait on IncomingRequest type
… rather than the `Request` type, even if `IncomingRequest` is a type
alias for it.

This (only) affects where the implementation is shown in the
documentation.
2022-10-31 09:58:36 +01:00
Jonas Platte
74dab985aa api: Use metadata macro from ruma_api! 2022-10-28 10:39:21 +02:00
Jonas Platte
ec67fcbd6f api: Use VersionHistory::new from ruma_api!
… and remove a now-redundant check from the macro code.
2022-10-28 10:38:52 +02:00
Jonathan de Jong
7e1fd603e6
Bump MSRV to 1.64 2022-10-26 17:22:23 +02:00
Jonas Platte
c7e84c5249
Fix clippy lints
Automated using `cargo clippy --fix`.
2022-10-26 13:38:29 +02:00
Jonas Platte
f22857e682
macros: Add request attribute macro 2022-10-24 15:28:50 +02:00
Jonas Platte
c021a14b60
macros: Rename error_ty => error 2022-10-24 15:28:50 +02:00