461 Commits

Author SHA1 Message Date
strawberry
9a5bfad849 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-06-30 11:54:39 -04:00
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
strawberry
fd686e7795 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-06-10 16:57:10 -04: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
strawberry
042444dc1d Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-05-21 21:31:00 -04: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
strawberry
62aca1e976 feat: add undocumented org.matrix.room.preview_urls room state event
this is an undocumented room state event that at least Element uses to
disable/enable URL previews by default for the entire room. we'd like
to use this to disable URL previews in the conduwuit admin room where we
have large message blocks with some text that clients may render as URLs,
or a list of domains from the server config output.

also see https://github.com/matrix-org/matrix-spec/issues/394

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-12 17:12:19 -04: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