events: Remove m.room.message.feedback

According to MSC3582
This commit is contained in:
Kévin Commaille 2022-06-20 18:11:37 +02:00 committed by Kévin Commaille
parent d729c0f4cd
commit 8081878934
5 changed files with 1 additions and 53 deletions

View File

@ -16,6 +16,7 @@ Breaking changes:
* Remove `RoomName` / `OwnedRoomName` and replace usages with `str` / `String`
* Room name size limits were never enforced by servers
([Spec change removing the size limit][spec])
* Remove `RoomMessageFeedbackEvent` and associated types and variants according to MSC3582
[spec]: https://github.com/matrix-org/matrix-spec-proposals/pull/3669

View File

@ -81,7 +81,6 @@ event_enum! {
"m.reaction" => super::reaction,
"m.room.encrypted" => super::room::encrypted,
"m.room.message" => super::room::message,
"m.room.message.feedback" => super::room::message::feedback,
"m.room.redaction" => super::room::redaction,
"m.sticker" => super::sticker,
#[cfg(feature = "unstable-msc3553")]
@ -358,7 +357,6 @@ impl AnyMessageLikeEventContent {
| Self::CallInvite(_)
| Self::CallHangup(_)
| Self::CallCandidates(_)
| Self::RoomMessageFeedback(_)
| Self::RoomRedaction(_)
| Self::Sticker(_)
| Self::_Custom { .. } => None,

View File

@ -16,7 +16,6 @@ use crate::{
mod audio;
mod content_serde;
mod emote;
pub mod feedback;
mod file;
mod image;
mod key_verification_request;

View File

@ -1,49 +0,0 @@
//! Types for the [`m.room.message.feedback`] event.
//!
//! [`m.room.message.feedback`]: https://spec.matrix.org/v1.2/client-server-api/#mroommessagefeedback
use ruma_macros::EventContent;
use serde::{Deserialize, Serialize};
use crate::{serde::StringEnum, OwnedEventId, PrivOwnedStr};
/// The content of an `m.room.message.feedback` event.
///
/// An acknowledgement of a message.
///
/// N.B.: Usage of this event is discouraged in favor of the receipts module. Most clients will
/// not recognize this event.
#[derive(Clone, Debug, Deserialize, Serialize, EventContent)]
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
#[ruma_event(type = "m.room.message.feedback", kind = MessageLike)]
pub struct RoomMessageFeedbackEventContent {
/// The event that this feedback is related to.
pub target_event_id: OwnedEventId,
/// The type of feedback.
#[serde(rename = "type")]
pub feedback_type: FeedbackType,
}
impl RoomMessageFeedbackEventContent {
/// Create a `RoomMessageFeedbackEventContent` from the given target event id and feedback type.
pub fn new(target_event_id: OwnedEventId, feedback_type: FeedbackType) -> Self {
Self { target_event_id, feedback_type }
}
}
/// A type of feedback.
#[doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/doc/string_enum.md"))]
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
#[ruma_enum(rename_all = "snake_case")]
#[non_exhaustive]
pub enum FeedbackType {
/// Sent when a message is received.
Delivered,
/// Sent when a message has been observed by the end user.
Read,
#[doc(hidden)]
_Custom(PrivOwnedStr),
}

View File

@ -369,7 +369,6 @@ fn serialize_and_deserialize_from_display_form() {
serde_json_eq(EventType::RoomJoinRules, json!("m.room.join_rules"));
serde_json_eq(EventType::RoomMember, json!("m.room.member"));
serde_json_eq(EventType::RoomMessage, json!("m.room.message"));
serde_json_eq(EventType::RoomMessageFeedback, json!("m.room.message.feedback"));
serde_json_eq(EventType::RoomName, json!("m.room.name"));
serde_json_eq(EventType::RoomPinnedEvents, json!("m.room.pinned_events"));
serde_json_eq(EventType::RoomPowerLevels, json!("m.room.power_levels"));