29 Commits

Author SHA1 Message Date
Kévin Commaille
3321286242 events: Do not generate reply fallbacks anymore
According to MSC2781.

The helper methods for the relevant relations have been simplified to
only take the necessary data.
2025-01-02 18:42:26 -05:00
Kévin Commaille
f87f388280 events: Use Signatures in more places 2024-11-08 13:13:37 -05:00
Kévin Commaille
ae3897cad8 identifiers: Allow to validate KeyId with any key name type
Use new trait bounds for KeyId to only allow specific types.
Change the KeyId validation to be generic over the key name type.
Remove the KeyName type and replace it with the more specific
ServerSigningKeyVersion.
2024-11-08 12:49:53 -05:00
Kévin Commaille
f753a2f326 events: Improve markdown parsing code
Loop through the events only once to detect both whether there is
markdown and whether the markdown is inline.
Fix more cases of false negatives in markdown detection, like
whitespaces that are removed or the string beginning by a backslash
escape.
2024-11-07 18:59:47 -05:00
Kévin Commaille
278a45aec8 events: Remove p tag around inline markdown
As recommended by the spec.
2024-11-07 18:52:56 -05:00
Neek
1c4eeb4c41 events: Add relates_to field on StickerEventContent 2024-10-19 14:59:29 -04:00
Doug
4a5d7d0e7a events: Add filename helper methods for audio, file, image and video messages. 2024-10-19 14:58:49 -04:00
Doug
e0db68241d events: Add helpers for media captions to audio, file, image and video messages 2024-10-19 14:58:46 -04:00
Kévin Commaille
8f288cc1f2 events: Replace deprecated lint in UI test 2024-09-07 17:11:13 +02:00
Kévin Commaille
dac38e4e17 events: Improve markdown syntax detection
We also detect backslash escapes and entity references.
2024-09-06 09:59:47 +02:00
Kévin Commaille
04654f8833 chore: Fix new clippy warnings 2024-07-29 20:03:44 +02:00
Kévin Commaille
f17de39ed4 events: More relation serde fixes
It seems that we cant count on serde_json::to_value to detect
duplicates,
because it swallows them instead of returning an error.
The only solution then is to serialize to string and try to deserialize
again.
2024-06-25 14:10:11 +02:00
Benjamin Bouvier
e5a370f7e5 events: don't serialize the rel_type twice for Thread relationships 2024-06-25 11:00:38 +02:00
Benjamin Bouvier
fec2152d87
events: allow deserializing an event content with a type (#1850)
This allows deserializing all the `*EventContent` types into a parent `Any{...}EventContent`, assuming we know the type of the underlying event.

Required for serializing/deserializing the content of events we'd like to send, across application restarts, as in https://github.com/matrix-org/matrix-rust-sdk/issues/3361 for the Rust SDK.

---

* events: add deserialize_with_type to all the *EventContent types

* events: add smoke test for deserializing an event content with a type

* events: add a test for deserializing a secret storage key event content

* events: add fix for correctly matching events with a type fragment

* Address review comments.
2024-06-24 10:55:12 +02:00
Timo
c218174369
events: Support new matrixRTC membership format 2024-06-13 10:58:50 +02:00
torrybr
f60c79727a
events: Unstable support for MSC 3489 live location sharing 2024-06-10 23:45:42 +02:00
Marco Antonio Alvarez
6cd3af9b86
events: Add support for encrypted stickers 2024-05-23 15:49:15 +02:00
Kévin Commaille
0f38daacef
events: Handle existing mentions in make_replacement
Allows to use add_mentions before calling it.
Deprecates set_mentions.
2024-05-13 15:07:26 +02:00
Kévin Commaille
22e89bde2b events: Make some fields of Candidate optional
For compatiblity with the WebRTC spec.

Notably the last Candidate should only contain the `candidate` field
with an empty string.
2024-03-08 15:12:02 +01:00
Timo
8fc12b0324
events: Add CallNotify event as described by MSC4075
https://github.com/matrix-org/matrix-spec-proposals/pull/4075
2023-11-27 15:49:36 +01:00
Jonas Platte
740f357e97
events: Don't fail event content parsing on invalid relation 2023-11-16 14:12:55 +01:00
Jonas Platte
c82f600d6a
Fix new lints 2023-11-08 18:16:44 +01:00
Jonas Platte
a3f8c97b33
events: Add a test case for reply to threaded message fallback 2023-10-12 12:47:53 +02:00
Jonas Platte
6dff2f37d1
events: Remove redundant import 2023-10-12 12:36:59 +02:00
Jonas Platte
5c570b1604
events: Change AddMentions::Yes to only mention the original sender 2023-10-09 14:44:35 +02:00
Kévin Commaille
5040aa2a93 events: Allow to build reply to raw events 2023-09-20 12:18:21 +02:00
Kévin Commaille
a53bd09b8a events: Make name required in RoomNameEventContent
The wording of the spec was confusing but it is indeed required
2023-09-18 15:05:26 +02:00
Kévin Commaille
18195e0a6e events: Allow replacement unstable poll start events to have no fallback 2023-09-15 13:19:22 +02:00
Jonas Platte
31331f3165
Bring back ruma-events
Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-08-28 10:23:54 +02:00