417 Commits

Author SHA1 Message Date
Jonas Platte
1a138ed6c9 Use workspace lint configuration instead of rustflags hack 2024-09-11 07:13:32 +00:00
Kévin Commaille
8f288cc1f2 events: Replace deprecated lint in UI test 2024-09-07 17:11:13 +02:00
Kévin Commaille
a56787e506 chore: Fix new clippy lint
The new lint that is handled here is
too_long_first_doc_paragraph.
2024-09-07 17:10:18 +02:00
Kévin Commaille
88f56b0e00 html: Upgrade html5ever
Requires a complete change of the HTML tree, to have interior mutability
and be able to return borrowed data from a Handle.
It is now a Rc-based tree where each node has a weak reference to
its parent and strong references to its children.

This results ina few breaking changes to the public API.
2024-09-07 09:56:02 +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
0ea496b138 events: Upgrade pulldown-cmark 2024-09-06 09:59:47 +02:00
Timo
642c981f99
MatrixRTC: fix call member parsing by using the correct focus_active format. (#1888)
`focus_select` -> `focus_selection`
2024-08-21 17:51:12 +02:00
Andrew Ferrazzutti
82417e3940
events: Loosen type of call member event state keys
Allow MSC3401-style call membership state events to have state keys that
are arbitrary strings, and not just pure MXIDs.

This allows for state keys that are suffixed with the sender's device
ID, as well as ones prefixed by an underscore to bypass auth rules over
state keys that start with a `@` but do not strictly equal an MXID.
2024-08-10 09:41:46 +02:00
Kévin Commaille
04654f8833 chore: Fix new clippy warnings 2024-07-29 20:03:44 +02:00
torrybr
7f562fe67e
events: use web-time instead of std::time for BeaconInfoEventContent 2024-07-08 10:18:03 +02: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
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