407 Commits

Author SHA1 Message Date
Matthias Ahouansou
c37843e9be events: make allow field for restricted rooms optional
In the spec, it doesn't state that it is a required field, even for restricted rooms
2024-06-27 18:26:34 +00: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
Kévin Commaille
3eb0248cf8 events: Stabilize support for muting in VoIP calls
According to Matrix 1.11
2024-06-22 10:56:58 +02:00
Kévin Commaille
00a17dbe9d events: Fix deserialization of AnyGlobalAccountDataEvent for variants with type fragment 2024-06-21 18:10:31 +02:00
Kévin Commaille
b8e4d5b6a2 misc: Update spec links to latest version 2024-06-21 18:10:14 +02:00
Kévin Commaille
6347f547c1 events: Upgrade pulldown-cmark crate 2024-06-18 12:21:42 +02:00
Kévin Commaille
b367e42bd0 events: Remove unwanted pulldown-cmark cargo feature 2024-06-18 12:21:42 +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
Jonas Platte
d91e6d7e63
Simplify docsrs feature usage
- Don't instruct docs.rs to set it, it does so by default now:
  https://github.com/rust-lang/docs.rs/pull/2390
- Because of that, check-cfg also recognizes it and does not need
  extra configuration either.
2024-05-30 10:35:07 +02:00
Marco Antonio Alvarez
6cd3af9b86
events: Add support for encrypted stickers 2024-05-23 15:49:15 +02:00
Damir Jelić
b7b9816314 Make the url crate a workspace dependency 2024-05-14 18:18:15 +02:00
Kévin Commaille
4ec2d68fc0
Release ruma-events 0.28.1 2024-05-13 15:18:09 +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
42bec95cdc events: Move all methods to construct a relation to RoomMessageEventContentWithoutRelation 2024-05-12 19:53:27 +02:00
Kévin Commaille
d6c4533b7d chore: Fix new warnings 2024-05-12 15:49:28 +02:00
Kévin Commaille
cee4a3f779
Release ruma-events 0.28.0 2024-05-09 12:39:10 +02:00
Jonas Platte
2a6d31a023
Upgrade pulldown-cmark from 0.9 to 0.10 2024-04-28 22:50:39 +02:00
Kévin Commaille
a28d1428e0 events: Add unstable support for muting in VoIP calls
According to MSC3291
2024-04-27 16:11:10 +02:00
Benjamin Bouvier
ccc0a64ba3
events: allow deserialize a m.tag's order as an integer (#1767)
Some servers use an integer to represent e.g. `1` for the order, instead of the double representation (that would be `1.` or `1.0)`. This makes it possible to parse such values as integers too, since they're technically not double. Implementing `visit_u64` and `visit_i64` covers all the smaller sizes too, so I've implemented only that here.
2024-04-18 09:15:27 +00:00
Kévin Commaille
1e185ddb9d Create m.lowercase renaming rule 2024-04-07 15:46:24 +02:00
Kévin Commaille
2313217470 events: Add support for multi-stream VoIP
According to MSC3077 / Matrix 1.10
2024-04-07 15:46:24 +02:00
Jonas Platte
4a02b97aa3
Update website URL 2024-04-04 13:20:58 +02:00
Kévin Commaille
cab3b99ba7 docs: Mark changelog entries for Matrix 1.10 2024-03-22 21:28:39 +01:00
Kévin Commaille
0e7c91d789 docs: Point links to v1.10 of the spec 2024-03-22 21:28:39 +01:00
Kévin Commaille
6c4d1c0fd7 events: Add methods to get required power level for given actions 2024-03-18 21:57:13 +01:00
Jonas Platte
a80caa4c21 events: Remove recently-introduced builder-style methods
It's unclear whether they are that important, and whether their argument
types make sense as-is.
2024-03-11 20:51:54 +01:00
Jonas Platte
0d72acd5e9 events: Improve media event content formatted field docs 2024-03-11 20:51:54 +01:00
Jonas Platte
65d0880dc9 Fix a typo 2024-03-11 20:51:54 +01: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
Kévin Commaille
6c7fbb5e88 events: Disallow invite->knock membership change 2024-02-28 10:34:52 +01:00
SpiritCroc
631911a1de
events: Add filename and formatted fields to media messages
For MSC2530 media captions
2024-02-27 11:40:56 +01:00
Matthias Ahouansou
1a1c61ee1e events: change type of state_key field of HierarchySpaceChildEvent to OwnedRoomId 2024-02-24 20:30:44 +01:00
Matthias Ahouansou
c00085b520 events: Implement From<JoinRule> for SpaceRoomJoinRule 2024-02-14 14:27:21 +01:00
Stefan Ceriu
68c9bb0930
Add support for MSC2867 - Manually marking rooms as unread 2024-01-26 23:28:11 +00:00
Richard van der Hoff
9d81576af7
events: Correct properties of SecretStorageV1AesHmacSha2Properties
The `key` and `iv` properties of this type are, and have always been, optional according to the spec.
2024-01-18 13:54:39 +00:00
Kévin Commaille
a7e1d7fa49 events: Split method to get power level to redact between own and others events 2024-01-11 16:46:36 +01:00
Kévin Commaille
7c49b84e6d events: Add convenience method to check if a user can changed another user's power level 2024-01-02 14:33:09 +01:00
Kévin Commaille
06ac62213c events: Add convenience methods to check if a user can unban users 2024-01-02 14:33:09 +01:00
Kévin Commaille
9d9827c165 events: Add convenience methods about actions to other users according to power levels
Some of these actions are limited by the power level of the other user.
2024-01-02 14:33:09 +01:00
Kévin Commaille
df1a63909a events: Implement From<RoomPowerLevels> for PushConditionPowerLevelsCtx 2023-12-03 13:03:06 +01:00
Jonas Platte
ec54fd99de
Merge branch 'ruma-0.9.x' 2023-11-27 16:19:31 +01:00
Jonas Platte
23c2b9546d
Release ruma-events 0.27.11 2023-11-27 16:17:39 +01:00
Timo
ef9f790928
events: Add CallNotify event as described by MSC4075
https://github.com/matrix-org/matrix-spec-proposals/pull/4075
2023-11-27 16:17:23 +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
6639c727ae
Merge branch 'ruma-0.9.x' 2023-11-22 20:02:17 +01:00
Jonas Platte
877b1c63fe
Release ruma-events 0.27.10 2023-11-22 19:52:20 +01:00
Jonas Platte
1328e52387
events: Deprecate relations event_id methods 2023-11-16 14:27:23 +01:00