168 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
strawberry
042444dc1d Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-05-21 21:31:00 -04: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
Jonas Platte
2a6d31a023
Upgrade pulldown-cmark from 0.9 to 0.10 2024-04-28 22:50:39 +02: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
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
c00085b520 events: Implement From<JoinRule> for SpaceRoomJoinRule 2024-02-14 14:27:21 +01: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
740f357e97
events: Don't fail event content parsing on invalid relation 2023-11-16 14:12:55 +01:00
Kévin Commaille
e409d22ea0 Fix fallback text field name for extensible events in RoomMessageEventContentWithoutRelation::make_reply_to_raw() 2023-11-14 19:53:37 +01:00
Jonas Platte
e8bc589e52
Transition to type privacy lints 2023-11-09 09:50:04 +01:00
Jonas Platte
37c93d57e5
events: Change rich_reply.md to not require specific symbols to be in scope
… for intra-doc links.
2023-11-08 17:49:00 +01:00
Kévin Commaille
9c385a707f events: Improve compatibility of unstable voice messages
Use the same parameters as Element clients.
2023-10-11 15:42:32 +02:00
Alfonso Grillo
530d0afdc8
events: Add unstable voice message types initializers 2023-10-11 08:28:00 +00:00
Jonas Platte
e7ed90ad0f
events: Add RoomMessageEventContentWithoutRelation::add_mentions 2023-10-10 09:54:11 +02:00
Jonas Platte
440a563355
event: Add reply-making methods to RoomMessageEventWithoutRelation 2023-10-10 09:54:11 +02:00
Jonas Platte
533beb600f
events: Add convenience c'tors to RoomMessageEventContentWithoutRelation 2023-10-09 16:02:07 +02:00
Jonas Platte
0f023c5222
events: Move RoomMessageEventContentWithoutRelation into separate module 2023-10-09 16:00:28 +02:00
Jonas Platte
25d0b3ce59
events: Move message relation types into separate module 2023-10-09 15:59:49 +02:00
Jonas Platte
cf59d6ecb1
events: Re-group imports, re-exports in room::message 2023-10-09 15:55:08 +02:00
Jonas Platte
9b1f7363a0
events: Move replacement body text generation to MessageType
… from RoomMessageEventContent.
2023-10-09 15:26:27 +02:00
Jonas Platte
9b94117bf2
events: Move reply fallback generation to MessageType
… from RoomMessageEventContent.
2023-10-09 15:12:52 +02:00
Jonas Platte
5c570b1604
events: Change AddMentions::Yes to only mention the original sender 2023-10-09 14:44:35 +02:00
Jonas Platte
935ac70e28
events: Add missing track_caller attribute
Without this one, the `#[track_caller]` in `make_reply_to` and
`make_reply_to_raw` were pointless.
2023-10-09 13:57:31 +02:00
Kévin Commaille
5040aa2a93 events: Allow to build reply to raw events 2023-09-20 12:18:21 +02:00
Jonas Platte
bc48eb2162
events: Ensure that all public items are documented 2023-09-20 11:52:25 +02:00
Jonas Platte
5907544166
events: Add ReplacementMetadata
… to allow creating replacements without having the full original event.
2023-09-20 11:37:39 +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
Kévin Commaille
6da56dc541 events: Add compat feature to send empty string to unset room name 2023-09-13 17:28:57 +02:00
Jonas Platte
dad3c70d9d
events: Fix missing re-export of new unstable types 2023-09-12 15:53:07 +02:00
Jonas Platte
a8180722f4
events: Add support for voice messages as implemented by Element Web 2023-09-12 10:20:38 +02:00
Kévin Commaille
b4853aa8fa events: Add method on RoomMessageEventContent to apply a replacement 2023-09-04 14:11:33 +02:00
Kévin Commaille
ba973c98f1 html: Expose sanitize API on Html 2023-08-29 11:19:48 +02:00
Jonas Platte
399adc911f Use as_variant crate for shorter code 2023-08-28 19:31:39 +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
Kévin Commaille
c3f9a3cb70
common: Merge ruma-events into ruma-common 2022-03-04 11:45:07 +00:00