754 Commits

Author SHA1 Message Date
Jonas Platte
31331f3165
Bring back ruma-events
Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-08-28 10:23:54 +02:00
Jonas Platte
b8fdea9b18
Clean up usage of feature = "rand" in tests 2023-08-24 16:36:56 +02:00
Jonas Platte
9009ec6c3e
identifiers: Fix clippy lint 2023-08-24 15:37:05 +02:00
Jonas Platte
b6f915b480
events: Remove duplicate / unused RemoveReplyFallback enum 2023-08-24 15:36:56 +02:00
Kévin Commaille
24ce9d5e09 events: Move sanitize HTML features to new ruma-html crate 2023-08-24 14:00:07 +02:00
Kévin Commaille
acfeb38e90 docs: Update spec links to point to v1.8 2023-08-24 12:16:29 +02:00
Kévin Commaille
c8bbcecdc8 docs: Update changelogs for Matrix 1.8 2023-08-24 12:16:29 +02:00
Kévin Commaille
7f0ca5eaa8 api: Add support for Matrix 1.8 2023-08-24 12:16:29 +02:00
Ivan Enderlin
ea41901211
events: Transform Markdown soft line breaks into hard line breaks
This patch transforms Markdown soft line breaks into hard line breaks
when rendering to HTML.

The [CommonMark specification about soft line
breaks](https://spec.commonmark.org/0.30/#soft-line-breaks) specifies:

> A renderer may also provide an option to render soft line breaks as
> hard line breaks.

Refering to https://github.com/vector-im/element-x-ios/issues/1418, some
people are expecting to get soft line breaks rendered at hard ones.

This patch updates the Markdown test to include this conversion of soft
to hard line breaks. It includes a list and a code block, to ensure
not _all_ soft breaks are transformed into hard breaks; only the ones
we expect.
2023-08-24 11:12:37 +02:00
Jonas Platte
73b6113819
Rename test modules to tests
… for consistency.
2023-08-24 10:36:30 +02:00
Jonas Platte
a47df86ade
events: Don't parse markdown twice 2023-08-24 09:43:32 +02:00
Jonas Platte
d66c07b1fa
events: Simplify parse_markdown 2023-08-24 09:43:23 +02:00
Kévin Commaille
d809e6e365
events: Don't filter out any responses if there is no end timestamp 2023-08-23 15:55:56 +00:00
Kévin Commaille
f540004a0d
events: Don't require whole poll response events to compute results
Co-authored-by: Jonas Platte <jplatte@matrix.org>
2023-08-23 09:18:37 +02:00
Kévin Commaille
533da2aded canonical-json: Allow to converted (Sync)RoomRedactionEvent to RedactedBecause
With room version 11, even a redacted event has a redacts field.
2023-08-22 13:32:40 +02:00
Jonas Platte
8e10064364 Enforce import grouping
Includes a few manual changes to make rustfmt behave a bit better.
2023-08-22 12:31:49 +02:00
Kévin Commaille
7dee1d64be events: Add method to add mentions instead of replacing them 2023-08-22 12:07:54 +02:00
Kévin Commaille
b2b4c81645 events: Allow to add mentions automatically when generating reply 2023-08-22 12:07:54 +02:00
Kévin Commaille
3fe6ba7f52 events: Use a BTreeSet for Mentions' user_ids field
Avoids to serialize duplicate IDs
2023-08-22 12:07:54 +02:00
Kévin Commaille
6fcd813201 events: Preserve signed in third_party_invite in RedactedRoomMemberEventContent
According to MSC3821
2023-08-16 14:55:42 +02:00
Kévin Commaille
ce13fdb3a7 events: Preserve invite in RedactedRoomPowerLevelsEventContent
According to MSC2176
2023-08-16 14:55:42 +02:00
Jonas Platte
eeacf27183
Add missing space 2023-08-15 17:23:07 +02:00
Kévin Commaille
bcae4e5799 chore: Use .is_some_and(…) instead of .map_or(false, …) 2023-08-14 16:17:25 +02:00
Kévin Commaille
1701d9a803 events: Make creator field of RoomCreateEventContent optional and RedactedRoomreateEventContent a typedef
According to MSC2175
2023-08-14 15:33:39 +02:00
Kévin Commaille
7a5d9b6e8b events: Add support for redacts key into content of RoomRedactionEvent
According to MSC2174
2023-08-11 15:30:13 +02:00
Kévin Commaille
cf70f74fb7 events: Make sure matches with RoomVersionId default to behavior of latest room version
Avoids forgetting to update the match if nothing changed since the last version.
2023-08-10 13:26:52 +02:00
Kévin Commaille
9a5bc6d8c3 identifiers: Add initial support for room version 11 2023-08-09 19:09:19 +02:00
Jonas Platte
bb20ba0711
Fix new clippy lint 2023-07-31 10:28:39 +02:00
Jonas Platte
37cbb4ea56
identifiers: Discourage proc-macro imports even more
Unfortunately it seems impossible to prevent rust-analyzer from
suggesting them before the `macro_rules!` macros, but this should be a
decent hint for users that importing them is not a good idea.
2023-07-29 11:53:38 +02:00
Kévin Commaille
9bf3e03dd3 events: Add m.relates_to to poll start events 2023-07-27 16:04:58 +02:00
Kévin Commaille
d53362c689 events: Add unstable poll events
Using the unstable format defined in MSC3381
2023-07-27 16:04:58 +02:00
Kévin Commaille
c0b8cd4d46 events: Make polls events use the stable prefixes 2023-07-27 16:04:58 +02:00
Kévin Commaille
df11c6d46a events: Provide type for historical m.message content block instead of serde helper 2023-07-27 16:04:58 +02:00
Ivan Enderlin
201f0027d4
feat: Add SlidingSyncRoom::avatar
It's been recently added in the specification, 50ae2c8d65...kegan/sync-v3.
2023-07-26 16:02:28 +02:00
Jonas Platte
3dac70ead9
Remove most unreachable visibility modifiers 2023-07-19 14:32:14 +02:00
Jonas Platte
ffc271f3ec
push: Re-export ScalarJsonValue
It was part of the public interface already, but not nameable.
2023-07-19 13:58:35 +02:00
Jonas Platte
fe010abb22
Update expected trybuild test output 2023-07-14 10:05:00 +02:00
Jonas Platte
eea51d27fa
common: Reduce konst dependency feature set 2023-07-14 09:46:11 +02:00
Jonas Platte
f9ef276d41
common: Only depend on konst when needed 2023-07-14 09:38:03 +02:00
Jonas Platte
20d38e1622
events: Add From<MessageType> for RoomMessageEventContentWithoutRelation 2023-07-12 11:58:22 +02:00
Jonas Platte
9cf1257142
events: Add RoomMessageEventContentWithoutRelation::new 2023-07-12 11:40:21 +02:00
Kévin Commaille
f8ac66ca25 events: Add support for intentional mentions
According to MSC3952
2023-07-10 13:12:17 +02:00
Kévin Commaille
07bc06038f events: Keep data of unknown relations 2023-07-06 17:05:25 +02:00
Benjamin Bouvier
2c8ece6bf2
events: Parse TagInfo::order as a f64 or a stringified f64 2023-07-06 14:34:43 +02:00
Jonas Platte
650792bcb5
Upgrade konst to 0.3.5 2023-07-05 11:12:02 +02:00
Jonas Platte
a45ad6b41e
Upgrade indexmap to 2.0 2023-07-05 11:12:01 +02:00
Jonas Platte
775484c408
events: Add emote convenience constructors
… the same ones we have for text and notice msgtypes.
2023-07-05 10:36:41 +02:00
Kévin Commaille
77d94caf11 chore: Use workspace-defined MSRV 2023-07-04 15:40:37 +02:00
Kévin Commaille
c8e61a2ee7 events: Implement Deserialize for encrypted::Relation 2023-07-04 15:31:05 +02:00
Kévin Commaille
86b999055e client-api: Move SpaceRoomJoinRule to ruma-common 2023-07-04 12:38:45 +02:00